ThingSpeak – Data naar ThingSpeak versturen

data zenden

Thingspeak logo

Op deze pagina vind je verschillende manieren in programmeertalen om data naar een ThingSpeak server te zenden.

Om bijvoorbeeld gegevens naar ThingSpeak te zenden is deze “API” http call nodig:


PHP (Webserver, Raspberry Pi, Synology NAS)

webservers 02Raspberry Pi 2 Model B schuin aanzicht voorkantSynology NAS DS212j

Simpele code, een GET commando is voldoende:

Onderstaande script maakt gebruik van de CURL functie in PHP:

Bron #1 /#2


Python (Raspberry Pi, Synology NAS)

Raspberry Pi 2 Model B schuin aanzicht voorkantSynology NAS DS212j

Simpele code, een GET commando is voldoende:

Moeilijke methode, gevonden hier en hier op het internet:


AT (ESP8266 met standaard AT firmware)

WiFi module ESP8266 (ESP-01) v2 bovenkant schuin ESP8266 WiFi module (ESP-12) bovenkant

Met onderstaande AT code kun je bijvoorbeeld eenvoudig via een seriele poort (TTL) of microcontroller data sturen naar thingspeak,

1) Maak internet verbinding met de ESP8266 module (AT)
2) Stel de ESP in voor simultane verbindingen:  AT+CIPMUX=1
3) Start een sessie met de thingspeak server:  AT+CIPSTART=4,"TCP","184.106.153.149",80 (4 is de kanaal ID)
4) Geef aan hoeveel bytes je gaat sturen (voeg daar 4 bytes aan toe voor /r/n):  AT+CIPSEND=4,44 (4 is de kanaal ID)
5) Geef een GET commando om de waarde door te sturen naar thingspeak:  GET /update?key=[APIKEY]&field1=[WAARDE]
Ps. vul de API KEY en WAARDE in, voorbeeld:  GET /update?key=J4P1ABCZI6ZF0ABC&field1=60

Ga je bijvoorbeeld een waarde als 1048 verzenden dan is CIPSEND 46 byte!:  AT+CIPSEND=4,46

Bron: mcuoneclipse.com


LUA (ESP8266 met NodeMCU firmware)

WiFi module ESP8266 (ESP-01) v2 bovenkant schuin ESP8266 WiFi module (ESP-12) bovenkant

Onderstaande code stuurt bijvoorbeeld elke 60 seconden (aan de passen bij tmr.alarm) sensorgegevens door naar Thingspeak.

TIP: Sluit een sensor aan, en modificeer “veld1waarde” als de waarde van de sensor, sla de code op in het bestand “init.lua“, dan wordt het script automatisch uitgevoerd bij activeren van de ESP8266 module!

Ps. Vul je SSID, wachtwoord en API key in!

Bron


ESP8266 (met ArduinoIDE firmware)

WiFi module ESP8266 (ESP-01) v2 bovenkant schuinESP8266 WiFi module (ESP-12) bovenkant

Onderstaande code stuurt bijvoorbeeld elke 60 seconden (aan de passen bij delay(60000)) sensorgegevens door naar Thingspeak.

TIP: Sluit een sensor aan, en modificeer “veld1waarde” als de waarde van de sensor, en upload naar de ESP8266 module met ArduinoIDE.

Ps. Vul je SSID, wachtwoord en API key in!

Bron


C++ (Arduino met EthernetShield W5100)

Arduino Ethernet + Micro SD Shield (W5100) bovenkant

Onderstaande code stuurt bijvoorbeeld elke 60 seconden (aan de passen bij “60L * 1000L”) sensorgegevens door naar Thingspeak.

TIP: Sluit een sensor aan, en modificeer “veld1waarde” als de waarde van de sensor, en upload naar de Arduino UNO/MEGA.

Ps. Vul je SSID, wachtwoord en API key in!

Bron: Arduino voorbeeld in ArduinoIDE


CURL (BASH, Raspberry Pi, Synology NAS)

Raspberry Pi 2 Model B schuin aanzicht voorkantSynology NAS DS212j

Deze methode gebruikt de curl (binairy), je kan het zo vanuit de shell uitvoeren:


CURL icm BASH script (Raspberry Pi, Synology NAS)

Raspberry Pi 2 Model B schuin aanzicht voorkantSynology NAS DS212j

Het volgende BASH script zal de temperatuur van de Raspberry Pi naar thingspeak zenden:

Bron


TER INFO: Beheer van het ThingSpeak kanaal

Databeheer via de API:

Kanaalbeheer via de API: