🛠 Connecter un RP2040 au réseau avec UEXT-CH390 et ESPHome
Objectifs
Ce tutoriel vise à transformer une carte Raspberry Pi Pico (RP2040) en un nœud IoT filaire fiable. En utilisant le module UEXT-CH390, nous allons contourner les limites du Wi-Fi pour obtenir une connexion Ethernet stable, essentielle pour les systèmes domotiques critiques. L'objectif est d'intégrer ce nœud dans Home Assistant via ESPHome, en exploitant les fonctions DHCP et OTA natives.
Matériel nécessaire
- Une carte Raspberry Pi Pico ou Pico 2.
- Le module Olimex UEXT-CH390 (contrôleur WCH CH390).
- Un câble Ethernet RJ45 et un routeur/switch actif.
- Un câble USB-C pour l'alimentation et la programmation.
- Un ordinateur avec ESPHome installé (via pip ou Docker).
Étapes
- Connexion matérielle : Insérez le module UEXT-CH390 dans le connecteur UEXT de la carte Pico. Assurez-vous que les broches sont alignées. Le module est alimenté en 3.3V via le bus UEXT. Aucune soudure n'est requise si vous utilisez les connecteurs dédiés.
- Configuration ESPHome : Créez un nouveau fichier YAML dans votre éditeur ESPHome. Définissez la plateforme comme
rp2040. Ajoutez le composantspien utilisant les broches par défaut du Pico (GP2, GP3, GP4, GP5 pour MOSI, MISO, SCLK, CS respectivement, à vérifier selon votre schéma). - Déclaration du CH390 : Dans la section
ethernet, spécifiez le chipsetCH390. ESPHome gère automatiquement l'initialisation du MAC et du PHY intégrés au module. - Activation des services : Activez
apipour la communication avec Home Assistant,otapour les mises à jour sans fil, etweb_serverpour l'accès local. Configurezdhcppour une attribution automatique d'IP. - Compilation et Flash : Compilez le firmware. Branchez la Pico en mode bootloader (bouton BOOTSEL maintenu lors de la connexion USB). Glissez le fichier
.uf2généré sur le lecteur de masse USB.
Vérification
Une fois la Pico redémarrée, branchez le câble Ethernet. Vérifiez dans l'interface de votre routeur qu'un nouvel appareil a obtenu une adresse IP. Ouvrez l'adresse IP dans un navigateur web pour voir l'interface locale ESPHome. Dans Home Assistant, le nœud doit apparaître automatiquement via la découverte mDNS. Testez la latence avec une commande simple (ex: lecture d'un capteur virtuel) pour confirmer la stabilité du lien filaire.
Pour aller plus loin
Explorez l'utilisation du tampon SRAM de 16 Ko du CH390 pour gérer des flux de données plus lourds ou des mises à jour OTA rapides. Vous pouvez également combiner ce module avec d'autres capteurs sur le bus I2C ou SPI restant pour créer une station météo filaire haute fréquence.
Autres tutoriels pour cette carte
- Premier branchement et mise en route de l'UEXT-CH390
- Contrôler des GPIO et capteurs avec UEXT-CH390
- Cas d'usage complet : Connectivité Ethernet pour Raspberry Pi Pico
- Premier branchement et mise en route de l'UEXT-CH390
- Intégrer des GPIO avec l'Ethernet UEXT-CH390
- Mise en route avancée : UEXT-CH390 et Raspberry Pi Pico
Exemples de code pour cette carte
esp32-ch390-lwip-station.inoC++rp2040-pico-ch390-micropython.pyPythonesp32-ch390-udp-sensor-gateway.inoC++esp32-ch390-web-server-local.inoC++rp2040-ch390-iot-home-assistant.inoYAMLrp2040-lwip-ethernet-ping-6.inoC/C++ (Raspberry Pi Pico SDK)