DIY: Temperaturlogging med Arduino og/eller ESP8266

ESP8266-TempLogg har fått ny kode. Største endring skjer dersom den ikke klarer å koble seg til de forhåndsprogrammerte nettverkene. Dette sikrer at den kan tas med til nye nett uten omfattende programmering.
Ved manglende nettverksoppkobling, går den fra å være en nettverksenhet til å bli en 'Hot-spot' med sitt eget nettverk. Dette nye nettverket kan du enkelt koble din mobil / bærbar pc mot og programmere enheten trådløst. Nytt trådløst nettverk kan da legges inn, og dette ligger i minnet også etter at strømmen tas (reboot).

Du finner all info i post #1

ESP8266-TempLogger kommer med følgende standardvalg
  • Sender data til ThingSpeak.com som er en gratis skytjeneste med forhåndsdefinerte intervaller.
  • Klargjort for 1 eller 4 målesensorer. Har man versjonen som håndterer 4, søker den selv og rapporterer kun på det antallet som faktisk er tilkoblet, men 4 er max på den versjonen. Antall over 4 må spesialkodes.
  • Forhåndsprogrammert med 2 SSID'er slik at den kan benyttes mot flere nettverk uten omprogrammering. I områder hvor flere av de forhåndsprogrammerte SSID'ene er tilgjengelig, vil de fungere som automatisk backup dersom en faller bort. Flere SSID'er kan lett legges inn i koden.
  • Dersom den ikke får kontakt med noen nett, går den fra å være en nettverks-enhet, til å bli en nettverks-router med sitt eget nettverk. Via mobil eller bærbar pc kan du koble deg direkte til enheten for programmering mot nytt trådløst nettverk. Dette lagres i eeprom og er automatisk tilgjengelig også etter omstart.
  • Sjekker hvorvidt den har kontakt med internett. 'Re-Connect' ved manglende 'ping'. Den forsøker da og koble seg til begge SSID'ene og eventuell SSID som er lagt inn i eeprom minnet.
  • Enheten kjører også sin egen web-server slik at man kan koble seg opp mot denne via nettverket den er tilkoblet. Flere funksjoner vil bli lagt til på web-serveren
  • Selvvalgt rapporteringsintervall til thingspeak.com. Standard er 1 minutt.
... og alt kjører på denne lille enheten.
ESP8266.jpg
 
Jeg har programmert flere funksjoner på den lille brikken. Føler jeg har nådd grensen for hva den trenger å levere :) . Alle funksjoner og web-sider ligger programmert på selve brikken slik at den ikke er avhengig av eksterne tjenester for å fungere. Mer info i post #1
ESP8266-Nett-funksjoner.jpg
 
Mulig det er jeg som er helt talentløs her, men når jeg prøver å verifisere ESP8266_Temp_To_Thingspeak_02.ino sketchen får jeg følgende feilmeldinger.

Kode:
ESP8266_Temp_To_Thingspeak_02.ino: In function 'void loop()':
ESP8266_Temp_To_Thingspeak_02.ino:36:5: error: 'WiFiClient' was not declared in this scope
ESP8266_Temp_To_Thingspeak_02.ino:36:16: error: expected ';' before 'client'
ESP8266_Temp_To_Thingspeak_02.ino:43:7: error: 'client' was not declared in this scope
ESP8266_Temp_To_Thingspeak_02.ino:65:3: error: 'client' was not declared in this scope
ESP8266_Temp_To_Thingspeak_02.ino: In function 'void wifiConnect()':
ESP8266_Temp_To_Thingspeak_02.ino:76:5: error: 'WiFi' was not declared in this scope
ESP8266_Temp_To_Thingspeak_02.ino:77:29: error: 'WL_CONNECTED' was not declared in this scope
'WiFiClient' was not declared in this scope
 
Kompilerer helt fint hos meg. Jeg testet for sikkerhetsskyld med å laste ned versjonen som lå på serveren.
Det ser mest ut som om du har et gammelt bibliotek.
Først i koden finner du lenken til de bibliotekene jeg har benyttet for denne sketchen
[Edit] Du slo meg med egen feilretting på målstreken
 
Hva gjør man når arduinoen har sluttet å logge? Det nyttet tydeligvis ikke å trekke ut strømmen. Må man laste opp sketchen på ny?
 
Merket at den sluttet å sende data til thingspeak nå på onsdag. Da er det nok dårlig kontakt som er årsaken. Har brukt breadboard, som ligger åpent sammen med arduinoen på toppen av kjøleskapet, så det er nok sensoren som har fått en rykk når jeg har åpnet døren. Skal få loddet alle ledningene når jeg får alle komponentene til ESP loggeren.

Takk for oppklaringen Sevland :)
 
Koden kjører nå på en ESP8266-TempLogger som jeg har gjort tilgjengelig for alle. Via esp8266-demo.templogg.no kan dere leke med innstillinger og web-sidene. All koden kjører direkte på den lille enheten. Dere kan også endre hvor den skal sende måledata. Jeg har nå laget et demo oppsett hos Thingspeak og på min server med HighCharts. Tilgjengelige Write API'er er esp8266-1 til 5. Highcharts grafene finner dere igjen her: http://sevland.no/bb-demo.htm
5 personer kan være tilkoblet enheten samtidig Dersom alle gjør endringer eller restarter enheten samtidig, blir det naturligvis krøll - men vi lar det stå til .. :) Jeg ser på dette som en stress-test og går ut fra at enheten skal håndtere det.
Skallet er under utvikling, og det er nå ikke lenge før den ene enheten legges ut for test-salg.
 
Sist redigert:
Hei blir det mulighet til å kjøpe julepresang til oss selv ? (Skallet er under utvikling, og det er nå ikke lenge før den ene enheten legges ut for test-salg.)
 
Tilbake
Topp