Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

Content

Table of Contents
excludeContent

Architecture

Drawio
baseUrlhttps://exelonix.atlassian.net/wiki
diagramNameNB-DEV KIT architecture
width1405
zoom1
pageId201523201
lbox1
height845.5
revision6

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
  • 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
languagexml
titleHTTP body
{ 
 "_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

...