Draadloze temperatuur sensor voor Pimatic

Voor weinig geld kun je eenvoudig een draadloze temperatuur sensor bouwen die je met Pimatic kunt uitlezen. Tevens kun je diverse andere modules aansturen.

Dit artikel is tot stand gekomen via de informatie die ik gevonden heb in de blog van Koffie. Alle credits gaan dan ook naar hem uit voor dit fantastisch stukje software en aanwijzingen. Zie verder ook de Wiki van ESPimatic voor meer informatie.

Als eerste moet je de volgende hardware aanschaffen:

Breadboard

(eBay voor ongeveer Euro 1,50)

ESP8266-12E – Wifi Development Board

(eBay voor ongeveer Euro 4,50)

DS18B20 – Temperatuur Sensor

(eBay voor ongeveer Euro 1,30)
of

DHT22 – Temperatuur & Vochtigheids Sensor

(eBay voor ongeveer Euro 4,50)

2 x max7219 LED Matrix

(eBay voor ongeveer Euro 1,80)
Op de volgende links kun je nog wat meer informatie vinden over dit ESP8266-12E Wifi Development Board:

Verder is onderstaande overzicht van de pin-indeling van de NodeMCU wel handig:
We gaan nu eerst de ESP8266-12E prepareren. Zorg dat je de benodigde software hebt om een Arduino sketchfile te kunnen compileren en uploaden. Ik probeerde dit eerst op een Windows 10 machine waarvoor ik Arduino 1.6.7 had gedownload (laatste versie van dit moment). Hiermee ging het echter mis en kreeg ik allerlei compiler errors. Dezelfde problemen had ik met Arduino 1.6.7 op mijn Debian Server.

Vervolgens heb ik maar de aangeraden Arduino 1.6.5 versie gebruikt op mijn Debian server.

Aangezien dit dus een oude Arduino versie is moet je even zoeken om deze te kunnen downloaden. Ik heb deze zelf op de volgende server gevonden. Download hier het bestand ‘arduino-1.6.5-r5-linux64.tar.xz’ en voer vervolgens de volgende acties uit:

Start nu de Arduino software

Open preferences menu en voeg de volgende regel toe aan ‘Additional Board Manager URLs’

Open Boards Manager vanaf ‘Tools > Board’. Scroll naar beneden en selecteer ‘esp8266 by ESP8266 Community’. Kies vervolgens ‘install’.
Selecteer ‘NodeMCU 1.0 (ESP-12E Module)’ vanaf ‘Tools > Board’

Hierna moet je de sketch-file ESPimatic downloaden:

We gaan nu de ESPimatic code compileren en uploaden:

  1. In Arduino kies je in ‘File > Open’ menu de file ‘ESPimatic.ino’ in de directory waar je de ESPimatic hebt gedownload
  2. Zet in ‘File > Preferences’ je ‘Sketchbook location’ naar de lokatie waar je ESPimatic hebt gedownload
  3. Kies nu ‘Sketch > Verify/Compile’
  4. Sluit je ESP8266-12E board via USB aan op je computer
  5. Stel je upload poort in bij ‘Tools > Port’ (vaak /dev/ttyUSB0)
  6. Kies ‘Sketch > Upload’

Initiëel zal je ESP8266-12E nu opstarten als een Access Point (wacht totdat je ESPimatic ziet verschijnen bij je draadloze netwerken). Maak verbinding met je SSID ESPimatic en vul voor wachtwoord ‘espimatic’ in. Ga vervolgens met je browser naar 192.168.4.1 en vul je gebruikelijke Wifi gegevens in en druk op [Submit]. Als het goed is gegaan verschijnt er OK op het browser-scherm. Hierna moet je de ESP8266-12E herstarten en verbinding maken je Wifi Netwerk.

Controleer nu welk IP adres je ESP8266-12E heeft gekregen van je DHCP server en ga met je browser naar dit IP-adres. Je krijgt een simpele pagina te zien waarin je nu alle HTML bestanden die je via GIT hebt gedownload moet uploaden. Je krijgt weer OK te zien in je browser scherm als dit goed is gegaan. Je moet tenslotte de ESP8266-12E nog eenmaal herstarten voordat je de uiteindelijke ESPimatic interface te zien krijgt:

Nu moeten we ESPimatic zelf nog gaan configureren:

  • Sluit de DS18B20 sensor als volgt aan op je ESP8266-12E:
  • Indien je DHT22 sensor gebruikt sluit je deze als volgt aan op je ESP8266-12E:
  • Ga naar ‘Configure > Hardware > DS18B20’ (of ‘DHT’) en stel je temperatuur-sensor gegevens in. De variabel naam die je hier invult moet je ook zelf toevoegen in Pimatic zodat de temperatuur naar Pimatic verstuurd kan worden.
  • Ga naar ‘Configure > System > Pimatic’ en stel je Pimatic gegevens in

Nu moeten we in Pimatic nog wat aanpassingen maken:

  • Voeg de variable die je bij ESPimatic hebt toegevoegd nu ook toe aan Pimatic zelf.
  • Om deze variable te kunnen afbeelden in je frontend moet je deze ook toevoegen als een device:

Je kunt nu de temperatuur uitlezen in de User-Interface van Pimatic. Als je ook visueel je temperatuur wilt zien op de LED matrixes moet je de 2 max7119 LED Matrixes als volgt aansluiten:

Selecteer ook wat je wil zien op je matrixes (ik heb temperatuur DHT22 gekozen)
Uiteindelijk ziet het er dan als volgt uit.

Je kunt voor de LEDs nog precies instellen hoe fel je deze wilt laten branden. Op de foto zie je het niet goed, maar deze LEDs zijn erg duidelijk leesbaar.

Ik heb nu dus een draadloze temperatuur-sensor met LED aanduiding die je met Pimatic kunt uitlezen. Nu moet ik nog gaan nadenken om dit netjes in een doosje te stoppen zodat ik deze mooi kan wegzetten/weghangen. Wellicht dat ik hier in een volgende blog op terug kom.

avatar
2000
Foto en Image Files
 
 
 
Audio en Video Files
 
 
 
Andere File Types
 
 
 
6 Comment threads
16 Thread replies
2 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
ErwinDennisHenri MatthijssenMarnixHenri Matthijssen Recent comment authors

Dennis
Gast
Dennis

Hoi Henri, weer een gave leerzame blog, dank daarvoor. Ik heb wel heel wat problemen gehad om de ESP8266-12E werkend te krijgen. Als ik een DS18 temp sensor aansluit op de 3.3v naast de flash button starten alle drie de ESP8266-12E niet meer op. Na de sensors aangesloten te hebben op een andere 3.3v aansluiting werkte ze wel. Daarna schoot de ESP8266-12E in een rebootloop na het aansluiten van de DHT22 sensor op gpio 9. Ik moest vervolgens met een esptool het commando erase_flash uitvoeren en opnieuw beginnen. Hierna maar gekozen voor gpio 5 en uiteindelijk werkt alles en kan ik de temp en luchtvochtigheid zien in de gui van Pimatic. Ben jij ook tegen deze problemen aangelopen of heb ik gewoon pech gehad en de verkeerde aansluitingen gekozen 😉

Marnix
Gast
Marnix

Hoi Henri, leuke leerzame posts! Heb je inmiddels een beetje inzicht in hoelang dit op de powerbank blijft draaien voordat ie leeg is?

Henri Matthijssen
Gast

Hangt van capaciteit van je Powerbank af natuurlijk. Met een 10400 mAh powerbank en als je deep-sleep enabled moet je gemakkelijk 1 week halen. Ik zelf gebruik echter zelf een simpele USB stekker (eBay) en plaats mijn draadloze temperatuur sensor in de buurt van een stopcontact.

Dennis
Gast
Dennis

Hallo Henri,

Ik heb de ESPimatic aan het draaien en de LED Matrix geeft ooo kde temperatuur aan, maar ik krijg de temperatuur niet zichtbaar in Pimatic.

dit is de code die ik in Pimatic heb staan

Met vriendelijke groet,

Dennis

Erwin
Gast
Erwin

Hoi Henri,

Ik ben bezig met de ESP Pimatic. Ik ben op de goede weg, alleen wanneer ik een Sketch > Upload maak. Krijg ik de error: esp_comm_open failed.

De ESP8266 heeft nu alleen voeding via USB en verder heb ik niks aan de GPIO hangen. Heb jij enig idee wat ik verkeerd doe?

Dennis
Gast
Dennis

Goedemiddag,

Ik kan sinds kort mijn ESPimatic niet meer uploaden naar de ESP8266-12E, ik krijg nu elke keer meldingen dat hij de LedcontrolSPIESp8266.h bestand niet kan vinden als ik probeer te uploaden of te Verify/Compile. ik krijg onderstaande fout melding:

ESPimatic.ino:5:34: fatal error: LedControlSPIESP8266.h: No such file or directory
compilation terminated.
Fout bij compileren.

kan jij of iemand anders mij vertellen wat ik moet doen?

Met vriendelijke groet,

Dennis