Auparavant, j'avais montré comment copier le micrologiciel de Theo Arends sur un Sonoff en utilisant un Raspberry Pi. Ci-dessous j'explique comment le faire directement de l'EDI de Arduino avec un adaptateur USB-ttl. Il n'y a donc rien de bien nouveau ci-dessous sauf pour l'utilsation d'un matériel plus commun et une présentation plus détaillée.
Pour être certain de ne pas oublier une étape, j'ai installer l'EDI dans Lubuntu 16.04 qui remplaçait dernièrement Windows Vista 64 sur un portable relativement vieux. Lubuntu est une variante de Ubuntu qui utilse l'environnement de bureau LXDE plutôt que Unity / Gnome pour économiser ressource matérielles et énergie. Depuis, les versions 16.10 et même 17.04 de Lubuntu sont disponibles.
Installation du EDI de Arduino
Malheureusement, la logithèque de Ubuntu contient une version périmée de l'EDI de Arduino. On doit donc installer la version la plus récente (actuellement 1.8.2 au moins la version 1.6.4) manuellement. Télécharger la ici : www.arduino.cc/en/Main/Software. Il est important d'obtenir la bonne version, 32 ou 64 bits selon la version de Linux du système hôte.
Quand le téléchargement est terminé, ouvrir un terminal ( CtrlAltT ) et installer la version téléchargée du logiciel :
En plus de placer l'EDI dans le répertoire /opt/arduino-1.8.2, le script d'installation créé deux répertoires dans le dossier de l'utilisateur :
/home/utilisateur/Arduino qui contiendra les bibliothèques et programmes et le répertoire de travail caché
/home/utilisateur/.arduino15 où l'on trouvera le micrologiciel téléchargé sur un microcontrôleur.
Malheureusement, le script d'installation n'ajoute pas l'EDI au menu de démarrage de Lubuntu nommé LXpanel. On peut démarrer l'EDI en cliquant sur
/opt/arduino-1.8.2/arduino. A plus long terme, il est préférable de rajouter l'application au menu en créant le fichier
arduino.desktop dans le dossier /home/utilisateur/.local/share/applications. En voici son contenu.
Puis il faut mettre à jour le menu:
Port série
Typiquement, on programme un ESP8266 avec une connexion en série mais presque tous les ordinateurs peirsonnels modernes n'ont plus de port série. On utilise un connexion USB. D'ailleurs, il suffit d'un cable USB standard -- mini USB pour programmer le WeMos D1 mini, qui contient un circuit intégré CH340g convertisseur USB-ttl . Par contre, dans le cas du commutateur Sonoff, il faut un câble ou un convertisseur USB-ttl (basé sur une puce CH340, CP2102 ou FT232 ...) qui fonctionne à 3,3V.
Typiquement, sur un système Ubuntu un port série virtuel nommé ttyUSB0 sera crée par le système. On peut le voir affiché avec la commande ls /dev/tty* dans un terminal dès que le dispositif est branché. Cependant, l'utilisateur n'a typiquement pas accès à ce port. Il y a au moins deux solutions à ce problème. On peut changer les
permissions pour le dispositif ou on peut ajouter l'utilisateur au groupe dialout. Je préfère cette deuxième solution. Mon nom d'utilisateur est michel (je sais, c'est très original). Ayant lancer un terminal, on peut voir dans la séquence suivante que j'ai vérifié à quels groupes j'appartient, que je me suis ajouter au groupe dialout, puis que j'ai vérifié que j'étais enfin membre de ce groupe.
Il faut soit redémarrer le système ou se déconnecter en tant qu'utilisateur puis ouvrir un nouvelle session pour que ce changement prenne effet.
Préparation de l'EDI Arduino
Par défaut, l'EDI Arduino ne prend en charge que les cartes de type Arduino. Grace au travail de Ivan Grokhotkov et d'autres personnes (voir le ESP8266 community Forum et le ESP8266 Arduino GitHub repository) on peut rajouter le « carte » ESP8266.
- Lancer l'EDI puis choisir
Préférencesdans le menuFichier. - Entrer l'URL suivant dans la boîte de saisie intitulée
URL de gestionnaire de cartes supplémentaires:http://arduino.esp8266.com/stable/package_esp8266com_index.json. Si la boîte contient déjà un URL, on peut en ajouter d'autres en cliquant sur le bouton à sa droite. - Choisir
Type de carte: "xxxxx"dans le menuOutils. - Cliquer sur le premier choix
Gestionnaire de cartedans la liste déroulante des cartes. - Sélectionner esp8266 by esp8266 Community. Sur mon system cette bibliothèque était la dernière de la liste. On peut voir qu'il sera possible de programmer le WeMos D1 mini souvent mentionné dans mon site et aussi un module ESP8266 générique. C'est ce dernier qu'on utilise pour programmer le Sonoff.
- Cliquer sur le bouton Installer.