Guide – Logga till Thingspeak

Vill du ha grafer på exempelvis Arduino, Esp8266 eller liknande utrustning hemma, men saknar ork eller lust att alltid ha en dator igång? I så fall är den här guiden för dig!

Jag har skrivet den här guiden på hur du loggar direkt till internet utan dator eller extra utrustning gratis. Inom några få minuter är du igång och får snygga grafer som går att länka till din hemsida privat eller publikt.

Grafen ovan är “live” och visar temperaturen utanför mitt hus. Data skickas till Thingspeak från en nätverkskopplad Arduino var 5:e minut. Jag har valt att ha just den här grafen publik för att visa hur snyggt det blir automatiskt, längst ner på sidan har jag en graf med ljus.

Val av IOT tjänst

Jag valde att skriva en guide om Thingspeak eftersom den är en relativt populär tjänst och dessutom helt gratis. Från registrering tills att jag skickade mitt första värde som skulle loggas tog det ca 3 – 5 minuter! Inkluderat tiden jag tog anteckningar för att skapa den här guiden!

Graferna skapas sedan automatiskt, det går att välja om dom ska vara publika eller privata med några få klick.

 

Vad är Thingspeak

Thinkspeak är en sida på internet där man gratis kan spara data,  inriktningen är IOT (Internet Of Things), det har även börjat kallats IOE (Internet Of Everything) eftersom allt kopplas upp mot internet.

Genom att besöka en förutbestämd http adress med ett värde på slutet så sparas data hos Thingspeak på din egna kanal. Med några få rader http kod kan man sedan länka färdiga grafer på egna sidor, som jag gjort på den här sidan. Detta gör det möjligt att komma igång med hemautomation snabbt, enkelt och snyggt.

Jag visa i guiden allt jag behövde göra för att komma igång och logga till Thingspeak. När du är klar kan du skippa krav på att alltid ha en aktiv dator hemma för att få fina grafer.

Så här gör du:

Börja med att gå till adressen:  Thingspeak

Thingspeak-1

Längst upp till höger finner du “sign up” om du inte har ett konto redan.

 

Thingspeak-2

Hitta ett ledig användarnamn  och välj ett starkt lösenord.

 

Thingspeak-3

Nu när du har ett konto och loggar in för första gången så behöver du skapa en kanal, dvs en plats där du vill att dina värden ska sparas. Välj “new Channel”

 

Thingspeak-4

Jag väljer att skapa en ny kanal där det ska finnas tre grafer, det går att ha ända upp till åtta olika fält i varje kanal. Jag valde att skapa följande tre.

  • Field 1 – Temperatur
  • Field 2 – Luftfuktighet
  • Field 3 – Ljus

 

Thingspeak-5

Om allt gick som det skulle så bör du nu komma till en sida där du ser en övergripande vy över din kanal. Det är va allt som behövdes för att sätta upp loggningen! Riktigt smidigt och väldigt enkelt.

 

Hur skickar man data till graferna?

Thingspeak-6

För att skicka data till graferna så väljer du att öppna “Data Import / Export”.

 

Thingspeak-7

För att nu skicka data till din nyskapade kanal så går det att kopiera länken som jag ringat in med rött. i slutet av webblänken så står det default “Field1=0”, det är det enda du behöver intressera dig av för tillfället.

  • SKYDDA DIN API KEY! det den som visar vem du är och gör det möjligt att skicka data!

Tidigare valde jag att skapa tre st fält i min kanal, för att nu skicka data till dessa fält så gäller följande:

  • Field1 =  Temperatur
  • Field2 = Luftfuktighet
  • Field3 = Ljus

 

För att uppdatera min graf med en temperatur på 33,3 grader skrivs följande:

  • https://api.thingspeak.com/update?key=DINAPIKEY&field1=33,3

För att uppdatera min graf med en luftfuktighet på 70% skrivs följande:

  • https://api.thingspeak.com/update?key=DINAPIKEY&field2=70

För att uppdatera min graf med ljusvärde på 378 skrivs följande:

  • https://api.thingspeak.com/update?key=DINAPIKEY&field3=378

 

Jag valde att göra min testgraf publik för att visa hur enkelt det är att länka egna grafer. Vad jag kan se så är det en begränsning på 15 sekunder som tätaste uppdateringsfrekvens.

Koden som behövs för att kopiera grafen till en hemsida fås genom att klicka på grafen på thingspeaks hemsida:

Thingspeak-14

 

 

Graf över hur ljust det är ute i söderläge (0-1024)

Html koden som behövs för att göra en snygg graf av datat är följande:

<iframe style=”border: 1px solid #cccccc;” src=”http://api.thingspeak.com/channels/53714/charts/3?width=450&amp;height=260&amp;results=180&amp;dynamic=true” width=”450″ height=”260″></iframe>

  • Ändrar du värdet 180 till ett mindre, exempelvis 60 som är standard så visas färre mätpunkter i grafen.

Det finns även möjlighet att hos Thingspeak skapa “triggrar” om ett visst värde överstiger eller understiger givna kriterier. Jag kommer dock inte att skriva om detta nu utan det blir i nästa guide om intresset finns 🙂

Jag kommer även att komplettera mitt ESP8266 projekt med thingspeak instruktioner / kod framöver. Dom som vill logga data lokalt kan nyttja mitt alternativa loggningsprogram som fungerar på liknande sätt.

Vill du ha mer guider på Thingspeak?

View Results

Loading ... Loading ...

Kom ihåg att gilla oss på Facebook för att inte missa nästa smarta tips gällande Hemautomation! Det visar oss att det är värt att fortsätta dela idéer om hemautomation och att du gillar det vi skriver.

 

// Ispep

Guide – Logga till Thingspeak
Ge ett betyg på innehållet

12 kommentarer

  1. Bra tips på “loggningsida” , då jag själv har en Vera och deras loggnings funktioner avsaknads så är jag på jakt på att hitta en tjänst där det är möjligt att logga. Vet du om det går att skicka data från Vera till Thingspeak? Eller ev. har tips liknade tjänst som fungera med den?

  2. Ispep

    2015-08-29 at 22:15

    Hej Niklas

    Vill du logga enbart saker från Veran så skulle jag nästan rekommendera DataMine appen om du inte redan har testat den på Veran.
    Vi skrev om den tidigare här: https://www.automatiserar.se/guide-vera-ui7-app-datamine/

    Vill du inte vänta tills nästra guide kommer så kan du börja testa att ändra i följande Luup kod:
    luup.inet.wget(“https://api.thingspeak.com/update?key=DINAPIKEY&field1=33,3”)

    Om du avvaktar några dagar så kommer jag att göra en guide med olika sätt att logga till ThingSpeak, Jag kommer bland annat göra några exempel med LUUP och Vera, i och med det så kan du köra med ThingSpeak om du vill med 🙂

    // Ispep

    • Har tidigare kört datamine appen, men då min vera blev totalt koko av den efter ett tag så avstår jag gärna datamine, så jag väntar tål modigt några dagar på nya guider 🙂

  3. TJenare

    LIte nyfiken på hur din nätverkskopplade Arduino + kod ser ut..
    Är detta nått som kommer visas längre fram eller

  4. En guide utöver den annonserade skulle kunna vara att mata ThingSpeak med data från Eliq. En graf med t.ex. inomhus temperatur i kombination med elförbrukning skulle varit riktigt coolt.

    /J

  5. Ispep

    2015-08-30 at 22:05

    Hej

    Niclas:
    Stommen i koden kommer från mitt tidigare Arduino projekt:
    https://www.automatiserar.se/arduino-bygg-en-multisensor-till-vera/
    Vill du inte vänta på nästa inlägg så är detta vad jag har ändrat i koden från den sidan:

    Ändra “vera ip” och “vera port”, samt skicka GivarID som värde 1 – 8 (beroende på vad du valde på Thingspeak) , int MittValue) (använd MittValue som vanligt)

    client.print(”GET /data_request?id=variableset&DeviceNum=”); < == ändra det till: client.print(”GET /update?key=DINAPIKEY&field) Ändra client.print(”&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature&Value=”); till client.print(”="); Tänkte försöka göra en guide och exempel på olika system för att posta information från huset upp till ThingSpeak. Den kommer att komma väldigt snart hoppas jag 🙂 Jonte: Jag har tyvärr inte tillgång till Eliq 🙁 Men någon annan som läser här kanske har möjlighet att hjälpa oss med det. Jag har dock funderingar på att konvertera min arduinoelmätare till Thingspeak. Eventuellt testa att få till en ESP8266 som elmätare 🙂 Arduino elmätaren: https://www.automatiserar.se/arduino-bygg-en-elmatare/

    Tack för frågorna 🙂

  6. Oki, Eliq har lyckats fantastisk bra med att skapa en öppenhet för sina kunder till sin data. Nästan all data är åtkomlig via ett enkelt REST api.

    Hur är det med Vera, kan man hämta data via REST får t.ex. en Vera Edge?

  7. Ispep

    2015-08-31 at 20:12

    Då borde det gå relativt lätt att göra nått roligt mot Eliq.

    Veras kontroller har väldigt öppna och bra API:er. Bland annat så har jag gjort en Powershell modul som wrappar runt en hel del man kan göra för att styra vera via Script:
    https://www.automatiserar.se/powershell-modul-vera-v1-4/

    Den här Windows klienten jag tidigare skrev tidigare för att styra vera lite snabbare kör fullt ut mot dessa API:er
    https://www.automatiserar.se/vera-ui7-windows-klient-v1-2/

    Tyvärr så har vi bara tillgång till Vera kontrollers så vi har svårt att säga hur pass bra API:er andra system har.
    Jag väntar svar på senaste frågan jag skickade gällande Vera Secure, den borde ha kommit men vi har ännu inte hört nått.

    // Ispep

  8. Satte nyss igång thingspeak för att logga lite elförbrukning och temperaturer i värmesystem. Med den luup-koden jag använder får jag tyvärr bara in ett enda värde. Nybörjare med luup, så det är antagligen nåt riktigt uppenbart fel jag gjort:

    luup.inet.wget(“https://api.thingspeak.com/update?key=*************&field1=”..luup.variable_get( “urn:micasaverde-com:serviceId:EnergyMetering1”, “Watts”, 42))
    luup.inet.wget(“https://api.thingspeak.com/update?key=*************&field2=”..luup.variable_get( “urn:micasaverde-com:serviceId:EnergyMetering1”, “Watts”, 39))
    local pumpHot = luup.variable_get( “urn:micasaverde-com:serviceId:TemperatureSensor1”, “CurrentTemperature”, 106)
    local pumpCold = luup.variable_get( “urn:micasaverde-com:serviceId:TemperatureSensor1”, “CurrentTemperature”, 105)
    local delta = pumpHot – pumpCold
    luup.inet.wget(“https://api.thingspeak.com/update?key=*************&field5=”..delta)

  9. Ispep

    2015-11-13 at 15:25

    Hej

    Maskade din nyckel i kommentaren med ******, men för säkerhets skulle skulle jag nog generera en ny 🙂

    Du gör helt rätt, problemet är att Thingspeak har en begränsning på 15 sek / loggning.

    Lägg en Delay mellan varje postning på 18 sek eller nått eller posta allt i samma wget.

    Kan försöka göra ett exempel på hur du får in alla 5 i samma wget sedan 🙂

    // Ispep

  10. Tackar! Hade visserligen redan fejkat min nyckel, men tack för att du tog det säkra före det osäkra i alla fall! Klurade ut hur man kunde skicka flera värden på samma gång; det är bara att lägga till fler &field2=67&field3=87 osv.

  11. Ispep

    2015-11-14 at 10:28

    Anande att du bytt, men som sagt tog de säkra före de osäkra 🙂

    Körde själv fast ett bra tag med innan jag hittade att Thingspeak begränsade uppdateringsfrekvensen.

    // Ispep

Kommentera

E-postadressen publiceras inte.

*

© 2017

Tema av Anders NorenUpp ↑

%d bloggare gillar detta: