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.
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 :
wget -O - http://wootdevices.io/files/esp8266_v2.0.tar.gz | tar xvz -C ~/arduino-1.6.7/hardware
mv ~/Downloads/esp8266com/ /Applications/Arduino.app/Contents/Java/hardware/
cd ~/arduino-1.6.7/hardware/esp8266com/esp8266/tools ; python get.py
http://arduino.esp8266.com/stable/package_esp8266com_index.json
sudo usermod -aG dialout user
Arduino est prêt à programmer de l'ESP8266 !
Sources : https://esp8266.github.io/Arduino/versions/2.0.0/doc/reference.html
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/
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”
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.
Téléversement terminé !
#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
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/