The following attached file contains a ThingSpeak client extension
that allows one to easily make use of the Read and Write features of the ThingSpeak cloud service provided by MathWorks in such a manner that programmer is able to transparently make use of the service without having to deal with much details of the implementation in the code side. With the App - also attached - you can easily check the extension working on a friendly interface:
For those who are not familiar with IoT stuffs, the key point to be aware is that the main goal achieved by using cloud servers is that we can design an architecture so that we don't need provide the server, which means that both sides of the system - the one being monitored, and the supervisory itself - now work as clients, as follow:
Essentially ThingSpeak is a Web server on which data is read and written via GET commands of the Http protocol. All replies come on the JSon format in raw text with no formatting, which means that no LF or CR characters are added, as can be seen on the left side of the following picture:
( picture taken form Jsonformatter )
All you have to do is subscribe to the ThingSpeak website, create a channel, and take note of the following data automatically generated:
Please note that at the same above page, it is available the links with which you cam make experiments on the web browser, either to read or write values to the fields:
If you are not going to use multiple fields simultaneously, you can configure the channel to use only 1 of the 8 fields available, which would also reduce the size of the JSON structure:
It is important to note that all data sent and received are in the ASCII format at the URL body, which means that if one wish provide extra security, it should be considered any kind of cyphering or even cryptography in order to atleast detect whether data was maliciously corrupted or not.
Another poit to remark is that parsing was performed without using any JSon library, which means that if on the one hand the structural integrity of the JSON format is not checked out, on the other hand it means that tasks are performed lightweight, not wasting core processing if application require update realtime.
Here's an overview of the "source code" or rather, "source blocs" of the above demo application.
That's all you need, nothing else:
Below, a snapshot of the components:
Here, a snippet showing how much of the boring coding task can be avoided by customer, once it is embedded on the extension itself:
This project is also available on Github repository, at which releases will be updated.
Feel free to make experiments and give feedback.
that allows one to easily make use of the Read and Write features of the ThingSpeak cloud service provided by MathWorks in such a manner that programmer is able to transparently make use of the service without having to deal with much details of the implementation in the code side. With the App - also attached - you can easily check the extension working on a friendly interface:
For those who are not familiar with IoT stuffs, the key point to be aware is that the main goal achieved by using cloud servers is that we can design an architecture so that we don't need provide the server, which means that both sides of the system - the one being monitored, and the supervisory itself - now work as clients, as follow:
Essentially ThingSpeak is a Web server on which data is read and written via GET commands of the Http protocol. All replies come on the JSon format in raw text with no formatting, which means that no LF or CR characters are added, as can be seen on the left side of the following picture:
( picture taken form Jsonformatter )
All you have to do is subscribe to the ThingSpeak website, create a channel, and take note of the following data automatically generated:
Please note that at the same above page, it is available the links with which you cam make experiments on the web browser, either to read or write values to the fields:
If you are not going to use multiple fields simultaneously, you can configure the channel to use only 1 of the 8 fields available, which would also reduce the size of the JSON structure:
It is important to note that all data sent and received are in the ASCII format at the URL body, which means that if one wish provide extra security, it should be considered any kind of cyphering or even cryptography in order to atleast detect whether data was maliciously corrupted or not.
Another poit to remark is that parsing was performed without using any JSon library, which means that if on the one hand the structural integrity of the JSON format is not checked out, on the other hand it means that tasks are performed lightweight, not wasting core processing if application require update realtime.
Here's an overview of the "source code" or rather, "source blocs" of the above demo application.
That's all you need, nothing else:
Below, a snapshot of the components:
Here, a snippet showing how much of the boring coding task can be avoided by customer, once it is embedded on the extension itself:
This project is also available on Github repository, at which releases will be updated.
Feel free to make experiments and give feedback.