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.