Soms wil je een sensor op een plek hangen in je smarthome waar je geen stroomvoorziening hebt. Dan is je sensor aansluiten op een accu een uitkomst. In deze blogpost lees je hoe je een ESP WiFi chip op een accu of batterijen kunt laten werken en hoe je de accuspanning rapporteert aan Domoticz.
Om deze blogpost uit te kunnen voeren heb je een aantal componenten nodig:
- Wemos D1 mini, een ESP8266 WiFi chip met serial converter op een compact bordje. Je hoeft alleen maar te verbinden met USB, eenmalig software te installeren (flashen). Werkt daarna volledig via WiFi. Gaat automatisch in flash mode enz.. Vergeet niet dat je een micro USB kabel nodig hebt.
- Wemos Battery shield, een shield voor op de Wemos waarmee je eenvoudig Lipo accu’s kunt aansluiten. Je hoeft je geen zorgen te maken over de spanning, de 3.7V wordt omgezet naar 5V en 3.3V. Het bevat ook een Lipo laadcircuit.
- Weerstand 100k ohm
- Lipo accu
Wemos D1 mini op een Lipo accu aansluiten – in het kort
Om de Wemos op een Lipo batterij te laten werken soldeer je de male headers op het battery shield en aan de Wemos D1 mini female headers. Als dat klaar is kun je de lipo accu op het battery shield aansluiten. Dat doe je door het kleine stekkertje van de accu op de grote witte aansluiting te schuiven. Het stekkertje aan de lipo accu is eigenlijk te klein, maar het past wel en zit best stevig. Let op de + en – polen! Bij verkeerd aansluiten is het game-over!
Als de accu voldoende opgeladen is zal de Wemos aangaan en opstarten. Het werkt! Mocht de lipo niet voldoende spanning hebben, kun je ‘m eerst opladen via het shield. Je sluit daarvoor een micro USB kabel aan op de USB aansluiting van het shield en de rode led begint te branden. De lipo gaat nu opladen. Als de led groen brand, is de lipo klaar met opladen.
Accuspanning monitoren met Domoticz
Door het gebruik van een accu kun je bijvoorbeeld een draadloze WiFi thermometer maken en overal ophangen in je huis. Volg mijn blogposts zodat je een WiFi thermometer maakt die de temperatuur doorgeeft aan Domoticz op basis van ESPeasy.
WiFi Themometer maken stappenplan in het kort:
- Sluit de DHT22 sensor aan op de Wemos
- Flash ESPeasy op de Wemos
- Stel ESPeasy in voor jouw WiFi en Domoticz
- Check of de data binnenkomt
Daarna:
- Soldeer de 100kΩ weerstand tussen de A0 en + poot van de batterij aansluiting.
- Prik de Battery shield op de Wemos
- Sluit de accu aan op het shield
- Check of alles weer werkt
Domoticz instellen
Om de accuspanning te rapporteren aan Domoticz gaan we een nieuwe dummy aanmaken in Domoticz. Dit is een dummy van het type “Spanning”.
- Ga naar Instellingen -> Hardware
- Maak een Dummy hardware aan als je die nog niet hebt.
- Maak een virtuele sensor aan van het type Spanning
- Ga naar Instellingen -> Apparaten. Zoek je Spanning dummy op en schrijf het idx op.
- Navigeer naar het IP-adres van je Wemos D1 mini.
- Ga naar het tabblad devices klik bij een van de regels op edit.
- Kies uit de lijst “Analog Input”
- Vink “Enabled” aan
- Vul bij “Send to controller” het idx in
- Vul bij formula het volgende in: (%value%/1024)*3.7
%VALUE% is de waarde van de analog input op een schaal van 0 – 1023. Als het voltage 0V is, is deze waarde ook 0. Is de accu volledig opgeladen, dan zal de waarde van A0 1023 worden. Om dat te vertalen in een spanning delen we het door 1024 (0-1023 zijn 1024 stappen) en vermenigvuldigen dat met de maximale spanning van de batterij, 3.7V. Je kunt dus redelijk nauwkeurig het voltage uitlezen!
Bevestig de instellingen en controleer of de data binnenkomt!
Laad alarm instellen
Lipo accu’s mogen niet te ver ontladen worden. De kans bestaat dat ze kapot gaan, ontvlammen of ontploffen. Daarom is het belangrijk om de accuspanning in de gaten te laten houden. We laten Domoticz een notificatie sturen als de spanning onder de 3.5V komt.
- Klik op Notificaties bij het apparaat Spanning
- Vul bij waarde 3.5V in en kies voor kleiner of gelijk aan
- Kies de notificatie systemen die je wilt gebruiken. Als je de Domoticz App gebruikt en daar een melding van wilt ontvangen, laat dan in ieder geval GCM aangevinkt staan.
Zodra de spanning kleiner of gelijk aan 3.5V is, krijg je de melding dat je de accu moet gaan laden.
Hoe vaak moet ik de accu laden?
Mijn WiFi Thermometer draait nu al een aantal maanden probleemloos. Mijn ervaring is dat je met een 700mAh accu ongeveer om de 10 dagen je accu moet laden. Het ligt er natuurlijk aan welke sensoren er aan hangen, hoe vaak en hoe lang de Wemos online is. In mijn geval hangt er alleen een DHT22 sensor aan die om de 10 minuten zijn temperatuur doorgeeft aan Domoticz. Bij melden om de 5 minuten ging de levensduur van de accu ook ongeveer met de helft achteruit. Tussendoor staat de Wemos in Deep Sleep, dit is een energiezuinige stand van de ESP8266 waarmee hij bijna niets verbruikt.
Instellen van Deep Sleep ESP easy
Om Deep Sleep in te stellen ga je in ESP easy naar tabje config, vink je Sleep Mode enabled aan en vul je een tijd in seconden in. De langste slaap tijd die je in kunt vullen is 1 uur en 11 minuten (4294 seconden). Om de slaapstand te laten werken moet je D0 met RST verbinden. Om tijdelijk de sleep mode uit te schakelen verbind je D0 met GND. Zo kun je rustig je Wemos (her)configureren.
Hoi Wouter,
Ik had ook zo’n battery shield liggen en heb hem meteen uitgeprobeerd op mijn WemosD1R2 met zonnecollector en powerleds. Werkt prima!
Ik heb naast een mail notificatie ook meteen een http:///control?cmd=GPIO,,0 notificatie gemaakt welke een digitale pin omzet waarop een afval relais zit die het hele systeem uitzet. Ik vind het namelijker belangrijker dat de batterij save is dan dat de verlichting brandt.
Groeten en bedankt voor deze blog!
Allard
Hi Wouter,
Goed artikel dit. Heb je toevallig geëxperimenteerd met accu’s met hogere mAh? Zoals 7500 ofzo? Deze persoon (http://www.instructables.com/id/Wemos-D1-Mini-Temperaturehumidity-Monitoring/) schijnt daar goede ervaringen mee te hebben en dan doe je opeens 100 dagen met je accu ipv 10 😜.
En op de website waar hij naar linkt, zijn zelfs 17000 (!) mAh accu’s te vinden.
Hi Martijn,
Dat ziet er interessant uit! Ik heb er nog niet mee geëxperimenteerd, maar een langere accuduur zou wel een uitkomst zijn voor mijn draadloze WiFi thermometer. Maar die lipo accu’s zitten mij toch niet helemaal lekker met al die explosie een brand waarschuwingen op internet dus ik zoek naar alternatieven. Oplaadbare AA batterijen of oude fotocamera accu’s hebben vaak ook grote capaciteiten en kun je ook eenvoudig opladen.
Hallo Wouter
Na het lezen van jouw blog heb ik meteen de onderdelen besteld.
Dankzij jou heldere uitleg werkte het allemaal in één keer.
In combinatie met deze blog;
https://achtenveertig.nl/?p=354 heb ik de Wemos voorzien van een thermostaat.
Nu heb ik een mobiele thermometer! 👍🏻
Hi Wouter,
Heel mooi artikel, ik ben ermee aan de slag gegaan.
Ik heb een wemos D1 mini met een DHT22 en dat werkt goed en ik zie de waarden binnenkomen.
Ik werk nu nog met voeding van 3.3V op een breadboard, want ik ben nog aan het testen, dus ik gebruik geen battery shield met batterijen.
Ik heb in ESPEasy een device aangemaakt om spanning te meten en dat zie in nu ook tevoorschijn komen, alleen vreemd dat het schommelt tussen 5 en 7 V, terwijl ik mijn voedingspanning van 3.3V verwacht. Moet ik hier ook een weerstand gebruiken, volgens dit artikel moet er al een divider zijn, https://www.letscontrolit.com/wiki/index.php?title=Analog
Wat doe ik fout?
Welke versie ESPEasy gebruik je, want het lijkt of sleep mode niet werkt met versie R120. Ik heb alleen Sleep Mode checkbox en kan dus geen Sleep Delay zetten.
Als ik Sleep Mode activeer dan zie ik de temp en hum niet meer veranderen in Domoticz
Groeten,
Karel
Hoi Karel,
Bedankt voor je leuke reactie! Ik zal je verder op weg proberen te helpen.
Hoe meet je die spanning van 5-7v? Met een multimeter of komt dat uit ESPeasy? Ik vermoed dat het principe van de schakeling gebaseerd is op een voltage devider. Dus de waarde in het formula veld bepaald wat het voltage is:
(%value%/1024)*3.7
Heb je die 3.7 niet per ongeluk aangepast?
Ik gebruik de espeasy mega versie. Die heeft meer functies en opties. Te flashen op dezelfde manier.
Succes!
Wouter
Hoi Wouter,
Voltage waarde komt van ESPeasy. Ik had geen formula in veld, maar nu die jij gestuurd hebt ingevuld en nu is waarde 0,02.
Wat is het verschil tussen ESPeasy mega en R120?
Ik zat te denken om deze te flashen, ESP_Easy_mega-20190731_normal_core_241_ESP8266_4M.bin of ESP_Easy_mega-20190731_normal_ESP8266_4M.bin, weet niet precies het verschil maar moet het uitproberen.
Soms geeft temperature and humidity nan, weet je wat dat betekent?
Groetjes,
Karel.
Hoi Karel,
Aangezien je waarde bijna 0 is, heb je de GND’s allemaal samengevoegd tot een gezamenlijke -?
Heb geen idee wat het verschil is, ik zou de tweede doen.
Volgens Wikipedia staat NAN voor Not a Number dus het resultaat wat de sensor geeft is niet om te zeggen naar een getal. Is mijn inziens niet erg. Gebeurd bij mij ook wel eens en heeft nog niet tot problemen geleid.
Groet Wouter
hoi wouter
alles ging goed tot het eind en dan verdwijnt in een keer alles.
kan nu wemos d1 mini aansluiten maar er is niemand meer die ze ziet.
ook com poorten niet.
snap er niks meer van
B,v.D
Arie
Hallo Arie,
Wat ging goed tot het eind? De accu aansluiten, de espeasy firmware flashen, het instellen van domoticz, het configureren van espeasy? Wat bedoel je precies? Probeer de wemos even te hard resetten, zonder lipo shield en accu er aan. Heb je rook gezien of geroken? Staat de blauwe led aan?
Er kan zoveel aan de hand zijn…
Groet Wouter