Monday, 27 January 2014

Monitoring Data with the Arduino and ThingSpeak

In conjunction with my last post I thought I would monitor my hot water tank to track the temperature variations throughout the day, mainly to use the temp change to identify when someone has taken a shower and judge the need to heat the water up so there is some left for bed time (this will be done automatically by the Arduino code).

First I searched around for a free cloud data storage solution, I'd used Pachube/COSM previously but COSM had changed hands again and I found it was always a bit unreliable for me anyway.

I tried first of all but found it quite difficult to get the UNO working with the code on offer and the help information was a bit of a mismatch with sample code not being up-to date with the latest API, having said that the forum was well supported and I got quick answers to my questions.  The main problem is that when I got it working my data on the graph contained random values which made the chart useless, I thoroughly checked the values that I was posting and the spurious data was not coming from me.  One plus was that they had an Android app on the Appstore so viewing the data was easy.

I then tried ThingSpeak, getting the UNO/Ethernet shield up and running was a lot quicker and I was posting temperature values within minutes.  Another nice feature was the ability to clear the current data from the channel, ideal when logging data during development that's not relevant to you actual job.

The chart looks nice, updates continuously and if you hover over the points a nice panel pops up with the data point details.

I've only just scratched the surface of ThingSpeak so there's still loads of stuff I just don't know about but it definitely enabled me to get up and running very quickly.  One thing missing from ThingSpeak was a dedicated Android App but after a couple of hours with App inventor I was able to put together a usable App that lets me view the data whilst out and about (sad I know).
It is also possible to embed the charts into other web pages using an Iframe.
There are plugins that can be created, there is a sample of a Google gauge but I still can't get it to work.  The forum doesn't seem to be as well supported as the one on nimbits, maybe there are less users.

The App inventor source can be found here. (updated to appinventor 2, import the aia file to app inventor 2)
The APK file can be downloaded here.
After running just type in your channel number and read key and click "set" and then "update"


Anonymous said...

How do i get the App Inventor source for the APK given. i would want to edit it for multiple sensors.Could you please reply asap?

Gadjet said...

I've updated the link to the source code (aia file) and the APK file in dropbox.

Anonymous said...

Hi, Thanks but both the links contain APK file, not aia. :(
or am i missing out something here?

Gadjet said...

Sorry, copy and paste Error!

Anonymous said...

Thank you soo much. :))))

Hot water control using a Raspberry Pi Zero W

Following on from the first blog about the hot water heating control here's what I put together for the mounting. Whilst looking for a...

Popular Posts