Skip to content

Ingestion interfaces

Kamea supports multiple ingestion interfaces out of the box:

  • HTTP
  • Azure IoT Hub
  • MQTT

Through the usage of abstraction layers, Kamea can be extended to support other interfaces.

Interfaces can be either unidirectional or bidirectional. In both cases, the communication is opened from the device to the cloud. The main difference is that a bidirectional interface keeps the connection open, and allows Kamea to proactively send messages to the device. Whereas unidirectional interfaces require polling.

HTTP is unidirectional. IoT Hub & MQTT are bidirectional. The following matrix shows which feature is available to which interface:

Interface Type HTTP IoT Hub MQTT
Device connectivity status Restricted X X
Commands X X
Remote configuration Restricted (no device notification) X X
Telemetries upload X X X
State update X X X
Certificate based provisioning & auto-provisioning X X

Interface details

Azure IoT Hub Interface

The Azure IoT Hub Interface allows Devices to use Microsoft Azure IoT Hub as a communication layer. Azure IoT Hub allows bidirectional communication.

Configuration

Host name: The IoT Hub host name

When using the IoT Hub interface, it is strongly advised to use IoT Hub official SDK in the device firmware to handle the cloud communication.

Devices can connect using the three types of authentication from Azure IoT Hub: SAS key, self-signed certificate, or CA-signed certificate.

HTTP Interface

The HTTP Interface allows Devices to send information through a dedicated HTTP endpoint. The HTTP Interface does not support bidirectional communication; Devices can only poll for information from the platform.

Configuration

No specific configuration; the HTTP endpoint is provided by the platform.

Devices can only be provisioned with a secret generated by Kamea. Certificate based provisioning is not available when using HTTP.

MQTT Interface

Kamea supports MQTT with a RabbitMQ integration. For more details, see the dedicated page. MQTT allows bidirectional communication. Devices can be authenticated by login/password, self-signed certificates, or CA-signed certificates.