ThingSpeak Adds Paid Options to Its IoT Analytics Service

ThingSpeak has experienced tremendous growth over the past 6 years and we continue to add new users from all over the world who are building amazing IoT projects that use ThingSpeak and MATLAB.

As the ThingSpeak user community grows, we have been hearing requests for sending many millions of messages to ThingSpeak, connecting more devices, and building scalable commercial solutions. To address these requests, we are releasing new paid options for ThingSpeak. For more information, see the How to Buy page and the ThingSpeak licensing FAQ.

ThingSpeak users can continue to send up to 3 million messages per year for free (about 8200 messages per day). That satisfies the needs of 99.5% of the user community. To determine how many messages you are using, you can login and look at your account usage.

ThingSpeak IoT Analytics Platform

MATLAB Toolboxes are Now Available on ThingSpeak for IoT Analytics

ThingSpeak offers an easy way to collect data from things, analyze and visualize the data with MATLAB, and act on your data. With MATLAB from MathWorks, you have access to powerful data processing and analysis functions for IoT data. To extend the functionality, we offer toolboxes such as the Statistics and Machine Learning Toolbox™ and Signal Processing Toolbox™. These toolboxes need a license from MathWorks. If you have access to these toolboxes linked to a MathWorks Account, you have access to many of the toolboxes on ThingSpeak. All you have to do is to log in to ThingSpeak using your MathWorks Account credentials. With very little code, it is possible to forecast tidal depths using tide data collected by a ThingSpeak channel and the System Identification Toolbox.

Tide forecasting using MATLAB and ThingSpeak

When you are logged into ThingSpeak using your MathWorks Account, you can use functions from the following toolboxes if you are licensed to use them:

We have created many examples showing you how to use MATLAB Toolboxes using ThingSpeak channel data. We have an example using the Signal Processing Toolbox to Visualize and Remove Outliers in Your Data which a common task when you are working with IoT data from sensors. If you want to forecast environmental data by using a feedforward neural network, we have an example using the Neural Network Toolbox operating on weather station data collected by ThingSpeak. In all of our examples, you are able to use the code right on ThingSpeak and allow it to run on a schedule using TimeControl or be triggered to run using React. Many of your licensed toolboxes are now available with your MathWorks Account on ThingSpeak.

Use MATLAB ‘timetable’ to Merge ThingSpeak Data Channels

We released a new version of MATLAB® and it’s available now for every ThingSpeak user. MATLAB R2016b includes many new features that make it easy to work with time-stamped tabular data, manipulate, compare, and store text data efficiently, and find, fill, and remove missing data.

With multiple sensors around my house or office, I want to be able to send data to multiple ThingSpeak channels. But, when I want to perform data analysis, I have a hard time working with data from multiple channels. The channels do not have the same time stamps and are out-of-sync with each other.

With R2016b of MATLAB, I am able to use the new timetable data container. Once the data is a stored as a timetable, I can perform powerful operations such as retime, synchronize, and rmmissing.

In this example, I have two sensors outside of my office here in Natick, MA. One sensor is a temperature sensor that is sending data to ThingSpeak channel 163540. My other sensor is writing humidity data to channel 163545. Both channels are public. My goal is to plot temperature versus humidity over one time series. To accomplish this, I will use timetable and synchronize inside of a new MATLAB Visualization on ThingSpeak.

% Read from the temperature channel
temperatureTT = thingSpeakRead(163540,'Fields',1,'NumPoints',100,'outputFormat','timetable');

% Read from the humidity channel
humidityTT = thingSpeakRead(163545,'Fields',1,'NumPoints',100,'outputFormat','timetable');

% Synchronize two timestables and fill in missing data using linear interpolation
TT = synchronize(temperatureTT,humidityTT,'union','linear')

% Plot Temperature and Humidity over time
plotyy(TT.Timestamps,TT.Temperature,...
       TT.Timestamps,TT.Humidity);
        
title('Temperature and Humidity Synchronized From Two Channels')
xlabel('Temperature and Humidity in Natick, MA')
legend('Temperature','Humidity')

The first part of the script reads in ThingSpeak data from two different channels and stores the data in two timetables. Once the data is stored in a timetable, I am able to take advantage of synchronize. With synchronize, I can combine both timetables with one time series and fill in missing data using linear interpolation. This results in a plot that shows my data over time without any missing data. To create the plot, I signed into ThingSpeak, selected Apps, and created a new MATLAB Visualization with my MATLAB code.

All ThingSpeak users are able to try this example or explore the other new MATLAB features directly on ThingSpeak. I will leave my temperature (163540) and humidity (163545) channels public, so you can try out timetable example without having to connect devices to ThingSpeak.

Introducing MATLAB Central…

We launched MATLAB Analysis and Visualizations on ThingSpeak last year and have noticed a sharp increase in IoT analytics being used in your projects. We are seeing everything from analyzing squirrel behaviour to analyzing traffic patterns. As we are all learning how to use MATLAB in our IoT projects, we need to take notice of MATLAB Central.

MATLAB Central - ThingSpeak Community

MATLAB Central is “a place where you can get answers.” We have over 100,000 community members and MathWorks employees all sharing projects and files, experience, and answering questions. And, ThingSpeak is showing up on MATLAB Answers and File Exchange. This is great news for the ThingSpeak Community. If you already have a MathWorks user account and use it on ThingSpeak, you already have access to MATLAB Central. All you have to do is sign in. If you are new to MathWorks, you can sign up for a free user account to gain access to MATLAB Central and other features of ThingSpeak.

Check out Ned Gulley’s post, “Going Way Back with MATLAB Central” to learn about how the MATLAB community has formed over the years.

Cheers to MATLAB Central hitting the 15th year mark! We are happy to be a part of the story.

The Top IoT Countries (According to ThingSpeak Stats)

2016 has been a huge year for IoT and the growth of ThingSpeak. We are looking at where our users and visitors are coming from and we are seeing some surprising trends. India alone represents 10% of ThingSpeak traffic and usage. The countries of Europe make up over 35% of ThingSpeak. Poland is also a strong IoT country. We have noticed many public weather stations and radiation detectors popping up all around the country. Poland by itself represents 3% of our traffic and usage. The last surprise is Australia dropping out of the Top 10.

Top IoT Countries 2016

The Top 10 Internet of Things Countries*

  1. United States
  2. India
  3. Germany
  4. United Kingdom
  5. Italy
  6. Brazil
  7. France
  8. Poland
  9. Canada
  10. Spain

*According to ThingSpeak Usage Stats

Prototyping IoT Analytics with MATLAB and ThingSpeak

Rob Purser, our Senior Development Manager for IoT, will be holding a hands-on workshop at this year’s IoT Evolution in Las Vegas. Rob will teach the attendees how to prototype IoT analytics using MATLAB and the IoT platform, ThingSpeak.

IoT Evolution - Internet of Things Conference

The Internet of Things typically involves a discussion of smart devices and the cloud, with much less attention paid to the data collection, pre-processing of acquired data, and development of real-time analytics algorithms. A successful data analytics strategy involves embedded sensor analytics, historical data analysis, and online analytics. In this hands-on session, each participant will work with devices and try out the various types of analytics in action.

IoT Evolution West 2016

Caesars Palace, Las Vegas
900 Convention Center Blvd
New Orleans, LA

IOTD-02: Prototyping IoT Analytics: Hands on with ThingSpeak and MATLAB
Tuesday, July 12, 2016 at 2PM
Forum 15

What Do Students Need to Learn to Be Successful in IoT?

I will be joining a panel at the ASEE’s 123rd Annual Conference in New Orleans. The goal of our panel is to discuss what students need to learn to be successful in IoT. Our session is Tuesday, June 28th, 2016 at 1:15pm in Room 261 at the New Orleans Convention Center.

ASEE IoT Conference 2016

The IoT panel at ASEE will be moderated by Dr. Gerald W. Recktenwald and features Dr. Jacob Segil from the University of Colorado, Boulder, Dr. Duncan James Bremner P.E. from the University of Glasgow, and Hans Scharler from MathWorks.

American Society for Engineering Education Conference

New Orleans Convention Center
900 Convention Center Blvd
New Orleans, LA

T426·IoT: What Do Students Need to Learn to Be Successful in this Field?
Tuesday,  June 28, 2016 1:15 PM to 2:45 PM

 

ThingSpeak is a New Hackster Platform for Sharing Projects

Hackster.io announced that ThingSpeak is now a platform on their project sharing website!

Hackster Platforms

The ThingSpeak platform joins the likes of Amazon Echo, ESP8266 Wi-Fi, and Particle.io platform. ThingSpeak users can easily document, share, and reproduce hardware and Internet of Things projects using Hackster.io. We are already off to a great start with 13 documented projects and tutorials and 31 community members. Check out our platform on Hackster.io to discover great projects and build your own IoT projects.

New MATLAB Analysis Feature – movmax – for ThingSpeak

My power meter at my house reports its power every few minutes. I capture that data and send it to ThingSpeak. The value reported is the total kilowatt-hour (kWh). I would love to see the maximum value over an hour versus randomly reported values over an hour. With the release of MATLAB R2016a, ThingSpeak users have access to a new suite of data analysis features. One of them is movmax – with movmax, I now can look at my ThingSpeak data over a time and figure a moving window of maximum values. This new feature is highly customizable for your application, but I will show you how I use it.

My data over an hour looks like this: 803, 919, 724, 1349, 1500, 602, 549, 899, 1678, 1577

Using movmax, I can have a sliding window ran over my data to pull out a maximum value from the window and use it for a visualization or further analysis.

The MATLAB code to process my power data is really straightforward.

readChannelID = 97871;
fieldID1 = 1;
readAPIKey = '7MOXB8G515OAD94Q';

%% Read Data %%
[data, time] = thingSpeakRead(readChannelID, 'Field', fieldID1, 'NumPoints', 10, 'ReadKey', readAPIKey);

%% Process Data %%
data_max = movmax(data, 4)

%% Visualize Data %%
thingSpeakPlot(time, data_max);

Now, using the MATLAB Visualizations app on ThingSpeak, I can visualize the data. Here’s the before and after.

Power Data Processed Data with MATLAB movmax

You can use movmax in the MATLAB Analysis or MATLAB Visualizations apps on ThingSpeak. Sign up or sign into ThingSpeak, select Apps, and click “MATLAB Visualizations”. Create a new one with the blank template and use my MATLAB code. I will leave my channel of data up for you to try out. You can use channel number 97871 and my read API key 7MOXB8G515OAD94Q. The power data is stored in field1.

element14 Webinar: How To Use MATLAB and Simulink With ThingSpeak

element14 is hosting a free webinar, “How To Use MATLAB and Simulink With ThingSpeak“, a free webinar hosted by Eric Wetjen of MathWorks. Join the webinar live on November 12, 2015 at 10am EST or watch a recording at a later time.

Car Counting Camera

This webinar will show how you can use MATLAB and Simulink with ThingSpeak, an Internet of Things data collection platform. ThingSpeak can be used to collect, analyze and act on data sent from devices such as Raspberry Pis and Arduinos. To illustrate this, a car counter is implemented overlooking a busy highway using a Raspberry Pi 2 and a webcam.  In this demonstration, Simulink is used to deploy the car-counting algorithm on the Raspberry Pi which is connected to ThingSpeak. The traffic can be analyzed offline with MATLAB or online using ThingSpeak and its built-in MATLAB Analysis and MATLAB Visualizations apps.

Eric Wetjen MathWorks IoT

Eric Wetjen has been working in Product Marketing at MathWorks for the last 7 years. He focuses on bringing MATLAB analysis capabilities to low cost hardware, Test and Measurement equipment and Internet of Things devices.  Prior to MathWorks, Eric held various positions in Product Management and Application Engineering primarily in the telecom industry.  Eric holds a Ph.D. in Engineering from Brown University.

Sign up at element14