When building IoT (Internet of Things) applications, the cloud part where all information from sensors is important. There are many cloud services that can collect IoT data, but the fundamental issue here is that the Internet of Things does not have a standard set of open APIs for consumers. Well, there’s ThingSpeak, but it’s not exactly widely supported. Open systems are driven by open access - today’s IoT silos are supported by restricted access.
ThingSpeak is an open source “Internet of Things” application and API to store and retrieve data from things using HTTP over the Internet or via a Local Area Network. In 2010, ioBridge launched ThingSpeak.com, an open data platform for the Internet of Things. With ThingSpeak, you can create sensor logging applications, location tracking applications, and a social network of things with status updates. From the beginning, ThingSpeak was designed to be hardware agnostic and ThingSpeak.com is now used by thousands of people to aggregate data from sensors and to control things,
- Open API
- Real-time data collection
- Geolocation data
- Data processing
- Data visualizations
- Device status messages
In addition to software source code, ThingSpeak also offers a free service that allows you to test how it works. If you are ready to build your Internet of Things, register for a free developer account.
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.
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.
- Sign Up for a ThingSpeak account
- Create a new Channel by going to your Channels page and clicking Create New Channel
- Update your Channel via URL:
- View your Channel feed:
- Follow a tutorial for common devices and applications
For more documentation check out ThingSpeak documentation, ThingSpeak Community documentation, API documentation and tutorials. ThingSpeak Community site features a Blog, Forum, Documentation, and Tutorials.
I am just learning to use ThingSpeak, but to this point this ThingSpeak service looks very interesting.