Table of Contents
Tutoriel d'installation arduino + esp8266
Tous les liens wootdevices.io sont locaux si vous êtes au Jack, ça évite d'attendre pour les téléchargements lents sur notre lien ADSL.
Préliminaires
- Installer arduino.
- Installer le driver ftdi pour windows.
Pour que windows reconnaisse le convertisseur USB ↔ série, il est nécessaire d'installer le driver FTDI. Télécharger et suivre les indications de la page suivantes :
- Installer le support ESP8266.
- Manuellement (MacOS/Linux), à préférer au Jack :
-
- Linux : Télécharger et décompresser dans le répertoire ~/arduino-1.6.7/hardware/ :
wget -O - http://wootdevices.io/files/esp8266_v2.0.tar.gz | tar xvz -C ~/arduino-1.6.7/hardware
- MacOS : MacOS (.zip) Télécharger d'abord le fichier, on obtient un dossier esp8266com. Déplacer le dossier :
mv ~/Downloads/esp8266com/ /Applications/Arduino.app/Contents/Java/hardware/
- Télécharger les outils binaires :
cd ~/arduino-1.6.7/hardware/esp8266com/esp8266/tools ; python get.py
-
- Avec le gestionnaire Arduino (Windows/Linux/MacOS) :
- Coller l'URL du fichier json suivant dans Arduino (Fichier/Préférences/Paramètres/URL de gestionnaire de cartes supplémentaires)
http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Puis installer le package esp8266 via le gestionnaire de carte (Outils/Type de carte/Gestionnaire de carte).
- Configurer les ports de communication :
- Linux :
sudo usermod -aG dialout user
- MacOS : télécharger le pilote du convertisseur USB-série si nécessaire :
Arduino est prêt à programmer de l'ESP8266 !
Sources : https://esp8266.github.io/Arduino/versions/2.0.0/doc/reference.html
Flashage des modules
Certains modules sont vraiment démunis de composants et les échecs de flashages proviennent probablement d'oublis dans les branchements. On pourra corriger cela avec de meilleurs schémas, un peu plus complexes.
Au démarrage, le processeur s'attend à ce que GPIO15 soit bas et GPIO2 haut. GPIO0 sélectionne le mode, haut signifie fonctionnement normal et bas le mode reprogrammation par le port série.
Selon les modules, certains GPIO auront des pull-up ou des pull-down rien du tout. Le schéma suivant est donc à adapter sur chaque module:
Source : http://hackaday.com/2015/03/18/how-to-directly-program-an-inexpensive-esp8266-wifi-module/
ESP-01
Branchement du module au convertisseur USB-Serie.
Schéma simpliste qui fonctionne quand il fait beau, qu'on a de la chance et des câbles courts.
Dans “Outils” → “Type de carte”, sélectionner “Généric ESP8266 Module”
Procedure d'upload sur le module ESP01 :
Quand le module démarre et que GPIO-0 est à GND, il passe en mode reflashable. Après un flashage réussi le programme est lancé, donc pas besoin de débrancher de fil pour tester un programme.
Pour exécuter le programme en mémoire au démarrage ou après un reset, GPIO-0 doit être à VCC ou flottant.
- Mettre GPIO-0 à GND (et débrancher de GPIO-2 ce qui pourrait le mettre à 0)
- Alimenter le module (ou effectuer un reset)
- Lancer l'upload depuis l'IDE arduino
Téléversement terminé !
Olimex
ESP-12
Exemple de code de test :
- wificlient.ino
#include <ESP8266WiFi.h> const char* ssid = "JA-RdC"; const char* password = "SuperLapin"; void setup() { Serial.begin(115200); Serial.println(); Serial.print("connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void loop() {}
Si ça marche, on voit son IP dans le moniteur série arduino ! (Configuré sur 115200 baud)
Dès qu'on a ça, on peut donc ping via le terminal :
ping 192.168.0.xxx
Wemos D1 mini, pas cher et très cool, tuto d'introduction
Sur le blog méga trop cool CNX-Software: http://www.cnx-software.com/2016/03/22/getting-started-with-wemos-d1-mini-esp8266-board-dht-relay-shields/