Chapitre 3 : Installation et configuration de ESPHome sur le module ESP32       Introduction : je donne les explications pour un ordinateur fonctionnant sous Windows.       Python
  Sous Windows, préalablement à l'installation de ESPHome, il faut commencer par installer Python qui est disponible en téléchargement ici : https://www.python.org/downloads/   J'ai réalisé ce tutoriel avec la version 3.11.1, mais je vous conseille d'utiliser la dernière version disponible au moment de votre installation.   Après téléchargement de l'exécutable, l'installation en elle-même n'appelle aucun commentaire particulier car c'est du type "Next Next Next" dans l'assistant.   Une fois cette opération terminée, ouvrir une fenêtre d'invite de commande pour vérifier la bonne installation :   Microsoft Windows [version 10.0.19045.2251] (c) Microsoft Corporation. Tous droits réservés. C:\Users\Lazer> python --version Python 3.11.1 Installer ensuite les composants wheel et esphome à l'aide des commandes suivantes : C:\Users\Lazer> pip3 install wheel Collecting wheel Downloading wheel-0.38.4-py3-none-any.whl (36 kB) Installing collected packages: wheel Successfully installed wheel-0.38.4 C:\Users\Lazer> pip3 install esphome ... Vérifier la version de ESPHome installée, qui sera plus récente que cette de ce tutoriel : C:\Users\Lazer> esphome version Version: 2022.11.5       ESPHome       Documentations de référence : Installing ESPHome Manually Getting Started with the ESPHome Command Line     Tout d'abord on crée un répertoire de travail pour ESPHome et on se place dedans : C:\Users\Lazer> cd Documents C:\Users\Lazer\Documents> mkdir ESPHome C:\Users\Lazer\Documents> cd ESPHome       Étape facultative de test :   Cette étape est facultative, néanmoins elle est bien utile pour valider le bon fonctionnement de votre installation, et que le module ESP32 est bien reconnu.   Puis lancer l'assistant à l'aide de la commande suivante, qui va déployer une instance ESPHome de test sur votre microcontrôleur : name : test ESP32/ESP8266 : ESP32 board : wemos_d1_mini32 (à adapter si vous utilisez un autre type de module que celui proposé dans ce tuto) ssid : < le nom de votre réseau Wi-Fi > PSK : < le mot de passe de votre réseau Wi-Fi > C:\Users\Lazer\Documents\ESPHome> esphome wizard test.yaml Hi there! I m the wizard of ESPHome :) And I m here to help you get started with ESPHome. In 4 steps I m going to guide you through creating a basic configuration file for your custom ESP8266/ESP32 firmware. Yay! ============= STEP 1 ============= _____ ____ _____ ______ / ____/ __ \| __ \| ____| | | | | | | |__) | |__ | | | | | | _ /| __| | |___| |__| | | \ \| |____ \_____\____/|_| \_\______| =================================== First up, please choose a name for your node. It should be a unique name that can be used to identify the device later. For example, I like calling the node in my living room livingroom. (name): test Great! Your node is now called "test". ============= STEP 2 ============= ______ _____ _____ | ____|/ ____| __ \\ | |__ | (___ | |__) | | __| \___ \| ___/ | |____ ____) | | |______|_____/|_| =================================== Now I d like to know what microcontroller you re using so that I can compile firmwares for it. Are you using an ESP32 or ESP8266 platform? (Choose ESP8266 for Sonoff devices) Please enter either ESP32 or ESP8266. (ESP32/ESP8266): ESP32 Thanks! You ve chosen ESP32 as your platform. Next, I need to know what board you re using. Please go to http://docs.platformio.org/en/latest/platforms/espressif32.html#boards and choose a board. (Type esp01_1m for Sonoff devices) For example "nodemcu-32s". Options: alksesp32, az-delivery-devkit-v4, bpi-bit, briki_abc_esp32, briki_mbc-wb_esp32, d-duino-32, esp-wrover-kit, esp32-devkitlipo, esp32-evb, esp32-gateway, esp32-poe, esp32-poe-iso, esp32-pro, esp320, esp32cam, esp32dev, esp32doit-devkit-v1, esp32doit-espduino, esp32thing, esp32thing_plus, esp32vn-iot-uno, espea32, espectro32, espino32, etboard, featheresp32, featheresp32-s2, firebeetle32, fm-devkit, frogboard, healtypi4, heltec_wifi_kit_32, heltec_wifi_kit_32_v2, heltec_wifi_lora_32, heltec_wifi_lora_32_V2, heltec_wireless_stick, heltec_wireless_stick_lite, honeylemon, hornbill32dev, hornbill32minima, imbrios-logsens-v1p1, inex_openkb, intorobot, iotaap_magnolia, iotbusio, iotbusproteus, kits-edu, labplus_mpython, lolin32, lolin32_lite, lolin_c3_mini, lolin_d32, lolin_d32_pro, lopy, lopy4, m5stack-atom, m5stack-core-esp32, m5stack-core2, m5stack-coreink, m5stack-fire, m5stack-grey, m5stack-timer-cam, m5stick-c, magicbit, mgbot-iotik32a, mgbot-iotik32b, mhetesp32devkit, mhetesp32minikit, microduino-core-esp32, nano32, nina_w10, node32s, nodemcu-32s, nscreen-32, odroid_esp32, onehorse32dev, oroca_edubot, pico32, piranha_esp32, pocket_32, pycom_gpy, qchip, quantum, s_odi_ultra, sensesiot_weizen, sg-o_airMon, sparkfun_lora_gateway_1-channel, tinypico, ttgo-lora32-v1, ttgo-lora32-v2, ttgo-lora32-v21, ttgo-t-beam, ttgo-t-watch, ttgo-t1, ttgo-t7-v13-mini32, ttgo-t7-v14-mini32, turta_iot_node, vintlabs-devkit-v1, wemos_d1_mini32, wemosbat, wesp32, widora-air, wifiduino32, xinabox_cw02 (board): wemos_d1_mini32 Way to go! You ve chosen wemos_d1_mini32 as your board. ============= STEP 3 ============= __ ___ ______ _ \ \ / (_) ____(_) \ \ /\ / / _| |__ _ \ \/ \/ / | | __| | | \ /\ / | | | | | \/ \/ |_|_| |_| =================================== In this step, I m going to create the configuration for WiFi. First, what s the SSID (the name) of the WiFi network test should connect to? For example "Abraham Linksys". (ssid): MonWiFi Thank you very much! You ve just chosen "MonWiFi" as your SSID. Now please state the password of the WiFi network so that I can connect to it (Leave empty for no password) For example "PASSWORD42" (PSK): XXXXX Perfect! WiFi is now set up (you can create static IPs and so on later). ============= STEP 4 ============= ____ _______ / __ \__ __|/\\ | | | | | | / \\ | | | | | | / /\ \\ | |__| | | |/ ____ \\ \____/ |_/_/ \_\\ =================================== Almost there! ESPHome can automatically upload custom firmwares over WiFi (over the air) and integrates into Home Assistant with a native API. This can be insecure if you do not trust the WiFi network. Do you want to set a password for connecting to this ESP? Press ENTER for no password (password): DONE! I ve now written a new configuration file to test.yaml Next steps: > Follow the rest of the getting started guide: > https://esphome.io/guides/getting_started_command_line.html#adding-some-features > to learn how to customize ESPHome and install it to your device. On découvre qu'un fichier test.yaml, au format YAML, a été automatiquement créé : C:\Users\Lazer\Documents\ESPHome> dir 12/12/2022 21:34 <DIR> . 12/12/2022 21:34 <DIR> .. 12/12/2022 21:34 <DIR> .esphome 12/12/2022 21:34 406 test.yaml 1 fichier(s) 406 octets 3 Rép(s) 333 484 572 672 octets libres Il faut maintenant connecter le module ESP32 sur votre ordinateur à l'aide d'un câble USB, puis lancer le Gestionnaire de périphériques de Windows. Dans cet exemple, le module est reconnu sur le port COM4 :     Lancer ensuite la commande suivante qui compiler, uploader, et exécuter le code ESPHome sur le microcontrôleur.
Lorsqu'il demande le nom du port COM sur lequel est reconnu votre ESP32 connecté, entrer le numéro du choix correspondant, dans mon exemple il s'agit du n°2 pour COM4 : C:\Users\Lazer\Documents\ESPHome> esphome run test.yaml ... Found multiple options for uploading, please choose one: [1] COM1 (USB Serial Port (COM1)) [2] COM4 (Silicon Labs CP210x USB to UART Bridge (COM4)) [3] Over The Air (test.local) (number): 2 ... [18:00:36][C][wifi:038]: Setting up WiFi... [18:00:36][C][wifi:051]: Starting WiFi... [18:00:36][C][wifi:052]: Local MAC: 00:00:00:00:00:00 [18:00:36][D][wifi:428]: Starting scan... [18:00:42][D][wifi:443]: Found networks: [18:00:42][I][wifi:487]: - 'MonWiFi' (00:00:00:00:00:00) ▂▄▆█ [18:00:42][D][wifi:488]: Channel: 6 [18:00:42][D][wifi:489]: RSSI: -73 dB [18:00:42][I][wifi:277]: WiFi Connecting to 'MonWiFi'... [18:00:45][I][wifi:560]: WiFi Connected! [18:00:45][C][wifi:382]: Local MAC: 00:00:00:00:00:00 [18:00:45][C][wifi:383]: SSID: 'MonWiFi' [18:00:45][C][wifi:384]: IP Address: 192.168.1.2 ... J'ai abrégé la sortie d'écran car c'est très long (compilation du code...)
On constate qu'à la fin du processus, il se connecte automatiquement au réseau WiFi et obtient une adresse IP. Dans une autre fenêtre de commande, on peut par exemple le pinguer pour s'assurer que la communication est OK : C:\Users\Lazer> ping -n 2 192.168.1.2 Envoi d’une requête 'Ping' 192.168.1.2 avec 32 octets de données : Réponse de 192.168.1.2 : octets=32 temps=95 ms TTL=255 Réponse de 192.168.1.2 : octets=32 temps=93 ms TTL=255 Statistiques Ping pour 192.168.1.2: Paquets : envoyés = 2, reçus = 2, perdus = 0 (perte 0%), Durée approximative des boucles en millisecondes : Minimum = 93ms, Maximum = 95ms, Moyenne = 94ms   Le module est donc parfaitement opérationnel.     Fin de l'étape facultative de test.       Déploiement configuration ESPHome Mitsubishi   Télécharger les 2 fichiers YAML suivants : mitsubishi-room.yaml secrets.yaml   Le premier fichier, mitsubishi-room.yaml, est le fichier de configuration permettant d'utiliser l'intégration Climate avec le composant mitsubishi_heatpump. Il faut utiliser un fichier différent pour chaque pièce, dans le cas où plusieurs splits sont utilisés dans la maison, afin que chacun soit identifier avec un nom bien distinct. Dans ce cas, il suffit de remplacer "room" dans le nom du fichier par un nom de pièce plus parlant pour votre installation, par exemple "mitsubishi-salon.yaml" et de modifier les premières lignes du fichier en conséquence : substitutions: name: mitsubishi-salon friendly_name: Split Salon   Le second fichier, secrets.yaml, est le fichier de configuration des mots de passes, dans lequel vous devez au minimum modifier le nom de votre réseau Wi-Fi et son mot de passe afin que le module ESP32 puisse se connecter automatiquement dessus. wifi_ssid: MonWiFi wifi_password: MonMotDePasseWiFi wifi_fallback_ap_password: ESPHomeFallbackSecretAP ota_password: ESPHomeOTAsecret Comme pour le test précédent, il faut compiler et envoyer le code ESPHome vers le microcontrôleur ESP32 à l'aide de la commande suivante : C:\Users\Lazer\Documents\ESPHome> esphome run mitsubishi-room.yaml Cette opération est à répéter pour chacun des modules à programmer, en les connectant au port USB de votre ordinateur les uns à la suite des autres. Attention le numéro du port COM est susceptible de changer pour chaque carte, bien vérifier ce point dans le Gestionnaire de périphériques.   Après avoir obtenu une adresse IP, le module intègre une interface Web et est donc maintenant directement accessible via un navigateur : http://192.168.1.2 Une fois cette étape validée, il est possible de déconnecter le module du port USB et d'aller l'installer dans le split et de le connecter sur le port CN105 (éventuellement en utilisant une rallonge comme proposé dans ce tuto, ce qui simplifie l'opération).   Dès qu'il est connecté, le module ESP32 est alimenté le split et se connecte automatiquement au réseau Wi-Fi.   Si la communication série entre ESPHome et le port CN105 du split est opérationnelle, on peut dores et déjà visualiser l'état du split et le piloter en local :     Je vous conseille fortement d'utiliser le serveur DHCP de votre box/routeur Internet pour forcer une adresse IP fixe pour chaque split. En effet, cette adresse IP sera par la suite utilisée par le QuickApp pour piloter chaque split.  
    • Upvote
    • Like
    3