Develop and Deploy IoT Application ...Demystified...
The Idea I would like to make a Please, don’t monitoring do it again... application which can transfer data over the cloud, for example Temperature, Humidity, Alarms
Ingredients ● Embedded-side application (HW + SW) to collect and upload data ● Server-side application to temporarily store in transit data ● (Different) Client-side applications to retrieve and consume data
System Architecture
Embedded Side: Hardware ● The Platform, in this case, is the electronic object that will embed our application ● IoT = Internet Of Things ● In many cases “Small Things”... ● Not much space… we have to make it as small as possible ● Use a Microcontroller
What About TCP/IP Interface? ● TCP/IP is a pretty much complicated protocol ● It has been developed during ‘70 by a group of engineers ● You don’t want to do it again... ● Use a specialized Module ● Wiznet W5100
HW Setup (Demo) Sensors Microcontroller Wiznet LEDs
Embedded Side: SW ● Lots of IDE for Microcontroller C code development ○ Not easy to use and understand ○ C language is pretty complex ● What about a Graphic Environment ? It will reduce code overhead and simplify application development :-) ○ Yes, it is scalable if you use it in the right way… ○ Yep, it could be debugged like a text based… ○ Yeah, it can be simulated as well…
What is This? ● We are going to use Flowcode ● Flowcode is a Graphic Integrated Development Environment ● It looks like a flowchart, but allow you to program Microcontrollers
Using a Component ● Inside Flowcode a lot of complex problems could be easily solved using a component ● A component is a set of APIs that allow you to interface a complex peripheral inside your flowchart ● In Flowcode, CAN, USB, Ethernet are all components ● Besides APIs, components require also an initial configuration, in the form of, so called, “extra properties” ● A component is added to a project simply Dragging&Dropping it inside the project itself
Draft Sw Architecture Flowcode TCP/IP Component
Server Side: Dweet.io ● M2M server for IoT application ● Does not require any setup or sign on, you just need to push data ● Free for public data, 1,99$/month for locking a dweet (plus 30 days of storage) ● Basically like twitter for devices (things)
Dweeting ● https://dweet.io/dweet/for/ MyThing ?hello=world Server Reply
Getting Dweet ● https://dweet.io/get/latest/dweet/for/MyThing Server Reply
Embedded Side: TCP/IP connection
Embedded Side: Dweet POST https://dweet.io/dweet/for/CloudConf2016?..data..
Our Things on Dweet Thing Name get/latest/dweet/for/CloudConf2016 Data
Client Side: Freeboard A good solution for a nice data plot is Freeboard IoT Meteo Station with Humidity, Temperature and Sample Counter Go to: https://freeboard.io/board/AVYlod
References Embedded Code: ● www.francescoficili.com FlowCode: ● http://www.matrixtsl.com/flowcode/ Freeboard Panel: ● https://freeboard.io/board/AVYlod
Questions?
Grazie :-)
Recommend
More recommend