DIY: Temperaturlogging med Arduino og/eller ESP8266

msevland

Sentralstyre
Redigert:
Det meste i denne tråden er foreldet. Gå til templogg.no for å finne de nyeste temperatur loggerne / datalogg
hilsen
msevland
2018


*** Opprinnelig post ***
Det siste året har jeg arbeidet mye med mine temperaturloggere. De har gjennomgått mange endringer siden jeg postet v1.0 tidlig i 2015.
Loggeren finnes nå i tre versjoner.
1. Gjæringslogger med Arduino og display
2. Meskelogger med Arduino, display, alarm (lyd/lys) og innstilling av alarmtemperatur på enheten
3. ESP8266-TempLogger, hvor alt kjører direkte på ESP'n uten Arduino
Alle versjonenen sender data trådløst til en Sky-tjeneste

Hva gjør Loggerne?
I korte trekk henter loggerne temperaturdata fra en eller flere sensorer ('uendelig' mange er mulig), oppdaterer et lite display dersom de har det, og sender data til en gratis skytjeneste via et trådløst kort og internett. Grafisk fremstilling av temperatur over tid er da tilgjengelig på din mobil, pc eller annet uavhengig av hvor du er, og ferske data tilgjengeliggjøres i løpet av fra 1 til 3 sekunder.


ESP8266-TempLogg
Jeg utvikler for tiden en avansert temperaturlogger for ESP8266 brikken (ESP8266-TempLogger). Lenger ned i denne posten har jeg imidlertid lagt ut DIY koden for en enkel temperaturlogger med ESP'en. Denne inneholder ingen av de avanserte funksjonene som kommer i ESP8266-TempLoggeren.

For mer om ESP8266-TempLogg som kommer for salg snarlig, gå til: templogg.no

Gjæringslogger
Første versjon var Gjæringsloggeren som ble laget for overvåking og logging av gjæring i underetasjen. Den hadde opprinnelig kun et 1602 linjers display, men er nå oppgradert til 2004 (20 tegn * 4 linjer). Alle loggerne kan lese flere sensorer. Denne versjonen har to utganger med hurtigkobling i selve enheten, men har i tillegg en hub med tre sensorer. Vanligvis har jeg tilkoblet en sensor som måler temperatur i selve kjøleskapet, og en på hver av gjæringskarene - totalt 3.



Meskelogger
Etter det har jeg videreutviklet en enhet som jeg bruker til logging av mesketemperatur. Den styrer ingen ting, men jeg bruker den til kvalitetssikring og input til bryggeloggen. Meskeloggeren har innebygget temperaturalarm (lyd/lys) med et navigeringshjul slik at du enkelt kan stille inn øvre og nedre grense på alarmen på selve enheten. Lydalarmen kan deaktiveres helt med en enkel vippebryter, mens lysalarmen alltid er aktiv.
Jeg bruker denne aktivt når jeg brygger slik at jeg kan gå fra bryggerommet uten å være redd for at temperaturen skal endre seg utover mine sett-punkter uten at jeg hører alarmen.



Sensor: DS18B20
Sensor av typen DS18B20 er vanlig å bruke til Arduino / ESP8266. Det finnes gode biblioteker som gjør innhenting av data svært enkelt. Disse kan også benyttes med OneWire biblioteket som gjør at du kan paralellkoble dem på samme kabel, så holder Arduinoen styr på hvilke signaler som hører til hvor. Jeg har derfor laget en hub i kjøleskapet mitt hvor tre sensorer er tilkoblet, og mellom hub og Arduino går det kun en treledet ledning (+ / - / signal).
Standard er tre sensorer i mitt oppsett da jeg måler to gjæringskar, og lufttemperaturen i gjæringsskapet (3 Fields per Channel).

Datalagring
Alle data lagres i skytjenesten, thingspeak.com. Dette er en gratis tjeneste som er svært enkel å sette opp og bruke. Skytjenesten lagrer 16000 datapunkter per brukerkanal (Channel). Jeg har satt opp 4 forskjellige kanaler (Gjæringskammer1 / Gjæringskammer2 / Meskelogg / Testlogg). Hver kanal kan inneholde 8 sensorer (Fields). Hvor ofte du sender data til skytjenesten, styrer derfor hvor langt tilbake i tid du lagrer data for. Jeg lagrer ca hvert tredje minutt, og har data for over 30 dager tilgjengelig. Data kan lett lastes ned til Excel, eller du kan eksportere grafene som bilder dersom du vil ha det i bryggeloggen din.

DIY
Planen var å lage en gjennomgående beskrivelse av Arduino, kode, sensorer ol., men jeg ser at tiden ikke strekker til. Jeg må jo få tid til å brygge også :)
Så her kommer en ferdig logger, men med en uferdig dokumentasjon.

Gjærings- og Meskelogger: Versjon 2.1

ESP8266-MiniLogger: Versjon 1.0
Krever beklageligvis arduino-1.6.5. Fungerer ikke på arduino-1.6.7
Se post #188 i denne tråden for mer info

I Sketchen må du endre nettverksinformasjonen til ditt nettverk. Dette gjøres her. Behold hermetegn " ":
// ****** WiFi settings / AP definitions
#define AP_SSID "Your-SSID"
#define AP_PASSWORD "your-password"


Deretter legger du inn din Thingspeak Write API Key. Dette legges inn i koden her. Behold også her hermetegn " ".
// Cloud definitions / Thingspeak API key ******
String apiKey = "CLIGLHELJGT9VT0G"; // Insert your Write API Key from ThingSpeak.com


For å koble esp'en for innlasting av koden, bruk følgende oppsett.



Når koden er lastet inn, kobler du fra GPIO0 og kobler en DS18B20 sensor til GPIO2 med 4,7K motstand på denne måten
 
Sist redigert:

msevland

Sentralstyre
Frem til nå har man måttet benytte spesialprogramvare for å flashe den, men dette blir spennende fremover. Den har hele tiden hatt muligheter for å kjøre kode som en selvstendig enhet, men det har vært mye styr, men nå ... :)

[Edit] #BEikeland jeg viste ikke at den nye ide'en allerede var klar, har du fått testet den?
 
Sist redigert:
Hei!

Bra pakke. Jeg tits på PDF dokumentet ditt.. Der du beskriver esp wifi så har du kobla denne rett på arduinoen sin 3.3 volt. Her kan du bare dra 50 mA. Fikk du dette til å virke i det hele tatt?
(Tenker på å bruke en slik esp wifi sjøl.)
 
[Edit] #BEikeland jeg viste ikke at den nye ide'en allerede var klar, har du fått testet den?[/QUOTE]
Nei, ikkje funnet tid til å leke med det enda desverre
 

msevland

Sentralstyre
Har nå satt en Lucky Jack hvor jeg test-logger temperaturforskjell mellom kjøleskap-luft-temp, probe i vann med over to liter veske, og probe isolert på gjæringskaret. Har enda ikke installert vifte, men den kommer trolig på plass i kveld.
Bruker en frostvakt på 2 meter
Du kan følge målingen som skjer automatisk hvert femte minutt her: bb.sevland.no
ImageUploadedByTapatalk1428425131.014315.jpg
 

msevland

Sentralstyre
Du ser fargekodene under grafen ved siden av graf-navnet. Disse kan du klikke på for å skru den av/på
 

Kbrygg

Norbrygg-medlem
Ser det nå. De vises ikke på nettbrettet med chrome før man ser på siden i høydeformat. Derfor så jeg ikke de først.
 
Blir oppskriften du har postet veldig forskjellig hvis man laster ned den nye IDE'en? Er det like greit å følge din oppskrift uten å bruke den nye?
 

msevland

Sentralstyre
Jeg har ikke fått sett på den nye IDE'en. Kommer tilbake med mer info når jeg har fått gjort det :)
 

TorfinnS

Norbrygg-medlem
arduinoen har jo 3,3Volt. Hva er grunnen til at man ikke kan bruke denne? Begrenset kapasitet?
 

msevland

Sentralstyre
arduinoen har jo 3,3Volt. Hva er grunnen til at man ikke kan bruke denne? Begrenset kapasitet?
Det meste av WiFi-enheter sender med en variabel styrke avhengig av hvor god forbindelsen er til den trådløse senderen. ESP8266 kan derfor ved dårlig forbindelse sende med høyere styrke enn hva Arduinoen kan levere, noe som kan skade Arduinoen. Jeg har selv koblet den direkte til Arduinoen uten problemer, men det trenger ikke bety noen verdens ting :)
Har sakset litt fra web. Med høyere Amp når den også mye lenger...
The ESP8266 module is a 3v device, but it's no wimp. It draws quite a bit of power. In fact, you'll probably need to make sure that your circuit's power supply can handle at least 1 amp of power. (In my case, I was using a simple 7.5v 500ma power supply. When I started working with this module, I switched it for a 7.5v 1amp power supply and had plenty of power.) As it turns out there is good reason for this; some Youtube videos have surfaced recently with folks seeing anything from 500 meters to a couple miles of transmission capability from this module. That's a lot of horsepower for $5.00!
 

msevland

Sentralstyre
Har kopiert dette opplegget nå. Fungerer helt supert.
Enkelt :)
Det mest skremmende med dette oppsettet, er å bestemme seg for å gjøre det. Når du har startet - ser du fort hvor lite komplisert det er :)
Det gleder meg at du nå er en Arduino logger. Usikker på hvor langt du har kopiert mitt opplegg, men dersom du ønsker bistand til å kunne lese flere grafer samtidig via HighCharts, så sender du meg bare din Channel ID, så kan jeg fixe resten for deg på mitt domene ;-)
Jeg bruker highchart for å sammenstille grafer slik bb.sevland.no
 

TorfinnS

Norbrygg-medlem
Takker for tilbudet. Har foreløpig bare kopiert det rett over. Temperaturen logges på kontoret på jobb foreløpig. Har ikke så mye erfaring med arduino, men har syslet med forskjellige mikrocontrollere opp gjennom årene, men det er jo få løsninger som slår arduinoen på enkelhet med ide og opplasting av programmer.
 

TorfinnS

Norbrygg-medlem
Har nå hatt denne liggende på kontoret på jobb i vel en uke. I løpet av denne tiden har loggingen eller opplastingen stoppet 3 ganger. Nå har den ikke lastet opp noe på 6 timer. I helga stoppet den i over et døgn før den startet igjen av seg selv. Kan det være nettet på jobb eller noe annet. Har kun en sensor og ingen display. Kun usb strømforsyning. Kan det være en ide å sette på kondensatorer på 3,3 volten? Det skal jo være det ihht databladet på spenningsregulatoren.
 
Topp