Compilation d'un projet pour ESP8266 et téléversement dans la Flash
avec la carte MEGA WiFi R3 ou D1-Mini


Avertissement : ces projets se compilent parfaitement avec la version 1.8.19 de l'IDE Arduino. La version 2.x.x ne permet pas l'instalation de ESP8266FS qui permet transférer les data dans la SPIFFS.

Les utilisateurs de la carte D1-Mini peuvent passer directement à la rubrique suivante : Configuration de l'IDE Arduino.



La carte MEGA R3 WIFI est une version personnalisée de la carte ARDUINO MEGA R3 classique qui intégre le microcontrôleur Atmel ATmega2560 avec sa mémoire flash de 256 Ko, un ESP8266 Wi-Fi avec une mémoire flash de 4 Mo et un convertisseur CH340G USB-TTL, sur une seule carte au format du MEGA.
Tous les composants peuvent être configurés pour fonctionner ensemble ou indépendamment. Ces composants sont alimentés par un régulateur à découpage, ce qui autorise son alimentation externe avec une tension comprise entre 7V et 16V, voire 19V.

Voici une vue sur l'ESP8266, la mémoire Flash et l'alimentation de la carte.

Pour info, le bouton «Mode» est relié à la pin GPIO 13 de l'ESP8266 et à une résistance Pullup.


Configuration de la carte

Le mode de fonctionnement est sélectionné à l’aide des commutateurs DIP intégrés :

Statut des commutateurs et sélection du mode :

Commutateur DIP n°

1

2

3

4

5

6

7

8

Fonction

RX0/3

TX0/3

RX0

TX0

RXD0

TXD0

GPIO 0

Libre

CH340 connecté à ESP8266 pour télécharger le code et les data (Flash mode)

OFF

OFF

OFF

OFF

ON

ON

ON

Pas d'utilisation

CH340 connecté à ESP8266 (Boot mode)

OFF

OFF

OFF

OFF

ON

ON

OFF

Pas d'utilisation

CH340 connecté à ATmega2560 pour télécharger le code (Flash & Boot mode)

OFF

OFF

ON

ON

OFF

OFF

OFF

Pas d'utilisation

CH340 connecté à ATmega2560 et ATmega2560 COM0/3 à ESP8266

ON

ON

ON

ON

OFF

OFF

OFF

Pas d'utilisation

ESP8266 connecté à ATmega2560 COM0 ou COM3, CH340 OFFline

ON

ON

OFF

OFF

OFF

OFF

OFF

Pas d'utilisation

Tous les modules fonctionnent indépendamment, CH340 OFFline

OFF

OFF

OFF

OFF

OFF

OFF

OFF

Pas d'utilisation

Communication

ATmega2560 <=> ESP8266

USB <=> ATmega2560

USB <=> ESP8266

FLASH

Pas d'utilisation

   

Commutateur pour le changement de port (COM0 ou COM3) pour la connexion entre ATmega2560 et ESP8266 :


Ce commutateur sera placé en position RXD0/TXD0, du coté gauche.

Après avoir choisi le mode "Programmation de l'ESP8266" de la carte au moyen des commutateurs DIP, connectez la carte avec un cable USB au PC.


Configuration de l'IDE Arduino pour programmer les ESP8266

Pour commencer, ouvrez l’environnement de programmation Arduino IDE et allez "dans Préférences"

Ensuite, dans la fenêtre qui apparaît et dans l'onglet "Paramètres", à la ligne "URL de gestionnaire de cartes supplémentaires" (marqués en rouge) :
Inscrire http://arduino.esp8266.com/stable/package_esp8266com_index.json pour une installation dans Arduino IDE, de scripts supplémentaires nécessaires pour fonctionner avec les modules ESP8266

Cliquer sur OK.

Ensuite, allez dans "Outils" et à la ligne "Type de carte" pour ouvrir le menu "Gestionnaire de carte"

Dans la fenêtre qui apparaît, faites défiler la liste jusqu'au script "esp8266 de ESP8266 Community" et cliquez dessus

Dans le coin inférieur droit vous pouvez sélectionner la version du logiciel, sélectionnez la version 2.5.2 (quelques problèmes sont apparus avec une version plus récente) et cliquez sur le bouton "Installer"



Après l’installation, fermez la fenêtre.

Allez dans l'onglet "Outils" et choisissez "Gestionnaire de bibliothèque". Rechercher "Websockets" et choisir "Websockets by Markus Sattler Version 2.1.4". Cliquez sur le bouton "Installer"

Après l’installation, fermez la fenêtre.

Allez dans l'onglet "Croquis" et choisissez "Inclure une bibliothèque" puis "Ajouter la bibliothèque ZIP". Ajoutez les bibliothèques qui sont contenues dans le répertoire de ce projet.

Après l’installation, fermez la fenêtre.

Allez dans l'onglet "Outils" et choisissez "Type de carte". Vous voyez la liste des périphériques disponibles pour la programmation de la puce ESP8266.

Ensuite, vous devez sélectionner la carte comme indiqué ci-dessus "Generic ESP8266 Module" (ou D1 R2 & mini selon votre matériel)

Sélectionnez la vitesse de téléchargement "512000". Voir le modèle ci-dessous.

Allez à la ligne "Flash size" et choisir "4M (3M SPIFFS)" puis à la ligne "Builtin Led" indiquez "14".

Pour compiler le projet ESP8266 allez dans l'onglet "Croquis" et choisissez "Téléverser".
Si des problèmes de connexion apparaissent, n'oubliez pas d'appuyer 3 secondes sur le bouton RESET avant un nouvel essai et si la situation persiste une déconnection/reconnexion de la prise USB est une solution.
A la fin de la compilation réussie, le téléversement dans l'ESP8266 commencera.

Note pour la carte MEGA WiFi R3 : n'oubliez pas de placer les commutateurs DIP dans la position correspondant au chargement du code dans l'ESP8266 - 5, 6 et 7 ON). L'action sur les commutateurs DIP reste nécessaire seulement si vous utilisez un port COM avec la liaison USB.

A partir de cette première compilation vous pourrez utiliser la fonction OTA à la place de la liaison USB pour tous les téléversements et téléchargements (sans jamais avoir à toucher aux commutateurs DIP pour la MEGA WiFi R3). Il ne sera plus nécesaire d'intervenir sur la pin D3 du D1-Mini. Il suffira de choisir l'adresse Ethernet de la carte à la place du port COM. Atention : le Moniteur ne fonctionne pas sur un port Ethernet mais seulement en USB.

Chargement des data dans la Flash avec l'IDE Arduino

Ceci ne fonctionne pas avec la version 2.3.2 de l’IDE Arduino. Il faut impérativement utiliser une version 1.8.19 de l’IDE Arduino.
Les 2 versions peuvent cohabiter sur le PC car elles se trouvent dans des répertoires différents mais utilisent le même compilateur.

Pour pouvoir charger des data dans la Flash de l'ESP8266 du D1-Mini ou du MEGA WiFi R3, il faut avoir installé sous Windows :

  • Java 8.0
  • Python 3.7.4 sous Windows
Ensuite télécharger ESP8266FS-0.5.0.zip et dézipper. Déposer le contenu dans le répertoire comme ci-dessous.
Exemple : "C:\Users\...\Documents\Arduino\tools\ESP8266FS\tool\esp8266fs.jar"
Redémarrer l'IDE Arduino.

Pour charger les fichiers que vous souhaitez mettre dans la Flash, allez dans l'onglet "Outils" et choisissez "ESP8266 Sketch Data Upload" puis cliquer. Le téléversement des fichiers dans la Flash de l'ESP8266 commencera.

(Les utilisateurs du MEGA WiFi R3 devront placer les commutateurs DIP dans la position correspondant au fonctionnement qu'ils souhaitent.)
Le module est prêt à fonctionner en WiFi si vous avez chargé le bon code.

Note : si l'installation ne fait pas apparaitre la ligne "ESP8266 Sketch Data Upload", voir :
http://wei48221.blogspot.com/2018/09/how-to-add-sketch-data-upload-function.html à la section "For ESP8266".

Boot avec le moniteur de l'IDE Arduino

(MEGA WiFi R3 : placer les commutateurs DIP dans la position "ESP sur USB")

Ouvrez le moniteur et sélectionnez la vitesse de communication 115200.

Vous devez voir défiler le rapport du Boot à l'écran indiquant que la connexion WiFi est établie avec le PC.

Maintenant vous pouvez lancer votre application à partir d'un navigateur Internet sur le PC en appellant l'adresse IP du module WiFi.


Configuration de l'Arduino MEGA2560 avec DCCppS88

Suivez la procédure classique pour un Arduino MEGA. (placer les commutateurs DIP dans la position "MEGA sur USB")
Remarque : le MEGA ne peut pas utiliser l'option OTA.


Bonne programmation !
 

mise à jour 27/03/2024