Les APIs
Différentes APIs sont disponibles afin de permettre les échanges avec les produits et les acteurs :
API MQTT pour la connectivité des passerelles BLE/Wifi
API HTTPs REST pour les Apps mobile
API HTTPs REST pour les Cloud tiers, les systèmes ERP,
LinkIO IoT iothub APIs
API MQTT
Le protocole MQTT IotCore est utilisé pour fournir la communication sécurisée entre la plateforme et les passerelles.
Un ensemble de topics permet de réaliser un échange bi-directionnel.
Exemple de topics possibles
<mqtt_prefix>/gw/<gateway-uuid>/<verbe>
<mqtt_prefix>/feature/<gateway-uuid>/<device-uuid>/<feature_id>/<verbe>
Liste des verbes possibles
verbe |
définition |
direction |
|---|---|---|
cfg |
envoi de config |
gw->iotiothub |
cfg-ack |
confirmation de la config |
iotiothub->gw |
cmd |
commande |
iotiothub->gw |
cmd-ack |
confirmation de la commande |
gw->iotiothub |
req |
commande |
gw->iotiothub |
req-ack |
confirmation de la commande |
iotiothub->gw |
evt |
évènement |
gw->iotiothub |
sts |
statuts |
gw->iotiothub |
Format des messages
Le format général du payload est un json :
Payload :
{
"action":"featureCmd",
"msg_id": 0,
"status": "<status de retour dans le cas d'un ack>",
"data":{"type": "<type>",
"<action1>": "<value_to_write>",
"<action2>": "<value_to_write>"
}
}
Quelques séquences d’échange
Démarrage de la gateway
Commande device/feature
Status device/feature