...
...
...
...
...
...
...
...
...
...
Content
Table of Contents | ||
---|---|---|
|
Architecture
Drawio | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Components
NB | DESK
The Exelonix NB | DESK communication board is responsible for transmitting & receiving data via its NB-IoT modem from U-blox.
The following componets are included:
- STM32 microcontroller: controls the complete board
- U-blox SARA-N2xx: NB-IoT modem
Exelonix NB UDP protocol
The proprietary Exelonix NB protocol defines the message structure to send multiple values (e.g sensor values) of one device to the Exelonix UDP proxy.
...
The message structure is defined as follows:
- {device-identifier}?w={willValuesRequested}&e={encryptionOption}&b=[component-key1=value1&component-key2=value2,...]
- values of type string in the batch message (b=[...]) have to be places inside quotes (") and must not contain quotes itself
- values of type string in the batch message (b=[...]) have to be places inside quotes (") and must not contain quotes itself
- Example: wo/ encryption: 357518080061153?w=1&b=[s=1,a=3500,v=1,x=3000,y=2000,z=2500,b=30,t=27,p=1]
- Example: w/ encryption: 357518080061153?w=1&e=1&b=[xxxyyyzzz]
Exelonix UDP Proxy
The Exelonix UDP Proxy is a communication bridge between the UDP data received from the NB-IoT device and a IoT cloud.
As most of the IoT clouds are not able to handle/receive UDP data a proxy is needed that translates the UDP data into a supported data format (e.g. JSON) and transmits the data via a supported protocol (e.g HTTPS, MQTT)
...
- parses the received UDP message under the assumption the Exelonix NB UDP protocol is used.
- converts the parsed UDP message parameter into the Exelonix IoT Cloud interface format (JSON)
- transmits the converted data to the Exelonix IoT cloud via HTTPS
Exelonix IoT Cloud Interface
The Exelonix IoT Cloud Interface is used to send/receive IoT data to/from the Exelonix IoT Cloud. It is based on HTTPS and uses HTTP request methods (POST, GET) to handle the data exchange.
For more details see the following documentation: Webservice Endpoints/wiki/spaces/IB/pages/1077995
The following example shows the storing of of sensor data into the cloud. The payload is formated in JSON.
Code Block | ||||
---|---|---|---|---|
| ||||
{ "_type":"com.exelonix.iot.platform.model.BatchMsg", "deviceKey": "357518080061153", "encryption": "0", "batchMsg": "s=1,a=3500,v=1,x=3000,y=2000,z=2500,b=30,t=27,p=1,s=\"Hello World\"", "time":"2018-01-10T15:06:05.954+01:00" } |
Exelonix IoT Cloud
The Exelonix IoT Cloud is a database that stores the IoT data put in via the Exelonix IoT cloud interface. The data is structured by the unique device ID.
...
- IoT data storage, management and provision
- Deciphering of received IoT data in case data is encrypted
- User management used by the Exelonix IoT Manager
Exelonix IoT Manager
The Exelonix IoT Manager can be used by the user to display the stored IoT data of the Exelonix IoT Cloud.
Website: iot.exelonix.com/iot-manager
...