Open Automation Software is excited to announce it’s new IoT Publish feature for Azure IoT, AWS IoT Gateway and MQTT
With Open Automation’s IoT Publish you can configure tags from a single or multiple data sources in OAS and publish them to Azure IoT, AWS IoT Gateway or an MQTT Broker. Tags can be published to a single topic or to multiple topics (one for each tag). Publishes can be scheduled to happen at a certain time of day, be event driven with a trigger tag and can also be continuous. The configurable publish interval setting allows you to publish at a specified rate.
Data is sent to Azure, AWS or MQTT as JSON packets which include device id, topic, tag id, quality and timestamp. Options are available to change the key names and to send without quality and/or timestamp. Timestamp can be formatted in ISO 8601, Unix seconds or milliseconds, Ticks or you can customize your own. Additional options are available to publish the latest value only and to include all tags in each publish or only those whose value has changed.
The Store and Forward feature of OAS can be turned on to prevent data loss in case of communication failure. If a communication failure occurs, OAS will buffer the data on your hard drive in the directory that you specify until communication is restored. Then it parses the data out to your destination.
For step by step instructions for the IoT Publish, watch the video below:
Supported Data Sources
- Allen Bradley
- Modbus
- Siemens
- OPC UA
- OPC DA
- MTConnect
- OPTO-22
- Rest API
- Database
- HMI
- Other IoT Endpoints
Below are some examples of what the published data will look like with different options selected:
Publish All Values as One Topic | Publish Latest Value Only as One Topic | Publish Each Tag as a Separate Topic |
{ “deviceId”: “OASIOT”, “topic”: “oas_tags”, “values”: [ { “id”: “Ramp”, “value”: 16, “quality”: true, “timestamp”: “2022-03-21T09:03:36.000Z” }, { “id”: “Sine”, “value”: 0.587785252292473, “quality”: true, “timestamp”: “2022-03-21T09:03:36.000Z” }, { “id”: “Random”, “value”: 96, “quality”: true, “timestamp”: “2022-03-21T09:03:36.000Z” }, { “id”: “Ramp”, “value”: 17, “quality”: true, “timestamp”: “2022-03-21T09:03:37.000Z” }, { “id”: “Sine”, “value”: 0.6691306063588583, “quality”: true, “timestamp”: “2022-03-21T09:03:37.000Z” }, { “id”: “Random”, “value”: 26, “quality”: true, “timestamp”: “2022-03-21T09:03:37.000Z” } ] } |
{ “deviceId”: “OASIOT”, “topic”: “oas_tags”, “values”: [ { “id”: “Ramp”, “value”: 39, “quality”: true, “timestamp”: “2022-03-21T08:55:39.000Z” }, { “id”: “Sine”, “value”: 0.8090169943749475, “quality”: true, “timestamp”: “2022-03-21T08:55:39.000Z” }, { “id”: “Random”, “value”: 10, “quality”: true, “timestamp”: “2022-03-21T08:55:39.000Z” } ] } |
{ “deviceId”: “OASIOT”, “id”: “Ramp”, “value”: 35, “quality”: true, “timestamp”: “2022-03-21T09:07:15.000Z” } { “deviceId”: “OASIOT”, “id”: “Sine”, “value”: -1, “quality”: true, “timestamp”: “2022-03-21T09:07:15.000Z” } { “deviceId”: “OASIOT”, “id”: “Random”, “value”: 83, “quality”: true, “timestamp”: “2022-03-21T09:07:15.000Z” } |