Réaliser un réseau sans logiciel de domotique avec MQTT - arnaudrco/exemples GitHub Wiki

Sommaire:

  1. Domotique / Énergie / Objets connectés
  2. Lampe connectée
  3. Escape Game
  4. Lire-sa-consommation-avec-un-module-PZEM
  5. Lire sa consommation avec un esp relié au compteur LINKY
  6. un réseau sans logiciel de domotique avec MQTT
  7. un répéteur wifi
  8. les logiciels de domotique
  9. Pour aller plus loin pour connaître sa consommation
  10. Video

Afficher des données par MQTT

test

Amusez vous à réaliser un réseau sans logiciel de domotique avec MQTT, sans PC et sans smartphone. Avec un esp et un afficheur OLED, je récupère la température d'un capteur distant n'importe ou sur le réseau. Voici un automate pour communiquer entre 2 objets connectés

test

  1. Sur l'objet connecté distant : déclarer dans son protocole MQTT un "topic", par exemple une temperature d'un capteur DHT sur un dispositif SonOff sur le topic "/SonOffExp/DHT/temperature"

  2. Sur votre esp, recopier le logiciel pour lire l'information distante publiée sur le topic déclaré dans MQTT_SERIAL_RECEIVER_CH

  3. brancher l'écran OLED sur les pins 26, 25 pour SDA et SCL : l'écran OLED va lire "24" si la température envoyée est de 24°

le code se trouve ici ou pour plusieurs topics ici

merci à Julio de Bures pour son aide

échanges d'information par MQTT

Amusez vous à échanger des informations ! Vous utilisez déjà HTTP pour rentrer une adresse sur le réseau. MQTT est beaucoup moins gourmand en ressources que HTTP. L'outil "Message Queue Telemetry Transport" est très pratique et bien illustré dans mqtt : il va servir pour lire ou écrire très facilement tous les messages des objets connectés.

mqtt

Échanger des données MQTT avec un esp

Amusez vous à utiliser un esp pour échanger des messages en utilisant les exemples de la librairie TinyMqtt pour un réseau d'objets à la maison

simple-broker va échanger des messages avec des objets connectés

le fonctionnement de MQTT peut se comparer à un journal ( "broker")

  • on s'abonne au journal ( "subscribe")
  • le journal enregistre les évènements et les publient ("publish")
  • tous les objets connectés à MQTT peuvent communiquer avec très peu de ressources informatiques

Mosquitto

Mosquitto va échanger des messages avec des objets connectés

Mosquitto s'installe sur un petit raspberry

Visio

Mosquitto lit des messages venant des objets connectés

Visio

Pour réaliser un banc de test, amusez vous à programmer un lecteur de message mqtt comme mosquitto sur un petit raspberry ou un orange pi en notant son adresse sur le réseau. Une sonde très pratique ! Ce n'est pas facile à lire mais vous avez un suivi de tous les messages reçus par un Orange Pi (orangepion) et 3 objets connectés de relevé de télémesure (tele), de commande de lumière (SonOff) et de capteur placé à la cave (Cave_36) en rentrant une seule ligne de commande

  •      mosquitto_sub -d -t "#" 
    

Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, 'tele/tasmota_91CD9C/SENSOR', ... (213 bytes)) {"TIC":{"ADCO":"041763022391","OPTARIF":"BASE","ISOUSC":25,"BASE":33351347,"PTEC":"TH..","IINST1":1,"IINST2":0,"IINST3":1,"IMAX1":60,"IMAX2":60,"IMAX3":60,"PMAX":4628,"PAPP":460,"HHPHC":"A","MOTDETAT":0,"PPOT":0}} Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/SonOffExp/DHT/temperature', ... (2 bytes)) 20 Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/SonOffExp/DHT/humidity', ... (2 bytes)) 22 Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/Cave_36/bmp/Temperature', ... (2 bytes)) 14 Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, 'tele/tasmota_91CD9C/SENSOR', ... (213 bytes)) {"TIC":{"ADCO":"041763022391","OPTARIF":"BASE","ISOUSC":25,"BASE":33351347,"PTEC":"TH..","IINST1":1,"IINST2":0,"IINST3":1,"IMAX1":60,"IMAX2":60,"IMAX3":60,"PMAX":4628,"PAPP":460,"HHPHC":"A","MOTDETAT":0,"PPOT":0}} Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/SonOffExp/DHT/temperature', ... (2 bytes)) 20 Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/SonOffExp/DHT/humidity', ... (2 bytes)) 22 Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, 'tele/tasmota_91CD9C/SENSOR', ... (213 bytes)) {"TIC":{"ADCO":"041763022391","OPTARIF":"BASE","ISOUSC":25,"BASE":33351347,"PTEC":"TH..","IINST1":1,"IINST2":0,"IINST3":1,"IMAX1":60,"IMAX2":60,"IMAX3":60,"PMAX":4628,"PAPP":460,"HHPHC":"A","MOTDETAT":0,"PPOT":0}} Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/Cave_36/bmp/Temperature', ... (2 bytes)) 14 Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/SonOffExp/DHT/temperature', ... (2 bytes)) 20 Client mosqsub|2821-orangepion received PUBLISH (d0, q0, r0, m0, '/SonOffExp/DHT/humidity', ... (2 bytes)) 22

Les petits "orange pi" ont une très faible consommation avec leur fréquence de travail qui s'ajuste à la charge : ce sont mes préférés

orange

Pour les experts en récupération, un ancien serveur Wyze peut faire un excellente sonde MQTT et faire tourner Domoticz

wyze

Allez plus loin pour connaitre-sa-consommation