Mise à jour: 2018-10-02
La mise en place de l'EDI Arduino avec la prise en charge des cartes ESP8266/Arduino a été un des sujets d'un billet précédent. J'y mentionnais que la version du noyau ESP était maintenant 2.4.2 alors qu'auparavant j'utilisais la version 2.4.1.
Un examen sommaire indique que mes trois bibliothèques Arduino pour ESP8266, mdBlinky, mdButton et mdEspRestart/mdEspRestartSF, fonctionnent correctement dans le nouvel environnement. Ce sera un soulagement pour les nombreux utilisateurs! Les téléchargements de ces archives se chiffrent à 11, 11 et 14 respectivement. Ces chiffres surestiment leur importance, car il faut retrancher mes propres téléchargements faits lors de la vérification des liens.
Le passage à la version 2.4.2 ne s'est pas fait sans heurt, car un de mes croquis, qui n'est pas encore public, ne peut être compilé. Voici le message d'erreur qu'affiche l'EDI.
Un petit rappel: WPS, Wi-Fi Protected Setup, est une façon d'établir une connexion Wi-Fi entre un routeur et un dispositif en appuyant sur un bouton (réel ou virtuel) sur chacun de ces appareils. Dans mon croquis, devant fonctionner sur un commutateur Sonoff, il suffit d'appuyer trois fois rapidement sur le bouton poussoir de ce dernier et sur le bouton WPS du routeur pour que le Sonoff se connecte à mon réseau Wi-Fi domestique. Il n'est pas nécessaire de programmer le nom du réseau et son mot de passe dans le croquis.
Une recherche sur Google avec le critère
« WPS_is_unavailable_in_this_configuration__Please_check_FAQ_or_board_generator_tool »
m'amèna au forum Arduino WiFiManager is causing compile problems Aug 06, 2018. La
suggestion de pert était de mettre à jour la bibliothèque. Or,
la version la plus récente de la bibliothèque était déjà installée. Même
après la réinstallation de la version 0.14.0, le problème n'était pas
éliminé.
En fouillant plus, j'ai trouvé l'information pertinente dans la FAQ de la version 2.4.2 du
noyau ESP8266/Arduino que j'aurais du lire auparavant. Il faut reconstruire
le fichier boards.txt qui fait partie du nouveau noyau, car par
défaut, WPS n'est pas disponible dans ce dernier. Puisque j'ai
une installation portable de l'EDI qui se trouve dans le répertoire
/home/michel/ED voici comment j'ai procédé.
boards.txt
avant de générer une nouvelle version; on est jamais trop prudent.
Merci Claudio pour cette information supplémentaire. Je devrais vraiment être plus attentif aux utilisateurs de Windows qui constituent la majorité de mes lecteurs. Cependant, cela fait tellement longtemps que je n'ai pas utilisé Windows de façon régulière que maintenant je me sens mal à l'aise lorsque je l'utilise. De plus le système me semble très lent, peut-être à cause de nombreuses mises à jour effectuées en arrière-plan.
À noter qu'il faut utiliser une des versions 2.7.x de python pour
engendrer le fichier boards.txt. Or cette version n'est plus
installée par défaut dans Ubuntu 18.04. Donc il
faudra l'installer. Je pense que ce serait assez simple.
Je ne peux le confirmer, Python 2.7.15rc1 était disponible
sur mon système parce qu'il avait été inclue lors de l'installation d'un autre
logiciel dont je ne me souviens plus du nom.
Si la version 2.7.x de Python n'est pas installée sur votre système et
vous n'en voulez pas, alors voici mon fichier boards.txt modifié. Ce fichier
contient une directive supplémentaire à la fin de chaque définition d'une
carte carte.build.noextra4kheap=-DNO_EXTRA_4K_HEAP
tel nodemcuv2.build.noextra4kheap=-DNO_EXTRA_4K_HEAP. C'est très
important de sauvegarder le fichier original comme indiqué ci-dessus, car avec
le temps et les changements qui seront apportés au noyau ESP8266/Arduino le
fichier qui est proposé pourrait bien devenir désuet.
Si l'on n'a pas opté pour une installation portable de l'EDI Arduino,
le répertoire contenant la définition des cartes ESP8266 sera différent.
Il me semble que ce serait quelque chose comme
/home/utilisateur/.arduino15/packages/esp8266...
alias ~/.arduino15/packages/esp8266...
Si l'on se fie à la FAQ, la prise en charge des connexions Wi-Fi par WPS
sera incorporée de nouveau dans les prochaines versions du noyau
ESP8266/Arduino. Donc, à l'avenir il ne sera plus nécessaire de modifier
le fichier boards.txt.