arduino:uc:esp8266

Ceci est une ancienne révision du document !


Sommaire Arduino

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.

  • SOC : ESP8266
  • Processeur : 32-bit CPU @ 80MHz
  • Wifi 802.11 b/g/n (WEP/WPA-PSK/WPA2-PSK)
  • Flash : 4MB
  • SRAM : 96K
  • GPIO : 9 (logique 3,3V) partagés avec I2C et SPI
  • I²C : 1 (logiciel)
  • SPI : 1
  • UART : 2
  • Entrée analogique : 1 (1V max)
  • Alimentation : 5V régulateur 3.3V (pic de courant 500mA max)
  • Chargeur Lipo intégré :( 3,7V - 4,2V) - 100mA
  • LED rouge à usage général sur la broche 0
  • Bouton de Reset
  • Consommation : 60 à 200mA
  • Dimensions : 51mm x 23mm x 8mm
  • Masse : 6g
  • Identification et description des entrées / sorties de la carte Huzzah sur le site Adafruit.

Grove Shield FeatherWing for Particle Mesh and all Feathers

  • Adafruit Grove Shield FeatherWing pour Particle Mesh et tous les Feathers1).
    • Caractéristiques
      • 8 connecteurs Grove :
        • 3 connecteurs analogiques, 2 broches analogiques par connecteur, 6 broches analogiques au total;
        • 2 connecteurs numériques, 2 broches numériques par connecteur, 4 broches numériques au total;
        • 2 connecteurs I2C
        • 1 connecteur UART
    • Schéma de la carte ici
    • Photo de l'adaptation à réaliser sur la carte Adafruit Grove Shield (R=10k)2) : ici
    • Distributeurs : Mouser et (Adafruit)
    • Table de correspondance
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.

  • Batterie Lipo 3,7V 500mA
    • Caractéristiques
      • Tension: 3,7 Vcc
      • Intensité: 400 mAh
      • ​​Courant de décharge maxi: 880 mA
      • Connecteur: 2 broches type JST
      • Dimensions: 35,5 x 25,5 x 5,2 mm
      • Longueur du câble: 100 mm
      • Poids: 10 g
    • Distributeurs : Gotronic

5.1 Généralités

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

  • de communiquer via le WiFi en utilisant les protocoles TCP et UDP,
  • de configurer des serveurs HTTP, mDNS, SSDP et DNS,
  • d'effectuer des mises à jour OTA,
  • d'utiliser un système de fichiers en mémoire flash et
  • de travailler avec des cartes SD, des servos, des périphériques SPI et I2C.

5.2 Installation du support pour les cartes à "ESP8266"

  • L'installation du support ESP8266 pour Arduino se fait en passant par l’édition des préférences (FichierPréférences).
    Dans « URL de gestionnaire de cartes supplémentaires » ajoutez
    https://arduino.esp8266.com/stable/package_esp8266com_index.json

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

5.3 Installation du gestionnaire de carte

  • Dans le menu « Outils » , « Type de carte » et « Gestionnaire de carte », rechercher « esp8266 by ESP8266 Community » et installer le composant.

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

6.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

Télécharger le projet PlatformIO pour VSCode.

7.1 Installation du driver USB

  • Si le port COM n'est pas identifiable lors de la connexion de l'ESP8266 au PC, installer le driver USB depuis Silicon Lab.

7.2 Réinstallation ou mise à jour du firmware


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
  • arduino/uc/esp8266.1659114602.txt.gz
  • Dernière modification : 2022/07/29 19:10
  • de phil