Badtemperatur via wifi


Här följer en webbsida som snabbt och fult förklarar hur jag byggde min trådlösa badtermometer. Hjärnan i själva operationen är en ESP8266 i form av en Wemos D1 Pro som kopplar upp sig var 71 minut till mitt wifinätverk och överför temperaturen till en Domoticz-server. Avståndet från mitt hus till badstegen är nästan 200 meter. Jag kör med en unify ac lite som AP i huset.

Följande behövs för bygget:

1. Plastlåda för komponenterna. Denna kostar 5 spänn hos Flying Tiger och är söt. UPDATE: I version två kör jag med en lite större låda som har plats för en solpanel, samt är vattenskyddad och har ett enkelt sätt få en kabelgenomföring tät. Det är en Sonoff IP66 Waterproof case. Jag har även skrotat den externa antennen då det funkar fint med antennen som sitter på Wemosen.

sonoffip66

flyingtiger

2. Wemos D1 Pro

wemosd1pro

3. Antenn till Wemos D1 Pro Kräver att man flyttar en pytteliten komponent på Wemosen

antenn


4. Batteri. Denna modellen är käck eftersom du kan koppla in det direkt till 3.2V utan regulator. De kommer laddade, men köp även en laddare då de är uppladdningsbara.

Batteri

5. Ett motstånd på 4.7 kiloohm (Jag hade inget och körde med 5 kohm och det funkade också)

resistor

6. Själva tempgivaren. UPDATE: Bytt till en lång så jag kan sätta givaren en meter ner och undvika ytvattnet.

tempgivare

7. Kablar. Typ sådana här. Jag använde även en lödpenna, lödtenn, tejp och smältlim för att få ihop bygget.

kablar

Nu när vi har alla grejer så kan vi börja bygga.

Steg ett är att flasha Wemosen med lämplig firmware. ESP Easy funkar perfekt för ändamålet. Följ länkade guiden som visar hur man gör detta. Börja lattja lite med inställningarna och bekanta dig med ESP Easy.

När detta är klart kan du börja löda. Här är en skiss som visar hur du ska koppla. Batteriet kopplas till 3V3 (plus) och G (minus)
Sensorn kopplas till 3V3, G och själva dataöverföringen till D4
Motståndet kopplas mellan 3V3 och D4.

För att deep sleep ska fungera måste du även koppla reset till D0.

skiss

Skapa en Dummyswitch i Domoticz för termometer och kolla vilket IDX-värde du får. Använd detta värde i ESP Easy-inställningarna  för att få Domoticz att ta hand om inkommande temperaturer från ESP easy

domoticz


Här är inställningarna jag kör i ESP Easy

espeasy
espeasy

espeasy

Nu ska allt funka i Domoticz och termometern uppdaterar temperaturen typ var 72 minut. All övrig tid går Wemosen ner i deep sleep för att spara batteri. Det sista steget jag kör är att exportera data från Domoticz till en textfil som jag därefter ftpar upp till http://hoppaiplurret.se
Exporten sker med hjälp av ett LUA-script

lua
commandArray = {}
if (devicechanged['badstegen_Temperature']) then
        local file = io.open("/home/pi/domoticz/aktuelltemp.txt", "w")
                file:write(tonumber(devicechanged['badstegen_Temperature']))
                        file:close()
                        end
                        return commandArray


Bygg en webbsida

Jag utgick från koden som används på vecka.nu Finns att hämta här: https://github.com/veckanu/web

För grafer och historik kör jag cacti. https://www.cacti.net/