Table des matières

Sommaire Microcontrôleur

Microcontrôleurs - ESP8266 Feather Huzzah

[Mise à jour le 10/8/2023]

Ressources
Lectures connexes
Distributeurs

1. Généralités

La carte Feather HUZZAH ESP8266, développée par Adafruit, est une carte de développement WiFi “tout-en-un” à ESP8226 avec USB intégré et chargeur de batterie.

2. Principales caractéristiques

3. Brochage

4. Accessoires

Grove Shield FeatherWing for Particle Mesh and all Feathers

Shield ESP Commentaires
D22GPIO 2 est connectée à la LED bleue située près de l’antenne WiFi. Utilisable comme sortie.
D316GPIO 16 utilisable comme sortie.
D40GPIO 0 n’a pas de pull-up interne. Est connectée à la LED rouge. Utilisable comme sortie.
D515GPIO 15 utilisable comme sortie.

5. Préparation de l'IDE Arduino

5.1 Généralités

L'ESP8266 Arduino core est livré avec des bibliothèques permettant :

5.2 Installation du support pour les cartes à "ESP8266"

Remarque : une URL par ligne, pas de séparateur !

5.3 Installation du gestionnaire de carte

6. Installation de MicroPython

7. Programmation de la carte ESP8266

*.cpp
void setup() {
  pinMode(LED_BUILTIN,OUTPUT);
}
 
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  delay(1000);                   
  digitalWrite(LED_BUILTIN, LOW);    
  delay(1000);                    
}
A faire

7.2 Test du Wifi

Le SSID et le mot de passe du réseau doivent avoir été préalablement chargés avec infoClientMQTT_ESP8266.ino
*.cpp
// Connexion au wifi
#include <ESP8266WiFi.h>
// mDNS pour la résolution des noms des hôtes
#include <ESP8266mDNS.h>
//  EEPROM : émule une EEPROM dans l'ESP8266
#include <EEPROM.h>
// ---------------------------------------------------------------------------------
// Structure pour la configuration de la connexion au réseau wifi
struct EEconf
{ // Les champs sont remplis par le croquis infoClientMQTT_ESP8266.ino
    // avec les données stockées dans l'EEPROM (émulée)
    char ssid[32];       // SSID du réseau. Exemple : SynBoxLAN,
    char password[64];   // Mot de passe du réseau. Exemple : 12345678
    char myhostname[32]; // Nom donné au client MQTT. Exemple : ESP8266_1
} readconf;
// Objet pour la connexion au réseau wifi
WiFiClient espClient;
 
// Connexion au Wifi
// ---------------------------------------------------------------------------------
void setup_wifi()
{
    // Mode station
    WiFi.mode(WIFI_STA);
    Serial.println();
    Serial.print("Tentative de connexion à ");
    Serial.println(readconf.ssid);
    // Connexion au Wifi
    WiFi.begin(readconf.ssid, readconf.password);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(5000);
        Serial.print(".");
    }
    // Affichage
    Serial.println("");
    Serial.println("Connexion au Wifi ok");
    Serial.print("MAC: ");
    Serial.println(WiFi.macAddress());
    Serial.print("Adresse IP : ");
    Serial.println(WiFi.localIP());
    // Configuration de mDNS
    WiFi.hostname(readconf.myhostname);
    if (!MDNS.begin(readconf.myhostname))
    {
        Serial.println("Erreur de configuration mDNS !");
    }
    else
    {
        Serial.println("Répondeur mDNS démarré");
        Serial.println(readconf.myhostname);
    }
}
 
void setup()
{
    // Configuration du moniteur série
    Serial.begin(115200);
    delay(500);
    // Lecture des paramètres sauvegardés par ARD_ESP_SauveInfosClientMqtt.ino
    EEPROM.begin(sizeof(readconf));
    EEPROM.get(0, readconf);
    // Connexion au Wifi
    setup_wifi();
}
 
void loop()
{
    delay(100);
}

Exemple de résultat attendu

TELECHARGER

Le projet PlatformIO pour VSCode.
A faire

8. Résolution des problèmes

8.1 Installation du driver USB

8.2 Réinstallation ou mise à jour du firmware

Pour aller plus loin

1) , 2)
Avec une ESP8266 Feather Huzzah, il est nécessaire de connecter une résistance de 10k entre la broche CHPD et le 3,3V