++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Atelier Domotique : déroulé ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. include:: idBlock.rst :Création: 03/2025 .. include:: tdm.rst .. _refatelierDeroule: ==================================================================================================== Présentation: déroulé synthétique ==================================================================================================== Présentation de la domotique Présentation de l'atelier : un cas pratique Conclusion: Annonce de l'atelier Home Assistant ==================================================================================================== Présentation de la domotique ==================================================================================================== Un mot revient dans la littérature **AUTOMATISATION**. Présenter le concept de box: pourquoi Le monde des objets connectés Nécessaire : un réseau : le plus connu, facile. J'ai nommé le Wi-Fi Insister sur : Les compatibilités La sécurité ==================================================================================================== Présentation de l'atelier ==================================================================================================== Un cas pratique : Création d'une box domotique Création de quelques objets connectés Connexion de ce petit monde Pompe de relevage ==================================================================================================== Création de la box domotique ==================================================================================================== Rpi pourquoi Rpi alternatives Paramètre essentiel ou Ce qu'il faut surveiller : la consommation Un réseau : le Wi-Fi mais il n'y a pas que lui ! Thread, zigbee et Matter Rpi sd minimum avec wifi et ssh (Mettre un fichier txt sur le bureau des postes avec les commandes) Installation du Raspberry pi ---------------------------------------------------------------------------------------------------- Installation Rpi: Via **Rpi Imager** .. admonition:: **SITE OFFICIEL** :class: SEEALSO `Raspberry Pi OS`_ .. _`Raspberry Pi OS` : https://www.raspberrypi.com/software/ .. image:: images/pi-imager.jpg :width: 300 px Modèle de Raspberry pi : Raspberry pi 3 Système d'exploitattion : Raspberry pi OS (other) => Raspberry pi OS (legacy, 32-bit) Lite Choisir le stockage .. image:: images/choisirStockage01.JPG :width: 300 px Insérer la carte SD, **choisir la bonne lettre** ! .. image:: images/choisirStockage02.JPG :width: 300 px *SUIVANT* .. image:: images/personnalisation-os.jpg :width: 300 px *MODIFIER LES REGLAGES* .. image:: images/personnalisation-general.jpg :width: 300 px Nom d'hôte: lab1 à 5 (tout en minuscule) Nom d'utilisateur : user Mot de passe : 123456 SSID : celui du fichier credentials.txt (le wifi du lab) Mot de passe : celui du fichier credentials.txt .. image:: images/personnalisation-services.jpg :width: 300 px .. image:: images/personnalisation-options.jpg :width: 300 px ENREGISTRE et OUI .. image:: images/personnalisationOs02.jpg :width: 300 px Répondre non à toutes les question de formatage et autres de Windows. .. admonition:: **Temps de gravure** :class: CAUTION Temps de gravure : 2 minutes 10 environ Ouvrir le ficher config.txt de la lettre de lecteur bootfs et copier coller à la fin après [all]:: enable_uart=1 Sortir la carte SD du PC la mettre dans le pi et démarrer le pi attendre 2 minutes qu'il démarre. Déterminer l'adresse du Raspeberry pi:: Bouton rechercher de Windows cmd arp -a Si connecter en ssh au rpi:: ssh lab5@192.168.1.xx Si ça bloque avec le message suivant:: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:hRSVzrIfU9JrOYqRIG+/V+tITtMofkO62P33lBQamP8. Please contact your system administrator. Add correct host key in C:\\Users\\jojo/.ssh/known_hosts to get rid of this message. Offending ECDSA key in C:\\Users\\jojo/.ssh/known_hosts:30 Host key for 192.168.1.91 has changed and you have requested strict checking. Host key verification failed. alors faire : ssh-keygen -R 192.168.1.xx Voir le fichier adresses.txt:: b8-27-eb-80-73-7f : n°1 ssh lab1@192.168.1.80 b8-27-eb-ec-e8-ef : n°2 b8-27-eb-10-cd-d0 : n°3 b8-27-eb-71-59-28 : n°4 b8-27-eb-31-69-37 : n°5 ssh lab5@192.168.1.69 Installation du serveur MQTT ---------------------------------------------------------------------------------------------------- Installation de Mosquitto/MQTT Point vocabulaire : **broker** Message Queuing Telemetry Transport (MQTT) est un protocole de messagerie de publication-abonnement populaire et léger MQTT un boîte aux lettres Je n'attends pas de ma boîte aux lettres qu'elle gère quoi que ce soit 😜 Voir dans le fichier **commandes.txt**:: (astuce copier ctrl-c et coller clic droit de la souris) sudo apt update sudo apt install mosquitto systemctl status mosquitto sudo systemctl enable mosquitto.service sudo mosquitto_passwd -c /etc/mosquitto/passwd mqtt_user 123456 sudo nano /etc/mosquitto/conf.d/default.conf allow_anonymous false password_file /etc/mosquitto/passwd listener 1883 ctrl-o et ctrl-x sudo systemctl restart mosquitto Test avec `MQTTExplorer`_ version portable .. _`MQTTExplorer` : https://mqtt-explorer.com/ .. image:: images/mqttExplorer01.JPG :width: 300 px .. image:: images/mqttExplorer02.JPG :width: 300 px Donc il faut un automatiseur c'est le rôle de Node-RED Installation de Node-RED ---------------------------------------------------------------------------------------------------- .. admonition:: **SITE OFFICIEL** :class: SEEALSO `Node-RED.org`_ .. _`Node-RED.org` : https://nodered.org/ Documentation => Getting started => Raspberry pi:: bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) Répondre aux question : y, y.... :: Setting file return Projects feature no Enter a name for flow fle : return pas de passphrase theme for editor : default monaco Node settings : yes Security : No Le reste par défaut Attendre 4mn .. image:: images/noderedInstall.JPG :width: 300 px Puis : node-red-start& Vérification dans le navigateur avec : 192.168.1.xx:1880 Installation du Dashboard Node-RED menu à droite 3 traits => Gérer la palette => installer => node-red-dashboard encore 30s .. image:: images/noderedGererPalette.jpg :width: 300 px .. image:: images/node-red-dash.JPG :width: 300 px Environ 30 minutes pour installer les 2 serveurs Découverte de Node-RED ---------------------------------------------------------------------------------------------------- Dans Node-RED : les noeuds s'échange des messages ! Ces messages ont des payloads Exemple timestamp to debug .. image:: images/noderedexemple01.JPG :width: 300 px Exemple Changement de la payload .. image:: images/noderedexemple02bis.JPG :width: 300 px Exemple : payload et topic .. image:: images/noderedMessageId_payload_topic.JPG :width: 300 px Exemple : timestamp => mqtt_out sur test mqtt_in de test debug .. image:: images/noderedexemple02.JPG :width: 300 px mqtt_out devient test .. image:: images/nodredMqttOutConfig.jpg :width: 300 px Tout en observant avec MQTT Explorer ==================================================================================================== Création de notre premier objet connecté ==================================================================================================== Capteur de température et d'humidité Dht11 Basé sur un Esp8266 et plus particulière une carte WEMOS D1 0.99€ sur Aliexpress et 1.6€ sur AMAZON Installation de Tasmota ---------------------------------------------------------------------------------------------------- `Tasmota install SITE`_ .. _`Tasmota install SITE` : https://tasmota.github.io/install/ .. image:: images/googleTasmotaInstall.JPG :width: 300 px .. admonition:: **Qu'avec du Chrome like** :class: WARNING Tasmota Web Installer - flash Tasmota using a Chrome based browser for ESP82XX and ESP32 .. image:: images/tasmotaWebInstaller.JPG :width: 300 px Cliquer sur CONNECT .. image:: images/tasmotaWebInstaller.Connexion.JPG :width: 300 px Cliquer INSTALL TASMOTA FR .. image:: images/tasmotaWebInstaller.Connected.JPG :width: 300 px Erase Device .. image:: images/tasmotaWebInstaller.EraseDevice.JPG :width: 300 px Install... wait... NEXT .. image:: images/tasmotaWebInstaller.InstallComplete.JPG :width: 300 px Configure Wi-Fi .. image:: images/tasmotaWebInstaller.ConfigureWifi.JPG :width: 300 px Device Connected VISIT DEVICE .. image:: images/TasmotaInterface01.JPG :width: 300 px **Repérer l'adresse: 192.168.1.xx** Configuration de Tasmota ---------------------------------------------------------------------------------------------------- Choisir 18 Generic/Enregistrer .. image:: images/tasmotaConfig01.JPG :width: 300 px Pas de panique ça redémarre: .. image:: images/tasmotaRedemarre.jpg :width: 300 px Configurer DHT22 sur D5 .. image:: images/tasmotaConfigureDHT11_D5.JPG :width: 300 px CONFIGURATION MQTT .. image:: images/configMQtt.jpg :width: 300 px Changer les noms dans configuration/autres configurations .. image:: images/tasmotaChangeNames.JPG :width: 300 px Connexion à MQTT .. image:: images/tasmottaMQTTConfigDHT11.JPG :width: 300 px Vérification dans la console de TASMOTA et dans MQTT explorer ---------------------------------------------------------------------------------------------------- .. image:: images/tasmotaGotoConsole.JPG :width: 300 px **TelePeriod 15** dans la console passe la vitesse de rafraîchissement à 15s .. image:: images/tasmotaConsoleTelepoint_30.JPG :width: 600 px Et dans MQTT explorer .. image:: images/mqttexplorer_DHT11_30sGraph.JPG :width: 600 px ==================================================================================================== Pilotage avec nodered ==================================================================================================== Exemple03: extraction des données de température et d'humidité .. image:: images/noderedexemple03.JPG :width: 800 px Configuration des graphes du Dashboard: .. image:: images/noderedConfigGraph.jpg :width: 300 px Faire + et laisser tout par défaut dans un premier Temps Puis se rendre dans le dashboard: .. image:: images/noderedGotoDashBoard.jpg :width: 300 px puis: .. image:: images/noderedGotoDashBoard02.jpg :width: 300 px Et sous vos yeux ébahis: .. image:: images/noderedDashboardHomeDefault.JPG :width: 300 px ==================================================================================================== Automatiser une pompe ==================================================================================================== Exemple 4 : Mesure de distance .. image:: images/noderedexemple04.JPG :width: 300 px Un détecteur hc sr04 Un commande de moteur Même cœur esp8266 Et encore Tasmota ==================================================================================================== Conclusion ==================================================================================================== Nous voilà au terme de cet atelier dans lequel vous avez: Créer une box domotique en:: Installant un Raspberry pi minimum sans écran ni clavier ni souris Appris à trouvé son adresse grâce à Angry Ip ou avec la commande arp A Installé un serveur MQTT et le configuré Installé un serveur Node-RED Vous avez également créé un objet connecté de mesure de température et d'humidité grâce à Tasmota. Appris à récupérer les données dans Node-RED et les affichées sous forme de graphiques dans un navigateur internet. Dans prochain atelier nous verrons **Home Assistant** ==================================================================================================== Weblinks ==================================================================================================== .. target-notes::