Introduction
This post it is showed different software that can be used as an IoT solutions with the Industrial Shields equipment.
Description
Firmata:
Firmata is a protocol to communicate between Microcontroller (as Arduino) from software on a Computer (as can be a Panel PC). This protocol can work as firmware on any Microcontroller architecture, also as software on any computer software. On Industrial Shields case with firmata you can use the Panel PC or a Computer as a Client, and an Industrial Shields PLC as a Host. With this protocol, you can communicate both equipments for example through Ethernet.Â
So, with a user interface from the Panel PC or a computer, it is possible to use interact with an Arduino based PLC. Firmata is based on the midi message format in this commands bytes are 8 bits and data bytes are 7 bits. For example, the midi Channel Pressure command 0xD0 message is 2 bytes long, in Firmata the Command 0xD0 is used to enable reporting for a digital port (collection of 8 pins). Both the midi and Firmata versions are 2 bytes long, but the meaning is obviously different.
There are two main models of usage of Firmata. In one model, the author of the Arduino sketch uses the various methods provided by the Firmata library to selectively send and receive data between the Arduino device and the software running on the host computer.
The second and more common model is to load a general purpose sketch called StandardFirmata on the Arduino board and then use the host computer exclusively to interact with the Arduino board. StandardFirmata is located in the Arduino IDE in File -> Examples -> Firmata.
See more information on Firmata web site
Emoncms:
Emoncms is a powerful Open Source Web App for processing, logged in and visualizing energy, temperature range and another kind of data. Using Emoncms you can display on a web server what is going on your Arduino based PLC. Also, show diagrams and compare data to get better feedback on your installation. You can visualize your data on a computer, tablet, or smartphone. See more information on the official website.
Node-RED:
Node-RED is a flow-based programming tool for the internet of things, wiring together hardware devices, APIs and online services in new ways.
It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its run time in a single-click.
Arduino is connected to the host computer via a USB serial connection, all the Node-RED communications include via Serial.
Note: you can’t use Arduino IDE and the Arduino nodes at the same time as they will conflict on Serial Port.
Node-RED consists of a Node.js-based runtime that you point a web browser at to access the flow editor. Within the browser you create your application by dragging nodes from your palette into a workspace and starting to wire them together. With a single click, the application is deployed back to the run-time where it is run.
 The palette of nodes can be easily extended by installing new nodes created by the community and the flows you create can be easily shared as JSON files. See more information on Node-RED web site
Software for IoT Solutions