Devices

Devices in Cervello are virtual entities that represent a physical IoT device (gateway, controller, thermostat or any other kind of sensor). Once a device is connected to Cervello, it can send and receive data securely to the platform.

Create Device

To create a new device manually click on Create Device

If you are looking for adding large number of devices, see Device Provisioning.

Create Device

Fill in the form fields with the device data: Create Device Form

Name: Custom name for the device
Device Type Can be a GATEWAY, STANDALONE or PERIPHERAL
GATEWAY: Can connect and send data to Cervello from connected PERIPHERAL devices.
STANDALONE: Can connect and send data to Cervello.
PERIPHERAL: Connect and send data to a device of type gateway.

  • Please note that in order to create peripheral device you have to specify gateway device for it.

Create Device Form

Device Tags: Device tags allow the user to group devices of the same category, enabling bulk operations. For example controlling large number of devices at once or visualizing their data.

Communication Protocol: Choose communication protocol for the device.
DEFAULT: communication protocol include all protocols that don’t require preset configuration to collect device data, such as MQTTs, CoAPs or HTTPs.
Modbus: Enables Modbus communication for the device.
DLMS: Enables DLMS communication for the device.

See Communication tab for more details.

Click OK to confirm creating the device.

Device Actions

Every created device has different actions to perform. You can open the actions menu by clicking on the three dotted icon on the right of any device.

Device Actions

Edit Device

Edit any value of the virtual device.

Edit Device

Manage Credentials

In order to connect a device to Cervello broker, devices must obtain access key and access token (username and password).

To create new credentials for a device, open the actions menu and click on Manage Credentials.

Device Credentials

Device Credentials Form

Device credentials cannot be used with multiple devices, if the same access key is used for another device, the first device will be disconnected.

Device Credentials Data

Configure the device to use the generated credentials.

For more details on how to connect devices with different protocols, see MQTT, HTTP, CoAP.

Assign To Application

This option allows the users to assign a device to one or more application(s).

Assign To App

Delete Device

In case you no longer need a device, you can delete it from Cervello.
Deleting a device will also delete all data related to it. This action cannot be undone.

View Device

To view device details, click on a device to be redirected to the device page.

Device Details

Device Details

Device Attributes

Device attributes are meta data of the device. For example location, serial number, firmware version.

If an attribute with an existing key has been added, the new value will overwrite the old value.

Attributes can be added to the device in 3 ways:

Attribute values can be edited or deleted.

1- From the attributes tab in device details page, click Add.

Device Attributes

Insert attribute key, data type and value in the form then click OK.

Add Attribute

Data type can be one of three values: String, Number, or Boolean

Attributes will appear in the list

Device Attributes

2- Publishing on device attribute topic:

This allows the device to set its own attributes by publishing data on its attribute topic /device/{clintId}/attribute

And payload message has to be in the following format

{
    "data": {
        "key": value
    }
}
3- Using Create Attribute component in VPI to programmatically save attributes.

See VPI documentation for more details.

Device Telemetries

Telemetry data are the data provided by devices, this is the main type of data that Cervello collects and process to feed your applications.

For example: a temperature sensor sending current air temperature or another sensor sending a car speed. The temperature or the speed are the telemetry data.

Telemetry values can not be edited or deleted.

You can view device telemetries in the Telemetries tab, by default it will show latest device telemetries. Device Telemetries

Historical data can be displayed by choosing History from the top drop down

Device Telemetries Dropdown

History Telemetries

Additional options are available

Keys: Display data of specific keys.
Time Range: Display data between two given dates.
Aggregation: Apply aggregation functions on the requested data.
Time Bucket: Group telemetry data with specific interval.

You can switch to chart view by clicking on Chart Telemetries icon.

Chart View

Device Alarms

Alarms are a type of event that indicates an anomaly in one of the devices in your system or workflow, you can easily trigger an alarm with the component Create Alarm in the VPI Editor.

Alarms have severity grades and can be acknowledged and cleared by system users.

Device Alarms

Assigned Applications

Here you can view all the applications that this device is assigned to.

You can un-assign any application(s).

Un-assign Application

Device Commands

Device commands allows you to define different commands and run them on the connected device.

Commands can have parameters, then when executing the command those parameter values can be inserted.

Parameters are embedded in commands with the following pattern {{&param}}.

To add a new command for a device, click Add button. Commands Tab

Insert name and the command. Parameters will instantly appear below to set their data type and default value. Adding Commands

Click OK to confirm the command. Commands List

Now click Execute to run the command. A modal will appear with all inserted parameters, insert values for the parameters and click Execute. Execute Command

Now the command has been sent to the device.

In order for a device to receive a command, it has to be listening on the following topic /device/{clientId}/rpc.

Device Data Export

In this tab you can export the device’s telemetry data in different formats. Export Data

You either export all data (might take some time depending on data size), or specify time range.

Additionally, you can choose specific telemetry keys for the exported data.

Export Data

Device Topics

Device Topics

The above tab contains details about device’s protocol topics, with each topic described briefly.

Supported Topics:
- MQTT
- HTTP
- COAP

Device Location

Device Location

Device location tab makes it very easy to visualize the device current location based on its attribute values.

By default the map will read location from attributes with keys lat, lng. But you can easily change those keys from the select drop downs above the map.

Device Tracking

Communication

Configure communication settings for the device.

Modbus

MODBUS is an application-layer messaging protocol that provides client/server communication between devices connected on different types of buses or networks.

Read this page for more information about MODBUS.

To configure modbus settings in the device manager, go to Communication tab

Communication Tab

Device must have access credentials in order to enable Modbus communications.

Enter the host and port for the device then click Submit. Modbus Meta Data

Below we find a form for the modbus functions Modbus Functions

Click the add button to add a new function

Name: Custom identification name for the function.
Slave ID: Slave device ID to specify targeted slave.
Function: Function Code used to read or write in registers or coils.
Index: Start registers/coils index to read/write.
Length: Number of registers/coils that will be used to read the sequence of data.
Register Sequence: The way to order/format received data from device.
Polling Period: Interval to read data from slave device.
Data Type: the type of data you want to read/write from the device, for example if you are trying to read coils or discrete inputs so data type here could only be boolean either true or false or you want to read holding registers or input registers so the data type could be word, dword(double word), sword(signed word), sdword(signed double word)