Paristokäyttöinen WiFi lämpötilasensori testissä – Testing WiFi temperaturesensor with batteries
Update: 2015-04-20.
Batteries lasted for about 11 days before the voltage was presumed to be to low as there were gaps in data (around 2.6V). Now it is hooked to a tiny solar panel with li-ion battery.
Käytin sensorin rakentamiseen vanhaa tuttua ESP8266 -moduulin 03 -versiota. Ko. versio on vaikea juottaa suoraan piirilevylle, koska siinä on kapeampi rasteri. Tätä helpottaakseni tulostin Thingiversestä löytyneen adapterin, jolla moduulin saa helposti piirilevylle kiinni ilman juotoksia.
Virrankulutuksen hillitsemiseksi moduuli laitetaan syvään udeen, kun dataa ei lähetetä. Deep sleep -moden enabloimiseksi 03 -versiossa pitää juottaa kaksi pientä pädiä yhteen moduulin vasemmassa yläkulmassa. Hyvä ohje pädien juottamiseen löytyi täältä.
Firmwarena toimi tuorein NodeMCU ja ohjelmakoodin pohjana käytin kengun aiemmin kirjoittamaa koodia. Oleellinen lisäys oli node.dsleep(300000000) lisäys http yhteyden disconnection -lohkoon. Tämä siis laittaa moduulin nukkumaan 5 minuutiksi datan lähettämisen jälkeen.
Jätin wifi sensorin lähettämään dataa thingspeakiin. Jännityksellä odotan miten kauan patterit kestävät, kun lämpötila lähetetään 5 minuutin välein.
I used ESP8266 wifi module version 03 for my battery testing. This version is difficult to solder, because it does not fit to regular prototype board raster. For solving this problem by printing adapter found from Thingiverse. I can easily mount module to the board with that.
ESP8266 needs to go deep sleep mode for saving energy between data sending operations. For enabling deep sleep mode I needed to solder two very small pads to gether. I found good guide with great pictures from here.
I used latest NodeMCU as firmware and lua code I copied from kengu’s previous post about similar setup, which does not have energy saving. I added node.dsleep(300000000) where http connection is disconnected. That line puts module to sleep for 5 minutes.
I left wifi sensor sending data to thingspeak. It is exciting to see how long it last.
Miten paristot kestivät 5 minuutin välillä?
Nostitko / laskitko aikaa?
Paljonko härveli vie energiaa sleepissä?
Itse ajattelin testata vastaavaa setuppia, useammalla Dallasilla ja NiMh-akuilla aurinkopaneelin kera.
Siellä se vielä päivittää tyytyväisesti tietoja internettiin. Että ainakin vielä ovat kestäneet.
Jatkamme odotusta jännityksellä 🙂
Paristojen volttimäärä olisi varmaan ihan kiva info käydä kerran päivässä tms. mittailemassa?
ESPillä pystyy myös itsellään mittaamaan vcc:hen tulevan jännitteen. Sehän olisi hieno laittaa lämpötilan mukaan
Muutama päivä sitten laitoinkin ko. tiedon mukaan tulemaan. Katsoppa jännitekäyrä tuolta Thingspeakista.
Ei kannata käyttää NiMh-akkuja pienen aurinkopaneelin kanssa. Niistä vuotaa energia pois liian nopeasti. Käytä LiPo tai muu litiumioniakku ja energy harvesting laturipiiriä.
Datalehdessä on kirjoitettu aika tarkasti paljonko se kuluttaa, mutta voisi tietysti mitata virtaa tai seurata jännitettä ja laskea energian siitä.
11.4.2014 aamuyöstä laitoin lähetyksen päälle ja nyt vielä ainakin pelaa 🙂 Mittasin virran kulutusta simppelillä USB -virtamittarilla, joka osaa näyttää 0.01Ah tarkkuutta ja se näytti sleepissä nollaa ja ajossa 0.07-0.01Ah. Sen tarkemmin en mitannut.
Itseänikin kiinnostaisi aurinkopaneeli + energy harvesting laturipiiri. Pitäisi tutustua aiheeseen.
Kengun peruskoodi toimii hienosti. Yritin saada sleep – modauksen toimimaan, mutta ohjelma jää jostain syystä jumiin…Voitko laittaa sen disconnect lohkon jälkeen tarvittavat muutokset ? Vaatiiko tuo sleepin aktivointi vielä joitan johdotuksia? Samoin koodi jolla saisi paristojännitteen thingspeakiin olis hieno homma.
Mitenkäs tuota koodia, pitäisi modata jos haluaisi 3x DS18B20 Tikittämään ja rupattelemaan ThingSpeakiin, tuolla ESPillä olisi kyllä verkkopoweri, pitämässä sitä hengissä…
Ollaan siirrytty käyttämään ArduinoIDEä tuon lua:n tilalla. Hiukan näppärämpi ja ehkä modernimpi keino tuottaa koodia ESPille, veikkaan että löytyy myös esimerkkejä nykyään paremmin.
https://vaasa.hacklab.fi/2016/02/06/esp8266-on-nodemcu-board-ds18b20-arduinoide-thingspeak/
Ja tuossa on yksi erilainen esimerkki, https://github.com/nekromant/esp8266-frankenstein/issues/23
Ja tuossa on arduinoIDEllä ilmeisesti ratkaistu sama ongelma: http://www.esp8266.com/viewtopic.php?f=6&t=4079&start=20