On this post it is showed different software that can be used as a IoT solutions with the Industrial Shields equipment.
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 a 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 a Industrial Shields PLC as a Host. With this protocol you can communicate both equipment for example through Ethernet.
So, with user interface from the Panel PC or a computer it is possible to use interact with a 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 is a powerful Open Source Web App for processing, logged in and visualizing energy, temperature range and other 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 a better feedback of your installation. You can visualize your data on a computer, tablet or smartphone. See more information on the official web site.
Node-RED is a flow-based programming tool for 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 start to wire them together. With a single click, the application is deployed back to the runtime 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