
Worum geht es in diesem Artikel?
Wir setzen die Artikelserie über
ShIoTiny fort - eine visuell programmierbare Steuerung, die auf dem
ESP8266- Chip basiert.
In diesem Artikel wird
erläutert, was sich seit der vorherigen
ShIoTiny- Firmware geändert hat: Wie hat sich die Benutzeroberfläche geändert
? wie man "Beine" und andere weniger wichtige, aber nicht weniger lang erwartete Dinge neu zuordnet.
Der Artikel präsentiert so etwas wie ein "
Fact Sheet " zum Stand der Dinge im Bereich der
ShIoTiny- Firmware-
Entwicklung . Diejenigen, die nicht an meiner Entwicklung dieses Artikels interessiert sind, können diesen Artikel mit gutem Gewissen überspringen.
Diejenigen, die nicht wissen, wovon sie sprechen, aber es herausfinden möchten, können meine vorherigen Artikel über die
ShIoTiny- Firmware lesen oder sich auf die
Dokumentation beziehen.
ShIoTiny- ProjektseiteDie Online-Version des ElDraw- Editors ist genau die gleiche wie in der Firmware.
Links zu Schaltplänen, Firmware und mehr - auf der
ShIoTiny- Website im Dokumentationsbereich.
Vorherige ShIoTiny-Artikel und meine anderen ArtikelEinführung, um die ehrwürdige Öffentlichkeit zu beruhigen
So kam es, dass das vierte Quartal ein permanenter Ansturm ist. Daher haben einige Genossen bereits begonnen, das
ShIoTiny- Projekt zu begraben und mir per Post zu schreiben. Sie sagen: „Hey, Autor, wo bist du ?! warum schreibst du nicht ?! Wir verwenden hier Ihre Firmware! und du bist kein einziger neuer Artikel! "
Das war natürlich höflich, aber in Bezug auf die Bedeutung war es das auch. Einige schrieben im Gegenteil Vorschläge und Kommentare, die beim Auffangen von Softwareflöhen sehr hilfreich waren. Danke Jungs. Es ist immer schön, dass Sie nicht in Ihrem eigenen Saft kochen, sondern Gleichgesinnte haben.
Freunde! Ich erinnere Sie daran, dass mein Projekt ein Hobby ist und ich außerdem einen Job, eine Frau und Kinder habe. Also bitte ich Sie: Seien Sie nachsichtig! Der Autor schreibt, wie er kann und kann :)
Ich beeile mich, alle zu beruhigen: Das
Projekt ist nicht tot ! Ich habe einige Flöhe aus dem Code gefangen und außerdem die Projektwebsite überarbeitet (obwohl ich sie noch nicht fertiggestellt habe - ich fülle die Website mit Inhalten).
Aus der Sicht der meisten philosophischen Lehren der Welt gibt es nichts Dauerhaftes. Sogar unser Universum entwickelt sich weiter. Was können wir über die Firmware des Mikrocontrollers oder die Projektwebsite sagen?
Die wichtigsten Änderungen in der
ShIoTiny- Firmware betrafen hauptsächlich zwei Dinge: die Möglichkeit, die Beine neu zu definieren, und die Controller-
Statusseite . Wir werden darüber reden. Das neue Design der Projektwebsite werde ich hier nicht ansprechen: Jeder, der neugierig ist, wird vorbeikommen, schauen und kritisieren.
ESP8266 Beine neu definieren
Also, die Beine oder sie sind -
GPIO . Ursprünglich sollten die Beine des
ESP866- Mikrocontrollers nicht neu definiert werden. Sie waren fest mit den Ein- und Ausgängen des
ESP-07- Boards verbunden (alle Interessierten - alles darüber finden Sie auf der Projektwebsite).
Aber plötzlich stellte sich heraus, dass meine Firmware ohne Modifikation nicht nur auf dem
ESP-07- Modul mit 1 MB FLASH, sondern auch auf dem
ESP-01 ,
ESP-12 und sogar auf dem
ESP-8285 funktioniert !
Die Frage stellte sich zu Recht, dass einer 5 Eingänge und einen Ausgang, die anderen 6 Ausgänge und keine Eingänge und die dritten drei Thermometer gleichzeitig benötigt.
Eine Welle von Briefen aus der empörten Öffentlichkeit verdunkelte fast die Überreste meines Geistes! Meine Frau bereitete sich bereits darauf vor, mich mit einem Todeshemd als Pfleger zu bezeichnen ... Aber ich stellte mich als harte Nuss heraus!
Ich biss die Zähne zusammen und trank drei Liter Kaffee. Ich sammelte die Reste des Gehirns, die zufällig nicht in der Studentenschaft getrunken wurden, und fand heraus, wie man den Trick mit einer Neudefinition der Beine umsetzt, damit sich alle wohl fühlen.
Ich werde den Leser nicht mit der internen Programmküche langweilen. Aus Sicht des Benutzers sieht alles sehr einfach aus: Er steckt die Maus in einen Knoten, der mit einem beliebigen Teil des
GPIO- Moduls verbunden ist, und wählt einen Teil aus der Liste der möglichen aus. Ungefähr wie in der folgenden Abbildung gezeigt.
N / A - bedeutet, dass der Fuß nicht ausgewählt ist.
Wenn sich in der Schaltung ein Knoten befindet, für den kein
N / A- Zweig ausgewählt ist, kann eine solche Schaltung nicht in das Gerät geladen werden - der
ElDraw- Editor lässt dies nicht zu. Ein solches Schema kann jedoch auf die Festplatte heruntergeladen werden, um es „einige Zeit später“ weiter zu bearbeiten.
Alles ist sehr einfach, aber es gibt Nuancen.
Erstens , was meiner Meinung nach sehr praktisch ist, werden in der Liste nur unbenutzte Beine angezeigt. Das heißt, ein Bein zweimal zu wählen ist unmöglich.
Zweitens ist das
GPIO15- Bein für die AP-Taste reserviert und kann nicht für andere Zwecke verwendet werden. Sorry, aber sonst auf keinen Fall ...
Drittens kann der
GPIO16-Zweig nicht als regulärer
Binäreingang (
Eingangsknoten ) verwendet werden.
Viertens können die
GPIO9- und
GPIO10-Beine nur auf dem
ESP-8285- Modul verwendet werden. Bei anderen Modulen ist das Ergebnis katastrophal - volle Abhängigkeit und endloser Neustart!
Der letzte Punkt - das Hängen einiger Module bei der Auswahl der
GPIO9- und
GPIO10-Beine hat mich zum Nachdenken gebracht. Schließlich möchte ich den Controller nicht jedes Mal ändern, wenn die Beine falsch ausgewählt sind! Und ich habe mir einen modifizierten, neuen Weg ausgedacht, um in den Konfigurationsmodus zu wechseln.
Neue Möglichkeit, in den Konfigurationsmodus zu wechseln
Wenn jemand meine vorherigen Artikel gelesen hat, erinnert er sich daran, dass der
ShIoTiny- Firmware-Konfigurationsmodus der Modus ist, in dem der ESP8266-Chip zu einem offenen Zugangspunkt wird und die Programmschaltung nach dem Neustart nicht automatisch startet. Und wenn es nicht startet, bleibt es bei der Auswahl von
GPIO- Beinen nicht hängen.
Das heißt, im Konfigurationsmodus können Sie die Problembereiche von
GPIO9 und
GPIO10 auf andere
ändern . Das Problem ist jedoch, dass Sie nur dann in den Konfigurationsmodus gelangen können, wenn Sie die
AP- Taste etwa 4 Sekunden lang gedrückt halten! Und während dieser Zeit hat der Controller Zeit, das Schaltungsprogramm "Kurve" auszuführen und einzufrieren!
Um dieses Problem zu beheben, habe ich nach dem Neustart des Controllers ein Schutzintervall von einer halben Sekunde festgelegt. Wenn die
AP- Taste innerhalb von 0,5 Sekunden nach dem Neustart des Controllers gedrückt wird, wird der Controller sofort im Konfigurationsmodus neu gestartet. Gleichzeitig startet das Programmschema während des Schutzintervalls von einer halben Sekunde nicht. Und das bedeutet, dass es nicht hängen kann.
Die Nachteile liegen auf der Hand - das Programm startet nicht sofort, sondern eine halbe Sekunde später. Die Vorteile sind wesentlich größer: Wenn Sie die „falschen Beine“ auswählen oder das Schaltungsprogramm aus einem anderen Grund einfriert, können Sie jederzeit in den Konfigurationsmodus wechseln und die Situation beheben, ohne den Controller zu blinken.
In der Praxis sieht alles einfacher aus als eine gedämpfte Rübe: Wir drücken die
Reset- Taste und drücken die
AP- Taste, ohne sie zu stören. Sofort für etwa eine halbe Sekunde leuchtet die blaue
STATUS- LED auf (wenn Sie sie natürlich an
GPIO0 gelötet
haben ) und der Controller wird im Konfigurationsmodus neu
gestartet .
Wenn die Programmschaltung normal funktioniert, können Sie jederzeit auf die „alte“ Weise in den Konfigurationsmodus wechseln - indem Sie die
AP- Taste etwa 4 Sekunden lang gedrückt halten (bis die blaue
STATUS- LED aufleuchtet).
ShIoTiny-Statusseite
Die Möglichkeit, die Beine nach dem Willen des Benutzers zu verbinden, hat zu einer Überarbeitung der Hauptinformationsseite der
ShIoTiny- Firmware geführt.
Nach intensiven Überlegungen kam ich zu dem Schluss, dass die Seite a) informativ sein und b) nicht zu viel enthalten sollte.
Was ich bekommen habe, ist in der Abbildung unten dargestellt.

Auf der Hauptinformationsseite gibt es zwei Abschnitte:
Info - Allgemeine Informationen und
Verwendete Gruppenrichtlinienobjekte - Informationen zur Verwendung von E / A-Beinen. Betrachten wir sie genauer.
Info Abschnitt
Name: esp_8266_155da4 - ein eindeutiger Name für das Gerät. Es wird automatisch generiert und kann nicht geändert werden.
Ver: 2019-10-22 22:54:51 +0700 6b5ee82 clean - Firmware-Version (Erstellungsdatum und Commit-
ID ).
MQTT: Verbunden mit: 192.168.1.2:21064, SSL - Verbindung zum MQTT-Server. Zeigt die IP-Adresse oder URL des Servers, den Serverport und den SSL-Modus an, wenn eine sichere Verbindung verwendet wird. Denken Sie daran, dass die Verbindung niemals hergestellt wird, wenn das Schaltungsprogramm keine Knoten für die Arbeit mit MQTT enthält!
WiFi: STA IP: 192.168.1.134. -
WiFi ESP8266 Betriebsmodus:
STA - Station,
AP - Access Point. Beide Modi mit unterschiedlichen IP-Adressen können gleichzeitig ausgewählt werden.
Jetzt: Mi 30 Okt 2019 21:49:28 GMT + 0700 - aktuelle Zeit. Es wird angezeigt, dass nur die Zeit vom Knoten Zeit einstellen eingestellt ist! Andernfalls wird angezeigt, dass die Uhrzeit nicht synchronisiert und nicht eingestellt ist.
Abschnitt "Verwendete GPIOs"
Dieser Abschnitt zeigt alle im Programmdiagramm verwendeten Modulzweige und ihren aktuellen Status.
Das Ausgabeformat ist offensichtlich:
GPIO <Beinennummer> (Funktion): StatusDie
Beinnummer ist die Nummer oder für den
ADC anstelle der Nummer die Inschrift
adc .
Funktion:
Eingang - Binäreingang;
Relais - Binärausgang;
ADC - ADC oder Sensortyp:
DS182x oder
DHTxx .
Feld "Zustand" - hängt vom Zweck des Beins ab.
Für binäre Ein- und Ausgänge - 0 oder 1.
Für Sensoren - Temperatur, Luftfeuchtigkeit.
Für den ADC - seine Messwerte werden gemäß der angegebenen Formel neu berechnet (siehe Beschreibung der Arbeit mit dem ADC in den Anweisungen).
Meiner Meinung nach enthält die Hauptseite alle notwendigen Informationen über den Betrieb der Steuerung.
Fazit
Hier sind in der Tat alle wichtigen Änderungen in der Firmware heute. Zusätzlich zu diesen Neuerungen wurden Dutzende von fünf kleinen Fehlern behoben.
Wie gewohnt - detaillierte Anweisungen auf der
ShIoTiny- Website im Dokumentationsbereich oder
hier .
Vorschläge, Wünsche, Kritik,
Geld, Geschenke usw. - senden Sie mir einen Kommentar oder eine E-Mail:
shiotiny@yandex.ru .
Warten auf Feedback und Vorschläge.