Table des matières
Créé par Andy Stanford-Clark et Arlen Nipper en 1999, MQTT est un protocole de messagerie qui permet aux objets connectés d’échanger les informations en toutes sécurité et avec une faible bande passante.
Les termes utilisés
- Broker: c’est le programme qui centralise les informations, il reçoit et envoie des messages comme la température d’un capteur. Le broker de référence sous Linux s’appelle Mosquitto.
- Publish: c’est l’action d’envoyer l’information du capteur vers le Broker( programme).
- Subscribe: c’est quand un programme s’abonne a un broker pour recuperer des informations.
- Topic: c’est les rubriques ou sont classés les données par exemple esp32/maison/chambre.
QoS (Quality Of Service )
MQTT possede 3 niveau de qualité de service:
Pour chaque topic, MQTT permet de gérer la QoS désirée, les messages seront délivrés :
- QoS 0 : Une fois au plus
- QoS 1 : Une fois au moins
- QoS 2 : Exactement une seule fois
Fonctionnement
Exemple d’envoi
16:31:08.375 MQT: stat/tasmota_63753D/STATUS2 = {"StatusFWR":{"Version":"13.1.0.2(tasmota)","BuildDateTime":"2023-09-03T16:37:03","Boot":31,"Core":"2_7_4_9","SDK":"2.2.2-dev(38a443e)","CpuFrequency":80,"Hardware":"ESP8266EX","CR":"396/699"}}
16:31:08.427 MQT: stat/tasmota_63753D/STATUS10 = {"StatusSNS":{"Time":"2023-09-18T16:31:08","AM2301":{"Temperature":27.4,"Humidity":68.0,"DewPoint":21.0},"TempUnit":"C"}}
Configuration avec Tasmota
J’ai repris le montage de l’article précedent avec le AM2301 comme capteur.
Rien de compliqué, on active MQTT.Et on le configure.
Configuration Home-assistant
- On va créer un utilisateur dans home assistant par exemple mosquitto avec un mot de passe compliqué
- On ajoute le module Mosquitto.
Dans Parametres –> Modules complementaire –> Boutique des modules complementaires.
Le paramétrage est facile.
Ensuite, on va creer notre capteur(sensor) qui va recuperer les infos, à ajouter dans votre configuration.yaml.
(Voir la section MQTTexplorer pour le chemin )
- sensor:
name: "tmp_solaire"
unique_id: "tmp_solaire"
state_topic: "tele/tasmota_63753D/SENSOR"
device_class: "Temperature"
unit_of_measurement: "C"
value_template: '{{ value_json.AM2301.Temperature }}'
MQTTexplorer
Avec mqtt-explorer, on peut verifier les données qui sont sur le broker.
Surtout le chemin pour completer state_topic et value_template dans Home-Assistant.
Résultat dans home-assistant
Liens
https://fr.wikipedia.org/wiki/MQTT
https://aws.amazon.com/fr/what-is/mqtt/
https://fr.linkedin.com/pulse/mqtt-expliqu%C3%A9-en-fran%C3%A7ais-rapha%C3%ABl-delstanche
Métadonnées
Posté le: 25.10.2023
Nombre de mots: 295
Temps de lecture: 2 minutes
Cet article fait partie de la série: Domotique
Un ecran oled pour Esp32 Raspberrypi 5