MQTT est largement utilisé dans l'IoT lorsqu'il s'agit d'échanger des données d'application entre l'appareil final et le service hôte. Le modèle de publication-abonnement le rend facile à utiliser: pas de prise de contact, de négociation, etc. (au moins au-dessus de la couche de protocole MQTT). Il vise principalement à permettre aux producteurs de données de distribuer facilement leurs données aux consommateurs.
Cependant, quand il s'agit d'un serveur central souhaitant configurer les paramètres sur un appareil final, je ne suis pas sûr que le modèle soit très adapté. Le serveur voudra envoyer une commande à l'appareil et attendre une réponse (par exemple lire un paramètre spécifique, attendre une réponse), ce qui ne correspond pas vraiment au modèle de publication-abonnement de MQTT.
Je me demandais s'il existe des protocoles existants destinés à envoyer et recevoir des commandes et à configurer des périphériques distants?
la source
Réponses:
Cela ressemble à un travail pour CoAP :
Il peut apparemment être mis en œuvre avec des frais généraux très faibles:
CoAP est spécifié dans la RFC 7252 , et il existe différentes implémentations (par exemple en C ).
Il est très fortement inspiré par REST tel qu'il est utilisé avec HTTP pour les API Web, donc si vous les connaissez, vous prendrez rapidement CoAP. Sinon, vous pourriez trouver cette présentation utile pour le contexte. L'idée est que chaque méthode HTTP a une signification sémantique, par exemple
GET
demande des informations à l'appareil sans rien changer etPOST
,PUT
etDELETE
mute les données.Comme vous le dites, les modèles de publication / abonnement ne fonctionneraient pas dans une situation où votre appareil agit en tant que «serveur» pour la coordination du système central (qui agit en tant que client pour chaque appareil). Au lieu de cela, un modèle similaire à HTTP est idéal, sauf que HTTP a beaucoup trop de frais généraux, c'est là que CoAP entre en jeu.
la source
Oui, il existe un meilleur protocole pour la gestion des appareils dans l'IoT. C'est LwM2M - Il est beaucoup plus efficace que MQTT et surtout COAP, MQTT et HTTP.
LwM2M est livré avec un modèle de gestion des données et des appareils bien défini, offrant une variété d'objets standard prêts à l'emploi (IPSO Smart Objects), une surveillance de la connectivité, des actions à distance des appareils et des mises à jour structurées FOTA et SOTA, alors que dans MQTT, ces fonctionnalités sont entièrement spécifique au fournisseur et à la plate-forme. Ce qui suit est qu'avec MQTT, les mises à jour du micrologiciel ou toute autre fonction de gestion doivent être créées à partir de zéro. À l'opposé, LwM2M propose des mises à niveau du micrologiciel comme l'une de ses fonctionnalités de base, il n'est donc pas nécessaire d'inventer de nouveaux blocs de construction pour la communication.
Ici, vous avez une comparaison MQTT vs LwM2M et un cours intensif complet.
la source