ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Wesentliche Thesen oder worum es in diesem Artikel geht

Wir setzen den Zyklus von Artikeln ĂŒber ShIoTiny — visuell programmierbare Steuerungen auf Basis des Chips ESP8266.

In diesem Artikel wird am Beispiel eines Projekts zur Steuerung der BelĂŒftung in einem Badezimmer oder einem anderen Raum mit hoher Luftfeuchtigkeit erklĂ€rt, wie ein Programm fĂŒr ShIoTiny.

Die vorherigen Artikel der Serie.

ShIoTiny: kleine Automatisierung, Internet der Dinge oder „sechs Monate vor dem Urlaub“
ShIoTiny: Knoten, Verbindungen und Ereignisse oder Besonderheiten der Programmierung

Links

BinÀre Firmware, Controller-Schema und Dokumentation
Anleitung und Beschreibung der Module
Konfiguration des MQTT-Brokers cloudmqtt.com
MQTT-Dashboard fĂŒr Android

EinfĂŒhrung

VerstÀndnis ohne Erfahrung ist nicht möglich. Diese Wahrheit wurde von Zeit und Generationen erprobt. Deshalb gibt es nichts Besseres zum Lernen praktischer FÀhigkeiten, als zu versuchen, etwas selbst zu machen. Beispiele, die zeigen, was möglich ist und was nicht, kommen hier wie gerufen. Die Fehler anderer können zwar nicht verhindern, dass man selbst Fehler macht, helfen aber, die Anzahl letzterer zu verringern.

Fragen und Briefe von Lesern der vorherigen Artikel haben mich dazu gebracht, ein kleines Beispielprojekt zur Steuerung der BelĂŒftung zu erstellen, um zu zeigen, wie die ShIoTiny-Module funktionieren.

Die ursprĂŒngliche Idee, auf der der Controller basiert ShIoTiny — eine Pumpen-BewĂ€sserungsstation — wird nicht fĂŒr jeden geeignet und interessant sein. Daher habe ich ein allgemein verstĂ€ndliches und fĂŒr viele nĂŒtzliches BelĂŒftungssystem als Beispiel genommen.

Ich muss sagen, dass die Projektidee nicht meine ist, sondern ich habe sie hierher entnommen und dann an ShIoTiny.

Zuerst verstehe, was du willst

Der Prozess der Vollkommenheit ist endlos. Und genau dieses Merkmal hat viele gute Ideen und Projekte ruiniert. Der Entwickler hat anstatt eine vielleicht nicht perfekte, aber funktionale Lösung herauszubringen, weiter verbessert. Und zwar bis zu dem Punkt, an dem die Mitbewerber ihn ĂŒberholt haben, indem sie möglicherweise auch nicht perfekte (oft sogar grottenschlechte), aber funktionierende Lösungen auf den Markt gebracht haben.

Deshalb ist es sehr wichtig, zu wissen, wo man im Projekt einen Punkt setzen sollte. Mit anderen Worten, man muss festlegen, was wir am Ende des Projekts aus dem, was wir zu Beginn haben, erhalten möchten. Im Russischen gibt es fĂŒr ein Dokument, das genau mit dem Zweck erstellt wird, den Weg zur Erstellung von etwas zu beschreiben, ein wunderbares kurzes und prĂ€gnantes Wort „Plan“, das geistig zurĂŒckgebliebene Übersetzer und defizitĂ€re Manager in letzter Zeit aus unerfindlichen GrĂŒnden „Roadmap“ zu nennen begonnen haben. Naja, Gott möge sie segnen.

Unser Plan wird folgendermaßen aussehen: Angenommen, es gibt einen Raum, in dem die Luftfeuchtigkeit zeitweise stark ansteigen kann, zum Beispiel ein Badezimmer oder eine KĂŒche. Luftfeuchtigkeit ist unangenehm, und das Ă€lteste Mittel dagegen ist: den Raum zu lĂŒften. Es gibt viele Möglichkeiten zum LĂŒften. Aber wir verzichten vielleicht auf exotische und altmodische Methoden wie Sklaven mit FĂ€chern und entscheiden uns fĂŒr einen normalen Ventilator. Ventilatoren sind gĂŒnstiger und lassen sich leichter in unserer Gegend finden.

Mit anderen Worten, wir möchten den Ventilator steuern: ihn ein- und, entsprechend, ausschalten. Genauer gesagt, wir möchten, dass er sich selbst ein- und ausschaltet, wenn es nötig ist.

Es bleibt zu bestimmen, unter welchen Bedingungen der Ventilator eingeschaltet werden soll und unter welchen Bedingungen er ausgeschaltet werden soll.

Hier ist alles offensichtlich: Wenn die Luftfeuchtigkeit einen bestimmten Grenzwert ĂŒberschreitet, wird der Ventilator eingeschaltet und zieht die Luft ab; fĂ€llt die Luftfeuchtigkeit wieder in den Normalbereich, schaltet sich der Ventilator aus.

Der aufmerksame Leser wird sofort auf das Wort „festgelegter“ stoßen. Von wem festgelegt? Wie festgelegt?

Den Grenzwert fĂŒr die Luftfeuchtigkeit kann man auf verschiedene Weise festlegen. Wir werden zwei davon betrachten: die erste mit einem variablen Widerstand und die zweite ĂŒber das Netz ĂŒber das MQTT-Protokoll. Jede dieser Methoden hat ihre Vor- und Nachteile, die spĂ€ter behandelt werden.

FĂŒr diejenigen, die nicht verstanden haben, möchte ich klĂ€ren, dass „Grenzfeuchtigkeit“ der Feuchtigkeitswert ist, ab dem der Ventilator eingeschaltet werden muss.

Die nĂ€chste Frage ist: Soll der Benutzer das Recht haben, den Ventilator direkt einzuschalten? Das heißt, unabhĂ€ngig von der Luftfeuchtigkeit auf die Taste zu drĂŒcken? Diese Möglichkeit werden wir einplanen. Schließlich kann der Ventilator nicht nur bei erhöhter Luftfeuchtigkeit gebraucht werden, sondern auch zum Abziehen von unangenehmen GerĂŒchen aus dem Raum, die im Volksmund „Gestank“ genannt werden.

Also haben wir verstanden, was wir wollen, und sogar ein wenig, wie es funktionieren wird. Lassen Sie uns die Funktionen unseres BelĂŒftungssystems kurz auflisten:

  • Einstellung des Grenzwerts fĂŒr die Luftfeuchtigkeit (zwei Optionen);
  • Messung der Luftfeuchtigkeit;
  • Automatische Einschaltung des Ventilators;
  • Automatische Ausschaltung des Ventilators;
  • Manuelle Einschaltung des Ventilators (auf Knopfdruck).

Also, der Plan ist klar. Es ist notwendig, alle oben genannten Funktionen in unser Programm zu implementieren. Basierend auf diesem „Plan“ werden wir handeln. ZunĂ€chst zeichnen wir das strukturelle Schema des GerĂ€ts.

Strukturschema des GerÀts

Im Allgemeinen wird es zwei solcher Schemata geben. Das erste ist fĂŒr die Variante, bei der der Schwellenwert des Feuchtigkeitsniveaus durch einen variablen Widerstand eingestellt wird. Das zweite Schema ist fĂŒr die Variante, bei der der Schwellenwert des Feuchtigkeitsniveaus ĂŒber das Netzwerk mit dem MQTT-Protokoll festgelegt wird.

Da sich diese Schemata jedoch nur in einem Element unterscheiden – dem variablen Widerstand „Einstellung des Schwellenwerts der Feuchtigkeit“ – werden wir nur ein strukturelles Schema zeichnen. NatĂŒrlich sieht das strukturelle Schema gemĂ€ĂŸ GOST anders aus. Aber wir orientieren uns nicht an den Technikern, sondern an der jungen Generation. Daher ist Anschaulichkeit wichtiger.

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Also, was sehen wir in der Zeichnung? Der Ventilator ist an das Relais Relay1 des Controllers angeschlossen. Ich weise darauf hin, dass der Ventilator ein GerĂ€t ist, das mit Hochspannung betrieben wird. Daher, falls jemand so etwas selbst machen möchte – seien Sie vorsichtig. Das heißt, ziehen Sie mindestens den Stecker, bevor Sie Ihre Finger oder MessgerĂ€te in das Schema stecken – schalten Sie zumindest den Ventilator aus. Und eine zweite Anmerkung. Wenn Ihr Ventilator leistungsstĂ€rker ist als ShIoTiny250 W , sollten Sie ihn nicht direkt ananschließen – nur ĂŒber einen Starter. ShIoTiny Wir haben den Ventilator geklĂ€rt. Jetzt zur Taste „manuelle Einschaltung“ des Ventilators. Sie ist an den Eingang

Input1 angeschlossen. Hier gibt es nicht viel zu erlÀutern.Temperatur- und Feuchtigkeitssensor

DHT-11 DHT-22 (oder oder deren AnaloggerĂ€te). FĂŒr den Anschluss ist ein spezieller Eingang am Controller vorgesehen. Wie in der Abbildung zu sehen ist, stellt der Anschluss eines solchen Sensors ebenfalls kein Problem dar. ShIoTinyUnd schließlich der variable Widerstand, der den Schwellenwert der Feuchtigkeit festlegt. Genauer gesagt – ein Teiler, der aus einem variablen und einem festen Widerstand besteht. Es gibt keine Probleme mit seinem Anschluss, aber ich möchte klarstellen, dass der integrierte ADC auf

maximal 1 Volt ausgelegt ist. Daher ist ein Spannungsteiler von etwa 5 erforderlich. ESP8266 Und ich erinnere noch einmal daran, dass dieser Spannungs teiler nicht benötigt wird, wenn der Schwellenwert des Feuchtigkeitsniveaus ĂŒber das Netzwerk mit dem MQTT-Protokoll festgelegt wird.

Und nochmals möchte ich daran erinnern, dass dieser Teiler nicht erforderlich ist, wenn der Schwellenwert fĂŒr die Luftfeuchtigkeit ĂŒber das MQTT-Protokoll im Netzwerk festgelegt wird.

Lass uns mit der Erstellung des Algorithmus fĂŒr das GerĂ€t im Editor ElDraw ShIoTiny beginnen. Wie man zu diesem Editor gelangt, kann in den vorherigen Artikeln oder in der Anleitung, auf die am Anfang des Artikels verwiesen wird, nachgelesen werden.

Erster, einfachster Vorschlag

Fangen wir mit dem Einfachen an: der Aktivierung des Relais Relay1 bei Überschreitung des festgelegten Schwellenwertes fĂŒr die Feuchtigkeit ĂŒber einen bestimmten Zeitraum.

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Wie wir sehen, ist es nicht kompliziert: es gibt insgesamt vier Knoten, ohne die Kommentar-Knoten zu zĂ€hlen. DHT11 — das ist der eigentliche Temperatur- und Feuchtigkeitssensor (kann ersetzt werden durch DHT22).

Konstante CONST — der Schwellenwert fĂŒr die Feuchtigkeit in Prozent.

Der Komparator — ein Knoten, der zwei Zahlen vergleicht und 1 ausgibt, wenn die festgelegte Bedingung erfĂŒllt ist, und 0, wenn die Bedingung nicht erfĂŒllt ist.

In unserem Fall wird diese Bedingung sein A>B

A — der vom Sensor gemessene Feuchtigkeitsgrad, und B — der Schwellenwert fĂŒr die gleiche Feuchtigkeit.

Sobald der gemessene Feuchtigkeitsgrad (A) den Schwellenwert fĂŒr die Feuchtigkeit (B) ĂŒbersteigt, erscheint sofort 1 am Ausgang des Komparators und das Relais schaltet sich ein. Und umgekehrt, sobald der Feuchtigkeitsgrad wieder normal ist (d.h. A>B A<=B erscheint 0 und das Relais wird ausgeschaltet.) ĂŒbersteigt, erscheint sofort 1 am Ausgang des Komparators und das Relais schaltet sich ein. Und umgekehrt, sobald der Feuchtigkeitsgrad wieder normal ist (d.h. A>B Versteht jeder? Wer nicht ganz, sollte es noch einmal lesen oder in die Beschreibung der Knoten in der Anleitung schauen.

Ich möchte darauf hinweisen, dass die Daten vom Sensor

ungefĂ€hr einmal alle 10 Sekunden aktualisiert werden. Daher kann das Relais nicht öfter als einmal alle 10 Sekunden ein- oder ausgeschaltet werden. DHT11 An sich wĂ€re alles gut, aber wir möchten den Schwellenwert fĂŒr die Feuchtigkeit mit einem variablen Widerstand setzen. Nichts einfacher als das!

Wir ersetzen einfach den Konstanten-Knoten durch einen ADC-Knoten. Schließlich haben wir den Spannungsteiler mit dem variablen Widerstand an den ADC angeschlossen.

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Die Spannung am Eingang des ADC variiert von 0 bis 1 Volt. Und die Feuchtigkeit am Ausgang des Sensors variiert von 0 bis 100%. Wie vergleichen wir sie also? Ganz einfach. Der ADC-Knoten in

misst nicht nur die Spannung am Eingang, sondern kann sie auch ShIoTiny skalieren und verschieben Das bedeutet, dass am Ausgang des Moduls ADC1 (ADC) der Wert.

, der nach der Formel berechnet wird, vorhanden sein wird. X— die Spannung am Eingang ADC (von 0 bis 1V);

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel) — der Bereich (ADC-Bereich) und k — die Verschiebung (ADC-Verschiebung). Wenn also bk=100 b=0 und , dann wird bei einer Änderung vonim Bereich von 0 bis 1, der Wert ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel) am Ausgang des ADC-Knotens sich im Bereich von 0 bis 100 Ă€ndern. Das heißt, numerisch gleich dem Bereich der FeuchtigkeitsĂ€nderung von 0 bis 100%. X Der Ausgang des ADC-Knotens wird sich im Bereich von 0 bis 100 Ă€ndern. Das bedeutet, dass es numerisch dem Bereich der Änderung der Luftfeuchtigkeit von 0 bis 100 % entspricht.

Oder, einfacher ausgedrĂŒckt, können Sie durch Drehen des Motors mit variabler Widerstand das Schwelleniveau der Feuchtigkeit von 0 bis 100 festlegen. Das einzige Unannehmlichkeiten ist, dass es keine Anzeigevorrichtungen gibt. Aber in der Praxis reicht es aus, wenn der Motor mit varialtem Widerstand 6 Unterteilungen hat (0 %, 20 %, 40 %, 60 %, 80 %, 100 %), um das Schwelleniveau der Feuchtigkeit einzustellen.

Wie stellen wir die Koeffizienten ein? k — die Verschiebung (ADC-Verschiebung). Wenn also b-Offset (ADC-Offset)? Das ist ganz einfach! Klicken Sie mit der Maus auf den Knoten ADC1 und sofort öffnet sich ein Einstellungsfenster. Dort können Sie alles einstellen, was Sie benötigen. In unserem Fall wird es so ein Fenster sein, wie auf dem Bild.

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Also, wir haben eine ganz einfache funktionale Lösung. Lassen Sie uns diese verbessern.
Übrigens hat die einfachste Lösung einen Vorteil — sie benötigt kein Internet. Sie ist völlig autark.

Die zweite Variante: Wir schließen einen Knopf an.

Alles funktioniert und alle sind zufrieden. Aber es gibt ein Problem: Wir können die BelĂŒftung nicht zwangsweise einschalten. Wir haben bereits vereinbart, dass an den Eingang angeschlossen. Hier gibt es nicht viel zu erlĂ€utern. ein Knopf angeschlossen wird, der den Ventilator zwangsgesteuert ein- und ausschaltet, unabhĂ€ngig vom Feuchtigkeitssensor.
Es ist Zeit, diesen Knopf in unserem Schema-Programm zu verarbeiten.

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Der Block zur Verarbeitung des KnopfdrĂŒckens ist durch eine orange Linie hervorgehoben. Er stellt einen ZĂ€hler fĂŒr die KnopfdrĂŒcke dar, der auf null zurĂŒckgesetzt wird, wenn der Ausgangswert ĂŒber eins liegt (grĂŒne Linie, Ausgang des Knotens CT).

Hier funktioniert alles ebenso unkompliziert wie zuvor: Der ZĂ€hler CT zĂ€hlt die DrĂŒcke des Knopfes, der an den Eingang angeschlossen ist. angeschlossen. Hier gibt es nicht viel zu erlĂ€utern.Das heißt, der Wert am Ausgang dieses ZĂ€hlers erhöht sich mit jedem Druck des Knopfes um 1.

Sobald dieser Wert zwei erreicht (also mehr als 1), erscheint am Ausgang des Komparators A>B eine 1. Und diese 1 setzt den ZĂ€hler CT auf null zurĂŒck. Damit ist der Komparator gemeint, der unten im Schema ist!

Somit hat unser Knopf zwei ZustĂ€nde — 0 und 1. Wenn wir mehr ZustĂ€nde (3 oder 4 oder noch mehr) brĂ€uchten – wĂ€re es genug, die Konstante CONST von eins auf einen anderen Wert zu Ă€ndern.

Also haben wir zwei Bedingungen fĂŒr das Einschalten des Ventilators: das Überschreiten des festgelegten Feuchtigkeitsniveaus und das einmalige DrĂŒcken des Knopfes. Wenn eine der Bedingungen erfĂŒllt ist, wird der Ventilator eingeschaltet. Und er lĂ€uft, bis der Knopf erneut gedrĂŒckt wird, Und oder das Feuchtigkeitsniveau wieder normal ist.

NatĂŒrlich kann man den Algorithmus noch weiter komplizieren, aber das werden wir nicht tun – wir lassen Raum fĂŒr KreativitĂ€t fĂŒr diejenigen, die möchten.

Dritte Variante, wir verbinden uns mit dem Internet

Alles, was wir beschrieben haben, ist durchaus funktionsfĂ€hig. Und was ist mit dem Style? Jeder pickelige Hipster-Hacker-Cracker wird ĂŒber den lachen, der einen Knopf dreht und drĂŒckt, anstatt mit dem Smartphone zu steuern! Einen Knopf zu drehen ist „nicht modisch“. Aber mit dem Finger ĂŒber das Smartphone zu wischen, bis der Finger blutet – das ist der Höhepunkt der WĂŒnsche des Hipster-Hackers-Crackers (ich konnte nie alle unterscheiden – also entschuldigt, wenn ich falsch bin).

Aber wir wollen großzĂŒgig mit den genannten Personen sein. Die Steuerung ĂŒber das Internet hat auch reale Vorteile. Erstens ist es anschaulich. Es gibt eine Menge Anwendungen fĂŒr alle Plattformen, die es ermöglichen, mit ein paar Klicks ein durchaus brauchbares Bedienfeld fĂŒr unseren Controller-Karlson zu erstellen. Zweitens gibt es die Möglichkeit, den Feuchtigkeitszustand im Raum aus der Ferne zu ĂŒberwachen. Und drittens kann man nicht nur sehen, was der Ventilator macht – ob er sich dreht oder nicht –, sondern auch, welcher Grenzwert fĂŒr die Feuchtigkeit eingestellt ist. Und ob der Ventilator automatisch oder manuell eingeschaltet wurde. Kurz gesagt, alles, was Sie wĂŒnschen.

NatĂŒrlich ist es fĂŒr einen bestimmten Ventilator zu viel Ehre, so viel Aufmerksamkeit zu bekommen. Aber das ist nur ein Beispiel.

FĂŒr die Verbindung zum Internet verwenden wir die Technologie MQTT und das dazugehörige Protokoll.
Um diese Technologie zu nutzen, benötigen wir einen MQTT-Broker. Das ist ein spezieller Server, der die MQTT-Clients, zum Beispiel ShIoTIny und Ihr Smartphone bedient.

Das Wesen der Technologie MQTT besteht darin, dass jeder Client beliebige Daten unter einem bestimmten Namen (genannt Thema in der Terminologie MQTT) auf dem MQTT-Broker (Server) veröffentlicht. Andere Clients können sich unter diesem Namen (Thema) auf beliebige Daten abonnieren und die neu veröffentlichten Daten erhalten. Das heißt, der gesamte Datenaustausch erfolgt nach dem Prinzip Client-Broker-Client.

Ich Ich werde nicht auf die Einzelheiten eingehen. Im Internet gibt es viele Artikel und Schulungen darĂŒber, wie das funktioniert MQTT und welche Programme zur Erstellung von Bedienfeldern verfĂŒgbar sind. Ich zeige einfach, wie wir Daten ĂŒber ShIoTiny.

empfangen und veröffentlichen können. www.cloudmqtt.comAls Broker habe ich

verwendet, aber das Prinzip ist ĂŒberall gleich. Nehmen wir an, Sie haben sich bei einem. Im Allgemeinen wird Ihnen der Broker ein (oder fordert Sie auf, ein) Benutzername und Passwort (zur Authentifizierung) sowie einen Port fĂŒr die Verbindung zur VerfĂŒgung stellen. Verbinden ShIoTiny zu mit dem MQTT-Broker kann auf zwei Arten erfolgen — ĂŒber eine standardmĂ€ĂŸige Verbindung oder ĂŒber TLS (SSL).

Alle diese Parameter werden ShIoTiny auf dem Tab Netzwerk, Abschnitt MQTT-Verbindung zum Server.

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Wenn Ihr MQTT-Broker keine Authentifizierung erfordert — geben Sie keinen Benutzernamen und kein Passwort ein (lassen Sie diese Felder leer).

Parameter MQTT-Topic-PrÀfix erfordert eine separate ErklÀrung.

Das MQTT-Parameter-PrĂ€fix ist eine Zeichenfolge, die zum Thema-Namen (Thema) beim Veröffentlichen und Abonnieren auf dem MQTT-Broker hinzugefĂŒgt wird. Um das MQTT-PrĂ€fix fĂŒr Ihren Controller festzulegen, geben Sie es einfach in das Eingabefeld „MQTT-Topic-PrĂ€fix» («MQTT-Topic-PrĂ€fix“ ein). Das PrĂ€fix beginnt immer mit einem SchrĂ€gstrich («/»)! Wenn Sie den SchrĂ€gstrich nicht im Eingabefeld eingeben — wird er automatisch hinzugefĂŒgt. Im PrĂ€fix dĂŒrfen keine Symbole «#» und «+». Es gibt keine weiteren EinschrĂ€nkungen.

Wenn Sie beispielsweise den Parameter „status“ (oder darauf abonnieren) veröffentlichen, und Ihr PrĂ€fix als „/shiotiny/“ festgelegt ist, wird dieser Parameter auf dem Broker unter dem Namen „/shiotiny/status“ veröffentlicht. Wenn Sie ein leeres PrĂ€fix festgelegt haben, beginnen alle Parameter auf dem Broker mit einem SchrĂ€gstrich («/»): «status“ wird als „/status».

veröffentlicht. Angenommen, Sie haben sich bei Nehmen wir an, Sie haben sich bei einem registriert und Benutzername, Passwort und Port erhalten. Dann haben Sie diese Parameter auf dem Tab Netzwerk, Abschnitt MQTT-Verbindung zum Server des Controllers angeschlossen. Ich weise darauf hin, dass der Ventilator ein GerĂ€t ist, das mit Hochspannung betrieben wird. Daher, falls jemand so etwas selbst machen möchte – seien Sie vorsichtig. Das heißt, ziehen Sie mindestens den Stecker, bevor Sie Ihre Finger oder MessgerĂ€te in das Schema stecken – schalten Sie zumindest den Ventilator aus. Und eine zweite Anmerkung. Wenn Ihr Ventilator leistungsstĂ€rker ist als ShIoTiny.

eingetragen. Angenommen, das PrĂ€fix ist auf „/room/».

festgelegt. Lassen Sie uns zunĂ€chst den Zustand aller SchlĂŒsselkriterien veröffentlichen: Relais Realay1, den Zustand der manuellen Aktivierung, den Zustand der automatischen Aktivierung und schließlich die Schwellen- und aktuellen Feuchtigkeitsniveaus. Und als Bonus — die Temperatur im Raum. Wie das geht, sehen Sie im Bild.

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Wie wir sehen, besteht der Unterschied zur vorherigen Version nur in den Knoten „MQTT Publish“. Unter BerĂŒcksichtigung des PrĂ€fixes werden folgende Parameter veröffentlicht:
ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

Wie wir sehen, ist der gesamte Status des Systems fĂŒr uns klar ersichtlich!

Aber wir wollen nicht nur sehen, sondern auch steuern. Was tun? Ganz einfach. Wir verzichten auf die Festlegung des Schwellenwerts fĂŒr die Feuchtigkeit ĂŒber ADC und einen variablen Widerstand und werden diesen Schwellenwert fĂŒr die Feuchtigkeit direkt ĂŒber unser Smartphone festlegen! MQTT Wir entfernen den ADC-Knoten aus dem Schema und fĂŒgen drei neue Knoten hinzu:

ShIoTiny: BelĂŒftung feuchter RĂ€ume (Projektbeispiel)

FLASH store FLASH restore, MQTT beschreiben und Die Funktion des Knotens.

ist offensichtlich: Er erhĂ€lt den Parameter Die Funktion des Knotens (Schwellenwert der Feuchtigkeit) vom /room/trigHset MQTT-Broker . Aber was macht er mit den Daten danach? Er gibt sie einfach an den Knoten weiter.. Aber was macht er dann mit den Daten? Er gibt sie einfach an den Knoten weiter. FLASH restore, der seinerseits diese Daten im nichtflĂŒchtigen Speicher unter dem Namen trigH. Danach liest der Knoten MQTT beschreiben die Daten aus dem nichtflĂŒchtigen Speicher unter dem Namen trigH und was danach passiert, wissen wir bereits.

Warum solche Komplikationen? Warum kann man die erhaltenen Daten nicht sofort an den Komparator ĂŒbergeben?

Wie der Genosse S. Holmes sagte — es ist elementar! mit dem MQTT-BrokerNiemand garantiert, dass nach dem Einschalten Ihres GerĂ€ts eine Verbindung zu MQTT-Broker hergestellt wird und jemand einen neuen Wert veröffentlicht /room/trigHset, dann wird dieser neue Wert verwendet.

Danach können Sie alles Mögliche erfinden. Zum Beispiel zusĂ€tzlich zur Luftfeuchtigkeit auch die Temperatur erfassen. Oder eine „intelligente“ Lichtsteuerung hinzufĂŒgen (wir haben noch zwei Relais und zwei EingĂ€nge ungenutzt). Alles liegt in Ihrer Hand!

Fazit

So haben wir einige Beispiele fĂŒr die einfachste Art eines Controllers auf Basis von ShIoTiny betrachtet. Vielleicht wird das jemandem nĂŒtzlich sein.

Wie immer sind Anregungen, WĂŒnsche, Fragen, Tippfehler und Ähnliches an die E-Mail: shiotiny@yandex.ru

Quelle: habr.com

60GB SSD 8Gb DDR4