With ThingSpeak, you can easily create sensor logging applications, location tracking applications, and a social network of things with status updates. For starters ThingSpeak provides platform where you can send your data to using simple HTTP requests (over normal HTTP or secure HTTPS transport via Internet or LAN). The officially supported list of devices includes for example Arduino, Raspberry oi, ioBridge / RealTime.io and Electric Imp.

Because ThingSpeak has easy to use HTTP based interface (supports both POST and GET), you can send data to the service from practically any device or software that can access Internet service, let it be anything from IoT devices to a shell script running on your Linux server or special application/app. One easy way to update a ThingSpeak Channel is to use HTTP POST: You can specify any number of fields, location, or status in one message. You can also use GET if you can’t use POST in your system for some reason (you can easily testi with GET by writing the request data to web browser URL line for testing). If you have security considerations (fear of your write key or data being compromized) in your system and your IoT device suppors, consider using HTTPS to get some security. Note that the hosted ThingSpeak service has rate limit how often you can send data to it (once in 15 seconds limit) to the update URL at http://api.thingspeak.com/update. If you need faster speed, you can get the ThingSpeak service code from GitHub host it yourself locally or via a shared web host provider.

In addition to storing and retrieving numeric and alphanumeric data, the ThingSpeak API allows for numeric data processing such as timescaling, averaging, median, summing, and rounding. ThingSpeak can draw you graphs based on data (JavaScript-based charts), and you can export the stored data in various formats. The channel feeds through ThingSpeak API (HTTP interface) support JSON, XML, and CSV formats for integration into applications (for example to node.js or any other web platform). Use the Charts API to present numerical data stored in ThingSpeak Channels on charts (supported chart types are line, bar, column, and step).

Channels are where your application stores and retrieves any type of data. Every channel has a unique Channel ID. The Channel ID number is used to identify the channel when your application reads data from the channel. Each channel has a Private View and a Public View. The Private View is only accessible by signing into your ThingSpeak.com user account. The Public View is what other viewers will see. By default, your channel is private and requires a Read API Key to access its feed. You can make a channel public which gives other users the ability to use your feed without a Read API Key.

Each ThingSpeak Channel supports data entries of up to 8 user defined data fields (plus location and status). ThingSpeak also features time zone management and API key management (separate read/write keys). The data can be kept private or published publicly available. There is also Talkback API that allows sending command through ThingSpeak to IoT device.

The ThingSpeak API is available on GitHub and includes the complete ThingSpeak API for processing HTTP requests, storing numeric and alphanumeric data, numeric data processing, location tracking, and status updates. The open source version follows the same documentation as the ThingSpeak hosted service. The source code is mostly written using Ruby programming language.

acertijos con respuesta says:

I do agree with all of the ideas you have introduced for your post.
They’re really convincing and can definitely work. Still, the posts
are too brief for starters. May you please extend them a
little from subsequent time? Thanks for the post.

Are you using ThingSpeak to capture and save your IoT device data points? Ever felt constrained by the 8 field channels limit?

I was.

A Simple Solution

Hmm, what to do?

While you are limited to 8 data fields, a channel is not constrained by it’s own channel data. So the answer is right there…just add another channel and you get another group of 8 data fields. Since the additional data fields can be accessed from any of the master channel’s “plug-in” webpages, you have just doubled the number of entries in a single record, from 8 to 16. There is really no limit to how many channels that can be added, scaling the data set upward by 8 fields for each channel added.

Note the nested jQuery “$.getJSON” to retrieve the ThingSpeak channel data. All processing needs to be performed inside the inner nest in order to keep the values in scope.

Conclusion

Scalable ThingSpeak data sets. This short post should serve as a reference…a reminder of just how simple and obvious it is to expand your sensor data beyond the 8-field limit imposed on a ThingSpeak channel.