Stream sensor data to Thingspeak via Arduino

37041Published On Jul 21,2016 08:33 AMshare1

I wrote this tutorial because Thingspeak -nevermind how easy to set up- has a few hurdles that I ran into and that, judging from reactions, other people are struggling withaswell.

Things you need:
WS5100EthernetShield (if you have the old ENC28J60 ethercard, look here)
Sensors (such as DHT11 and BMP180)
Internet connection
For the WiFi:
ESP8266 WiFi Module

I wanted to collect some weather-data with my Arduino and have that available as nice graphs, on a webpage, so I could also monitor it from afar
I could ofcourse just use an Arduino as a webserver, but if you want to do anything more than send numbers to a webpage, The Arduino will soon run out of memory.
There are services that can digest and publish your data: Pachube, later called Xively is a known one but currently they have a waiting list for their free accounts. Truthfully, I have a Pachube account that became a Xively account, but just never got any results on it.

There're few alternatives for Xively:

I picked 'Thingspeak'
As the signup and creating a channel etcetera is quite easy and well explained I will not go into too much detail of that. Basically after you sign up you create a channel to which you add fields where later sensors will send their data.
Under the API tab you will find an API that you later should put in your program.

I describe a simpel connection with an ethernet cable and a connection via WiFi

Step 1: Hurdles and Solutions

Step 2: The Program

Step 3: Connect to Thingspeak using an ESP8266 WiFi Module

Step 4: A Bonus

Step 5: More on the ESP8266


Related Recipes
Popular Recipes