Comment programmer un serveur web ESP32 en utilisant l'Arduino IDE
Interfacer avec un microcontrôleur sur un réseau Wi-Fi pour un serveur web Arduino était autrefois une affaire plutôt exotique. Aujourd'hui, vous pouvez mettre en place un serveur web local ESP32 en quelques minutes à l'aide d'une carte de développement ESP32 et de l'Arduino IDE. Pour cette démonstration, vous aurez besoin d'un Adafruit ESP32 Feather, ainsi que d'un accès à un réseau Wi-Fi fonctionnant à 2,4 GHz. Nous programmerons l'ESP32 en utilisant un Arduino 2.0 IDE. Un aimant, une LED et une résistance sont également utilisés mais sont optionnels.
Préparation du logiciel du serveur web ESP32
Commencez la configuration du serveur web ESP32 en installant l'IDE Arduino 2.0. Pour permettre à cela de fonctionner avec les appareils ESP32, ouvrez le dialogue Préférences de l'IDE Arduino et ajoutez cette ligne dans le champ des URLs du gestionnaire de cartes supplémentaires : https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json Allez dans Outils > Carte > Gestionnaire de cartes, et recherchez “esp32”. Installez la définition de carte “esp32 by Espressif Systems” qui apparaît et vous pourrez programmer les cartes ESP32, ainsi qu'accéder à une gamme d'exemples.
Contrôle de serveur LED
Branchez votre carte de développement ESP32 Feather à votre ordinateur via USB et sélectionnez le port approprié dans le menu déroulant à droite de l'icône de débogage. Une fois sélectionné, une liste de cartes s'affiche. Dans ce cas, tapez Adafruit esp32 et sélectionnez l'option Adafruit ESP32 Feather qui apparaît. Allez dans Fichier > Exemples > WiFi et chargez SimpleWiFiServer. Modifiez les lignes de code 30 et 31 pour inclure votre SSID et mot de passe réels. Assurez-vous d'accéder à un réseau 2,4 GHz si plusieurs options existent. Appuyez sur le bouton de téléchargement, et cela compilera et enverra le programme à votre carte. Une fois programmé, l'ESP32 Feather tentera de se connecter à votre réseau. Ouvrez le moniteur série dans l'IDE Arduino (icône dans le coin supérieur droit) et réglez-le sur 115200 bauds. Il listera une adresse IP pour l'accès, bien que vous deviez peut-être réinitialiser et/ou faire défiler vers le bas pour l'afficher. Accédez à l'adresse IP répertoriée dans votre navigateur, et vous serez accueilli par deux lignes de texte et des liens qui vous invitent à activer ou désactiver la broche 5. Vous pouvez connecter une LED/résistance à la broche 5 (comme illustré dans la première image) pour permettre au code de fonctionner tel quel. Alternativement, vous pouvez le régler sur la LED intégrée pour éviter cette petite complication matérielle. Pour ce faire, remplacez LED_BUILTIN par [broche] 5 sur les lignes 38, 103 et 106, et elle s'allumera sans aucun matériel externe. Vous pouvez également, optionnellement, changer « LED on pin 5 » en « LED intégrée » dans les lignes 87 et 88 pour rendre l'interface utilisateur précise. Téléchargez à nouveau pour permettre aux modifications d'entrer en vigueur.
Capteurs à effet Hall pour votre serveur web ESP32
La télécommande est géniale, mais que voulez-vous que votre serveur web ESP32 détecte dans un emplacement distant ? Ici, nous profiterons du capteur à effet Hall intégré du module ESP32-WROOM-32E pour nous montrer les champs magnétiques à proximité. Ajoutez les lignes de code suivantes directement sous la fonction client.print à la ligne 88 : int val = 0; val = hallRead(); client.print("statut du magnétisme "); client.print(val); Ce code établit une variable « val » pour stocker les lectures de l'effet Hall. Il lit le capteur Hall embarqué et affiche les résultats sur le navigateur web du client. Notez que c'est une valeur analogique qui dépend de la direction du champ.
Pour tester, téléchargez le code sur votre ESP32 Feather et pointez votre navigateur vers la bonne adresse IP. Vous remarquerez maintenant une troisième ligne affichant les lectures du champ magnétique. Placez un aimant sur le module ESP32-WROOM-32E, puis actualisez votre navigateur. Cette valeur se mettra à jour en fonction du champ magnétique présent. Vous pouvez toujours allumer et éteindre les lumières en suivant les liens de la page ou simplement en naviguant vers les adresses correspondantes, mais maintenant cette action mettra également à jour la valeur du champ magnétique.
Aller plus loin avec l'ESP32
Cet article explique comment configurer un serveur web très simple avec Arduino en utilisant une carte de développement ESP32 et un réseau Wi-Fi. Les capacités Wi-Fi de l'ESP32 permettent l'accès au cloud et à l'Internet plus large avec une configuration appropriée. Ce module peut être utilisé dans une large gamme d'applications grand public, de bricolage et de prototypage. Avant de créer votre serveur web ESP32 dans Arduino IDE, consultez la vaste sélection de produits de fabricants leaders du secteur sur Arrow.com, comme ceux ci-dessous, pour vous lancer.
Étiquettes d'article