Arduino + ESP8266 Module Wifi

On utilise l’IDE arduino pour flasher le module ESP8266

alt text
Modèle ESP-01

Description: Le module WiFi ESP8266 est un SOC autonome avec une pile de protocoles TCP / IP intégrée qui permet à n’importe quel microcontrôleur d’accéder à votre réseau WiFi. L’ESP8266 est capable d’héberger une application ou de décharger toutes les fonctions de réseau Wi-Fi d’un autre processeur d’application. Chaque module ESP8266 est préprogrammé avec un microprogramme de commande AT, ce qui signifie que vous pouvez simplement raccorder ce périphérique à votre périphérique Arduino et bénéficier d’une capacité Wi-Fi comparable à celle d’un WiFi Shield (et c’est tout simplement sorti de la boîte)! Le module ESP8266 est un conseil extrêmement rentable avec une communauté énorme et toujours croissante.

Ce module possède une capacité de stockage et de traitement embarqués suffisante qui lui permet d’être intégré avec les capteurs et autres dispositifs spécifiques à l’application grâce à ses GPIO avec un minimum de développement et un minimum de chargement pendant l’exécution. Son haut degré d’intégration sur puce permet un minimum de circuits externes, y compris le module avant, est conçu pour occuper une surface PCB minimale. L’ESP8266 prend en charge APSD pour les applications VoIP et les interfaces de coexistence Bluetooth, il contient un RF auto-calibré lui permettant de fonctionner dans toutes les conditions de fonctionnement et ne nécessite aucune pièce RF externe.

Il ya une source presque illimitée d’informations disponibles pour l’ESP8266, qui a été fourni par le soutien de la communauté étonnante. Dans la section Documents ci-dessous, vous trouverez de nombreuses ressources pour vous aider à utiliser l’ESP8266, des instructions sur la façon de transformer ce module en une solution IoT (Internet of Things)!

Remarque: Le module ESP8266 n’est pas capable de décaler 5,3V et nécessite un convertisseur de niveau logique externe. Veuillez ne pas l’alimenter directement à partir de votre carte de 5V.

Note: Cette nouvelle version du module ESP8266 WiFi a augmenté la taille du disque flash de 512k à 1MB.

Caractéristiques:

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • Integrated TCP/IP protocol stack
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • Integrated PLLs, regulators, DCXO and power management units
  • +19.5dBm output power in 802.11b mode
  • Power down leakage current of <10uA
  • 1MB Flash Memory
  • Integrated low power 32-bit CPU could be used as application processor
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4ms guard interval
  • Wake up and transmit packets in < 2ms
  • Standby power consumption of < 1.0mW (DTIM3)

Documents:

Installation Arduino IDE

Installation arduino sous archlinux/manjaro

yaourt -S arduino

Ajouter l’utilisateur courant aux groupes uucp et lock

sudo usermod -a -G uucp $USER
sudo usermod -a -G lock $USER

Se déconnecter puis se reconnecter pour la prise en compte

Configuration de l’IDE Arduino

Une fois l’IDE installé, ouvrez le et rendez-vous dans les préférences. Dans la case “URL de gestionnaire de cartes additionnelles”, entrez l’adresse suivante : http://arduino.esp8266.com/staging/package_esp8266com_index.json

alt text

Validez, puis allez dans “Outils”, “Type de carte”, “Gestionnaire de cartes”. Dans le champ de recherche, entrez “esp8266”.

alt text

Cliquez sur “Installer”. Patientez quelques instants et une fois l’installation terminée, si vous vous rendez à nouveau dans “Outils”, “Type de carte”, vous devriez constater l’apparition d’une nouvelle option : “Generic ESP8266 Module”. Sélectionnez cette dernière.

Pour les cartes arduino

alt text

Les types de démarrage de l’ESP8266

alt text

Montage

Câblage

alt text

Programmer l’ESP8266 avec l’IDE Arduino

Un simple serveur http qui écoute sur le port 80 et qui renvoie hello! sur http://adresseip/bonjour
Programme serveur esp8266-server

    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>
    #include <ESP8266mDNS.h>
    const char* ssid = "LE-SSID"; // remplacer par le SSID de votre WiFi
    const char* password = "LE-MOT-DE-PASSE"; // remplacer par le mot de passe de votre WiFi
    ESP8266WebServer server(80); // on instancie un serveur ecoutant sur le port 80
    void setup(void){
      Serial.begin(115200);
      
      // on demande la connexion au WiFi
      WiFi.begin(ssid, password);
      Serial.println("");
      // on attend d'etre connecte au WiFi avant de continuer
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
      // on affiche l'adresse IP qui nous a ete attribuee
      Serial.println("");
      Serial.print("IP address: ");
      Serial.println(WiFi.localIP());
      // on definit ce qui doit etre fait lorsque la route /bonjour est appelee
      // ici on va juste repondre avec un "hello !"
      server.on("/bonjour", [](){
        server.send(200, "text/plain", "hello !");
      });
      // on commence a ecouter les requetes venant de l'exterieur
      server.begin();
    }
    void loop(void){
      // a chaque iteration, on appelle handleClient pour que les requetes soient traitees
      server.handleClient();
    }

Ouvrir le Moniteur série de l’IDE arduino
Flasher ESP8266 avec IDE Arduino:

  • GPIO0 Pin 5 Relier à la masse
  • RESET Pin 6 par mise à la masse 1 à 2 secondes

Cliquer sur “Téléverser”

Au bout de quelques secondes

..........
IP address: 192.168.0.18

apparaît dans le moniteur , le serveur est prêt…

Saisir http://192.168.0.18/bonjour dans votre navigateur et hello ! doit s’afficher