
De quoi parle cet article
Nous continuons la série d'articles sur
ShIoTiny - un contrôleur visuellement programmable basé sur la puce
ESP8266 .
Cet article
décrit ce qui a changé depuis le précédent firmware
ShIoTiny : comment l'interface utilisateur a changé; comment réaffecter des "jambes" et d'autres choses moins importantes, mais non moins attendues.
L'article présente quelque chose comme une "
fiche d'information " sur la situation dans le domaine du
développement de firmware
ShIoTiny . Ceux qui ne sont pas intéressés par le développement de cet article peuvent sauter cet article en toute conscience.
Ceux qui ne savent pas de quoi ils parlent, mais qui veulent le savoir, peuvent lire mes précédents articles sur le firmware
ShIoTiny ou se référer à la
documentation .
Site du projet ShIoTinyLa version en ligne de l'éditeur ElDraw est exactement la même que dans le firmware, pour référence.
Liens vers des schémas, des micrologiciels et plus encore - sur le site Web
ShIoTiny dans la section documentation.
Articles ShIoTiny précédents et mes autres articlesIntro pour rassurer le vénérable public
Il se trouve que le quatrième trimestre est une ruée permanente. Par conséquent, certains camarades ont déjà commencé à enterrer le projet
ShIoTiny et m'écrivent par la poste, ils disent - «hé, auteur, où êtes-vous?! pourquoi n'écris-tu pas?! nous utilisons votre firmware ici! et vous n'êtes pas un seul nouvel article! "
Bien sûr, c'était d'une manière polie, mais en termes de signification. Certains, au contraire, ont écrit des suggestions et des commentaires, qui ont beaucoup aidé à attraper les puces logicielles. Merci les gars. Il est toujours agréable de ne pas cuisiner dans son propre jus, mais d'avoir des personnes partageant les mêmes idées.
Mes amis! Je vous rappelle que mon projet est un hobby et en plus j'ai un travail, une femme et des enfants. Alors je vous en prie: soyez indulgents! L'auteur écrit comment il peut et peut :)
Je m'empresse de rassurer tout le monde: le
projet n'est pas mort ! J'ai attrapé pas mal de puces dans le code et, en plus, refait le site du projet (même si je ne l'ai pas encore fini - je remplis le site de contenu).
Du point de vue de la plupart des enseignements philosophiques du monde, il n'y a rien de permanent. Même notre univers évolue. Que pouvons-nous dire du micrologiciel du microcontrôleur ou du site Web du projet?
Les changements clés dans le firmware
ShIoTiny ont affecté principalement deux choses: la possibilité de redéfinir les jambes et la page d'état du contrôleur. Nous en parlerons. Quant au nouveau design du site du projet, je ne le toucherai pas ici: toute personne curieuse viendra, regardera et critiquera.
Redéfinir les jambes ESP8266
Donc, les jambes ou ce sont -
GPIO . Initialement, les jambes du microcontrôleur
ESP866 n'étaient pas destinées à être redéfinies. Ils étaient cloués de façon rigide aux entrées et sorties de la carte
ESP-07 (toute personne intéressée - tout est sur le site Web du projet).
Mais tout à coup, il s'est avéré que mon firmware sans aucune modification va non seulement sur le module
ESP-07 avec 1 Mo de FLASH, mais aussi sur l'
ESP-01 ,
ESP-12 et même sur l'
ESP-8285 !
La question s'est posée à juste titre que l'un a besoin de 5 entrées et une sortie, les 6 autres sorties et aucune entrée, et les trois troisièmes thermomètres en même temps.
Une vague de lettres du public indigné a presque assombri les restes de mon esprit! Ma femme se préparait déjà à m'appeler infirmière avec une chemise de mort ... Mais je me suis avéré être un dur à cuire!
Serrant les dents et buvant trois litres de café, j'ai récupéré les restes du cerveau, qui par hasard n'étaient pas bu dans le corps étudiant, et j'ai compris comment mettre en œuvre l'astuce en redéfinissant les jambes pour que tout le monde se sente bien.
Je n'ennuierai pas le lecteur avec la cuisine du programme interne. Du point de vue de l'utilisateur, tout semble extrêmement simple: il enfonce la souris sur un nœud qui est connecté à n'importe quelle jambe du module
GPIO et sélectionne une jambe dans la liste des possibles. Approximativement comme indiqué dans la figure ci-dessous.
N / A - signifie que le pied n'est pas sélectionné.
S'il y a un nœud dans le circuit avec un
segment N / A non sélectionné, alors un tel circuit ne peut pas être chargé dans l'appareil - l'éditeur
ElDraw ne le permettra
pas . Mais un tel schéma peut être téléchargé sur le disque pour continuer à le modifier «un peu plus tard».
Tout est très simple, mais il y a des nuances.
Tout d'abord , ce qui est très pratique à mon avis, seules les jambes inutilisées sont affichées dans la liste. Autrement dit, choisir une jambe deux fois est impossible.
Deuxièmement , la jambe
GPIO15 est réservée au bouton AP et ne peut pas être utilisée à d'autres fins. Désolé, mais sinon, pas question ...
Troisièmement , la jambe
GPIO16 ne peut pas être utilisée comme entrée binaire standard (nœud d'
entrée ).
Quatrièmement , les
jambes GPIO9 et
GPIO10 ne peuvent être utilisées que sur le module
ESP-8285 . Sur d'autres modules, le résultat sera désastreux - dépendance totale et redémarrage sans fin!
Le dernier point - le blocage de certains modules lors du choix des
jambes GPIO9 et
GPIO10 m'a fait réfléchir. Après tout, je ne veux pas modifier le contrôleur à chaque fois si les jambes sont mal sélectionnées! Et j'ai trouvé une nouvelle façon de passer en mode de configuration.
Nouvelle façon d'entrer en mode configuration
Si quelqu'un a lu mes articles précédents, il se souvient que le mode de configuration du firmware
ShIoTiny est le mode lorsque la puce ESP8266 devient un point d'accès ouvert et que le circuit du programme ne démarre pas automatiquement après le redémarrage. Et s'il ne démarre pas, il ne se bloquera pas lors du choix des jambes
GPIO .
Autrement dit, en mode de configuration, vous pouvez changer les jambes de problème de
GPIO9 et
GPIO10 à d'autres. Mais le problème est que vous ne pouvez entrer en mode de configuration qu'en maintenant le bouton
AP pendant environ 4 secondes! Et pendant ce temps, le contrôleur aura le temps de commencer à exécuter le programme de circuit "courbe" et de geler!
Pour résoudre ce problème, j'ai trouvé un intervalle de garde d'une demi-seconde après le redémarrage du contrôleur. Si le bouton
AP est enfoncé dans les 0,5 secondes après le redémarrage du contrôleur, le contrôleur redémarrera immédiatement en mode de configuration. Dans le même temps, pendant l'intervalle de garde d'une demi-seconde, le schéma de programme ne démarre pas. Et cela signifie qu'il ne peut pas se bloquer.
Les inconvénients sont évidents - le programme ne démarre pas immédiatement, mais une demi-seconde plus tard. Les avantages sont beaucoup plus importants - si vous sélectionnez les «jambes incorrectes» ou si le programme du circuit se bloque pour une autre raison, vous pouvez toujours passer en mode configuration et corriger la situation sans faire clignoter le contrôleur.
En pratique, tout semble plus simple qu'un navet cuit à la vapeur: nous appuyons sur le bouton
Reset et, en relâchant le bouton
Reset tout de suite, sans interférer, nous appuyons sur le bouton
AP . Immédiatement pendant environ une demi-seconde, la LED
STATUS bleue s'allume (si vous l'avez bien sûr soudée à
GPIO0 ) et le contrôleur redémarre en mode configuration.
Si le circuit du programme fonctionne normalement, vous pouvez toujours basculer en mode de configuration de «l'ancienne» manière - en appuyant sur le bouton
AP et en le maintenant enfoncé pendant environ 4 secondes (jusqu'à ce que la LED bleue
STATUS s'allume).
Page d' état ShIoTiny
La possibilité de connecter les jambes par la volonté de l'utilisateur a conduit à une révision de la page d'informations principale du firmware
ShIoTiny .
Après de longues délibérations, je suis arrivé à la conclusion que la page devrait être a) informative et b) ne pas en contenir trop.
Ce que j'ai obtenu est illustré dans la figure ci-dessous.

La page d'informations principale comprend deux sections:
Info - informations générales et
GPIO utilisés - informations sur l'utilisation des tronçons d'E / S. Examinons-les plus en détail.
Section Info
Nom: esp_8266_155da4 - un nom unique pour l'appareil. Il est généré automatiquement et ne peut pas être modifié.
Ver: 2019-10-22 22:54:51 +0700 6b5ee82 clean - version du firmware (date de construction et identifiant de validation).
MQTT: connecté à: 192.168.1.2:21064, SSL - connexion au serveur MQTT. Affiche l'adresse IP ou l'URL du serveur, le port du serveur et le mode SSL si une connexion sécurisée est utilisée. N'oubliez pas que si le programme de circuit ne contient pas de nœuds pour travailler avec MQTT, la connexion ne sera jamais établie!
WiFi: IP STA: 192.168.1.134. - Mode de fonctionnement
WiFi ESP8266 :
STA - station,
AP - point d'accès. Les deux modes avec des adresses IP différentes peuvent être sélectionnés en même temps.
Maintenant: mer.30 octobre 2019 21:49:28 GMT + 0700 - heure actuelle. Il est montré que seul le temps défini par le nœud
Définir l'heure ! Sinon, il sera indiqué que l'heure n'est pas synchronisée et n'est pas réglée.
Section GPIO utilisée
Cette section montre toutes les jambes de module utilisées dans le diagramme de programme et leur état actuel.
Le format de sortie est évident:
GPIO <numéro de jambe> (fonction): étatLe numéro de jambe est le numéro ou, pour l'
ADC , au lieu du numéro sera l'inscription
adc .
Fonction:
Entrée - entrée binaire;
Relais - sortie binaire;
ADC - ADC ou type de capteur:
DS182x ou
DHTxx .
Champ «état» - dépend du but de la jambe.
Pour les entrées et sorties binaires - 0 ou 1.
Pour capteurs - température, humidité.
Pour l'ADC - ses lectures recalculées selon la formule donnée (voir la description du travail avec l'ADC dans les instructions).
À mon avis, la page principale contient toutes les informations nécessaires sur le fonctionnement du contrôleur.
Conclusion
Voici, en fait, tous les changements majeurs dans le firmware aujourd'hui. En plus de ces innovations, des dizaines de cinq erreurs mineures ont été corrigées.
Comme d'habitude - des instructions détaillées sur le site Web
ShIoTiny dans la section documentation ou
ici .
Suggestions, souhaits, critiques,
argent, cadeaux , etc. - envoyez-moi un commentaire ou un e-mail:
shiotiny@yandex.ru .
En attente de commentaires et suggestions.