Difference between revisions of "Datonis Resources"
m (Tag: Visual edit) |
m (SDK resources) (Tag: Visual edit) |
||
Line 6: | Line 6: | ||
=== Connecting machines or equipment within a factory === | === Connecting machines or equipment within a factory === | ||
− | In this scenario, machines are equipment usually have data collected via PLCs like Siemens, Rockwell, Allen Bradley and data made available via: | + | In this scenario, machines are equipment usually have data collected via PLCs like Siemens, Rockwell, Allen Bradley and data made available over a Local Area Network (Ethernet) via: |
* OPC server (UA/DA) | * OPC server (UA/DA) | ||
* Modbus | * Modbus | ||
* MTConnect | * MTConnect | ||
We recommend using the [[Datonis Edge Gateway]] that can: | We recommend using the [[Datonis Edge Gateway]] that can: | ||
− | * Collect data using downstream protocols like OPC UA/DA, Modbus etc. | + | * Collect data using downstream protocols like OPC UA/DA, Modbus etc. for several machines |
* Buffer, aggregate, process and push it to Datonis using either HTTP(s) or MQTT(s) using secure mechanisms | * Buffer, aggregate, process and push it to Datonis using either HTTP(s) or MQTT(s) using secure mechanisms | ||
You can find all information related to downloading builds, installing and configuring the [[Datonis Edge Gateway|Edge gateway over here]]. | You can find all information related to downloading builds, installing and configuring the [[Datonis Edge Gateway|Edge gateway over here]]. | ||
=== Connecting remote assets === | === Connecting remote assets === | ||
+ | Following are a few examples of monitoring remote assets: | ||
+ | * Energy meters deployed across households in remote locations | ||
+ | * Oil wells equipped with devices for measuring yield and movement | ||
+ | * Wind turbines equipped with devices for monitoring battery status, blade movement, wind velocity etc. | ||
+ | These are usually lone assets that have some sort of a hardware controller (e.g. STM32 (ARM), PIC32 (Atmel), Arduino (Atmel), Marvel (ARM), Galilieo (i386), Raspberry PI (ARM)). Signals for measuring sensor outputs are connected at digital general purpose IO pins on these boards. | ||
+ | |||
+ | Depending on the computing power of the board, you have following options: | ||
+ | |||
+ | ====== Board with very limited memory and computing power (RAM in KBs) without a formal Operating System ====== | ||
+ | These boards may or may not come with a [[wikipedia:Real-time_operating_system|Real Time Operating System (RTOS)]]. In this scenario, we recommend using our C SDK and customizing it and cross compiling it to your needs. | ||
+ | |||
+ | Resources: | ||
+ | * [https://github.com/Altizon/Aliot-SDK-Examples/tree/master/c Github location for the C SDK] | ||
+ | * [[Using the Datonis C SDK|Trying the C SDK on a Linux computer]] | ||
+ | Customization work includes following activities: | ||
+ | * Tweaking data types based on compiler requirements for your board | ||
+ | * Replacing the Linux based TCP/IP API with TCP/IP API for your board (read, write etc.) | ||
+ | * Making provision for generating an epoch timestamp on the board (using ticks etc.) | ||
+ | * In case your board has a modem attached, configuring http calls via AT commands | ||
+ | * Writing buffering and re-transmission logic to handle internet outages | ||
+ | * Reading and converting input signals over IO pins and converting into numeric values | ||
+ | |||
+ | ====== Board with a formal operating system like Linux/Windows ====== | ||
+ | Examples of such boards include Raspberry PI that can run Raspibian. You may want to use one of the following ways to connect to Datonis: | ||
+ | * Write a custom adapter/plugin within the [[Datonis Edge Gateway]] | ||
+ | * [[Using the Datonis Java SDK|Use the Datonis JAVA SDK]] | ||
+ | * [[Using the Datonis Python SDK|Use the Datonis Python SDK]] | ||
+ | Some customization work is still required when you use the JAVA or Python SDKs: | ||
+ | * Writing buffering and re-transmission logic to handle internet outages | ||
+ | * Reading and converting input signals over IO pins and converting into numeric values |
Revision as of 05:25, 20 July 2017
Contents
Connectivity
Broadly, there are 2 kinds of assets that you typically connect to the Datonis IOT platform
- Machines or Equipment within a specific area like a factory
- Assets that are deployed remotely within a geography (example: oil wells or wind turbines etc.)
We recommend a few best practices while connecting assets in these two scenarios
Connecting machines or equipment within a factory
In this scenario, machines are equipment usually have data collected via PLCs like Siemens, Rockwell, Allen Bradley and data made available over a Local Area Network (Ethernet) via:
- OPC server (UA/DA)
- Modbus
- MTConnect
We recommend using the Datonis Edge Gateway that can:
- Collect data using downstream protocols like OPC UA/DA, Modbus etc. for several machines
- Buffer, aggregate, process and push it to Datonis using either HTTP(s) or MQTT(s) using secure mechanisms
You can find all information related to downloading builds, installing and configuring the Edge gateway over here.
Connecting remote assets
Following are a few examples of monitoring remote assets:
- Energy meters deployed across households in remote locations
- Oil wells equipped with devices for measuring yield and movement
- Wind turbines equipped with devices for monitoring battery status, blade movement, wind velocity etc.
These are usually lone assets that have some sort of a hardware controller (e.g. STM32 (ARM), PIC32 (Atmel), Arduino (Atmel), Marvel (ARM), Galilieo (i386), Raspberry PI (ARM)). Signals for measuring sensor outputs are connected at digital general purpose IO pins on these boards.
Depending on the computing power of the board, you have following options:
Board with very limited memory and computing power (RAM in KBs) without a formal Operating System
These boards may or may not come with a Real Time Operating System (RTOS). In this scenario, we recommend using our C SDK and customizing it and cross compiling it to your needs.
Resources:
Customization work includes following activities:
- Tweaking data types based on compiler requirements for your board
- Replacing the Linux based TCP/IP API with TCP/IP API for your board (read, write etc.)
- Making provision for generating an epoch timestamp on the board (using ticks etc.)
- In case your board has a modem attached, configuring http calls via AT commands
- Writing buffering and re-transmission logic to handle internet outages
- Reading and converting input signals over IO pins and converting into numeric values
Board with a formal operating system like Linux/Windows
Examples of such boards include Raspberry PI that can run Raspibian. You may want to use one of the following ways to connect to Datonis:
- Write a custom adapter/plugin within the Datonis Edge Gateway
- Use the Datonis JAVA SDK
- Use the Datonis Python SDK
Some customization work is still required when you use the JAVA or Python SDKs:
- Writing buffering and re-transmission logic to handle internet outages
- Reading and converting input signals over IO pins and converting into numeric values