Devices are the basis of IoT applications; you can think of them as field workers. They can measure and collect data - sensors - and/or execute commands to control some mechanism - actuators.

There are 3 types of devices in Cervello:

  • Peripheral - devices that can NOT be connected to the internet.
  • Gateway - devices that handle the communication between Cervello and peripheral devices.
  • Standalone - devices that can collect data AND connect to the internet, so they can communicate with Cervello directly without the need for gateways.

There’s a lot of data associated with each device, but Cervello categorizes them by their purpose:

  1. Telemetries are the data that is being measured and collected by the device, i.e. temperature, humidity, etc….. and they change frequesntly.
  2. Attributes are any metadata the user wants to add to the device, i.e. firmware version, location. Normally, they don’t change frequesntly.
  3. Alarms are the alarms raised by the device
  4. Events are the monitored actions of a device.

Devices are not only important because they allow us to monitor and control equipments in the field, but also because they collect data; the most precious resource for any successfull business.

Cervello makes the process of creating and managing devices easier by supporting autoprovisioning, where the user can add all his devices by uploading a file, instead of creating them one by one.

When a device is connected, we want to make sure that this is the real device, not an impersonator. This can be acheived by generating credentials for the device. The device then must use the generated key and token to authenticate itself.

You also can create multiple devices up to 1000 using device template.

Devices can be grouped using tags.

You can also create command or create commands from command template also you can execute commands on a device directly.