ShIoTiny: mises à jour et notifications



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 ShIoTiny

La 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 articles

Intro 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): état
Le 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.

Source: https://habr.com/ru/post/fr473832/


All Articles