Fun avec un ESP8266 et un Arduino

De Vulcainreo, mer. 01 juin 2016, dans la catégorie Bidouille

Bidouille

Aujourd'hui nous allons jouer avec un ESP8266. Cette puce permet, entre autre, de donner une connectivité Wifi à un montage bidouille. Avant de l'intégrer dans un montage, il convient de se familiariser avec la bestiole et notamment en utilisant les commandes de bases, sans passer par l'usage de librairies.

Le montage

Présentation de la puce

La puce ESP8266 se présente sous la forme suivante. L'adressage des ports IO est à noter pour la suite des opérations :

Wiring ESP8266

Le montage

L'idée ici est d'intéragir avec la puce ESP8266 au travers d'une liaison série émulée par l'arduino. En d'autres termes, l'arduino va ouvrir deux liaisons séries (une vers le PC, l'autre vers la puce ESP8266). Le programme Arduino aura pour objectif de transmettre l'ensemble des données depuis le PC vers la puce et depuis la puce vers le PC.

Connexion à l'arduino

Le programme

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(115200);
  mySerial.println("Hello, world?");
  mySerial.write("AT");
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

Fun

Il est temps d'ouvrir un terminal (celui de l'arduino suffit) pour intéragir avec le module.

Création d'une borne AP

# Test si tout est OK
AT
# active les communications multiples
AT+CIPMUX=1
# Création d'une AP ESP8266, avec un clé WPA simple 12345678 et sur le channel 1.
AT+CWSAP="ESP8266","12345678",1,2
# Activation de la borne AP
AT+CWMODE=2

Références