{"id":37423,"date":"2019-10-31T22:17:33","date_gmt":"2019-10-31T19:17:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer\/"},"modified":"2019-10-31T22:17:33","modified_gmt":"2019-10-31T19:17:33","slug":"shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","title":{"rendered":"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/a6e9c8239a90c713bd1b3b21891cbc13.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>Wichtige Punkte oder worum es in diesem Artikel geht<\/h4>\n<p>\nWir setzen die Artikelreihe \u00fcber <b>ShIoTiny<\/b> \u2014 einen visuell programmierbaren Controller auf Basis des Chips <b>ESP8266<\/b>.<\/p>\n<p>In diesem Artikel wird anhand des Beispiels eines Steuerungssystems f\u00fcr die Bel\u00fcftung in einem Badezimmer oder einem anderen feuchten Raum erkl\u00e4rt, wie das Programm f\u00fcr <b>ShIoTiny<\/b>.<\/p>\n<h4>Die vorherigen Artikel der Reihe.<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463107\/\">ShIoTiny: kleine Automatisierung, Internet der Dinge oder \u201esechs Monate vor dem Urlaub\u201c<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463285\/\">ShIoTiny: Knoten, Verbindungen und Ereignisse oder Besonderheiten beim Zeichnen von Programmen<\/a><\/noindex><\/p>\n<h4>Links<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">Bin\u00e4re Firmware, Schaltplan des Controllers und Dokumentation<\/a><\/noindex> <br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\/blob\/master\/doc\/ShIoT-esp8266-01_obzor.pdf\">Anleitung und Beschreibung der Knoten<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/esppower.ru\/mqtt-android\/\">Einrichtung des MQTT-Brokers cloudmqtt.com<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/393277\/\">MQTT-Dashboard f\u00fcr Android<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Einf\u00fchrung<\/h4>\n<p>\nVerst\u00e4ndnis entsteht nur durch Erfahrung. Diese Wahrheit wurde \u00fcber die Zeit und Generationen hinweg best\u00e4tigt. Daher gibt es nichts Besseres, um praktische F\u00e4higkeiten zu erlernen, als selbst zu versuchen, etwas zu erstellen. Beispiele, die zeigen, was man tun kann und was man besser vermeiden sollte, sind hier \u00e4u\u00dferst hilfreich. Die Fehler anderer werden nat\u00fcrlich nicht verhindern, dass man selbst Fehler macht, k\u00f6nnen jedoch helfen, die Anzahl der eigenen Fehler zu verringern.<\/p>\n<p>Fragen und Schreiben von Lesern fr\u00fcherer Artikel haben mich dazu angeregt, ein kleines Beispielprojekt zur Steuerung der Bel\u00fcftung zu erstellen, um zu zeigen, wie die ShIoTiny-Komponenten funktionieren.<\/p>\n<p>Die urspr\u00fcngliche Idee, auf deren Basis der Controller entstand, <b>ShIoTiny<\/b> \u2013 eine Pumpen- und Bew\u00e4sserungsstation \u2013 ist nicht f\u00fcr jeden geeignet und wird auch nicht f\u00fcr jeden von Interesse sein. Daher habe ich ein f\u00fcr viele verst\u00e4ndliches und n\u00fctzliches Bel\u00fcftungssystem als Beispiel gew\u00e4hlt.<\/p>\n<p>Ich muss sagen, dass die Idee des Projekts nicht von mir stammt, sondern <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/masterkit\/blog\/385281\/\">ich sie von hier habe<\/a><\/noindex> und dann anpasste an <b>ShIoTiny<\/b>.<\/p>\n<h4>Zuerst solltest du verstehen, was du willst.<\/h4>\n<p>\nDer Prozess der Verbesserung ist unendlich. Und genau diese Eigenschaft hat viele gute Ideen und Projekte zunichtegemacht. Der Entwickler hat, anstatt ein vielleicht nicht perfektes, aber funktionierendes Produkt herauszubringen, weiter daran gearbeitet. Und er hat so lange verbessert, bis die Konkurrenten ihn \u00fcberholt haben, indem sie zwar kein perfektes (oft sogar grob unzureichendes), aber funktionierendes Produkt ver\u00f6ffentlichten.<\/p>\n<p>Deshalb ist es sehr wichtig zu wissen, wo man im Projekt einen Punkt setzen sollte. Mit anderen Worten, wir m\u00fcssen kl\u00e4ren, was wir am Ende des Projekts erreichen wollen, basierend auf dem, was wir zu Beginn haben. Im Deutschen gibt es ein treffendes und pr\u00e4gnantes Wort f\u00fcr ein Dokument, das den Weg zur Erstellung von etwas beschreibt: \u00abPlan\u00bb. Leider verwenden \u00fcbersetzende Manager und unzureichend informierte Fachkr\u00e4fte heutzutage h\u00e4ufig den Begriff \u00abFahrplan\u00bb.<\/p>\n<p>Unser Plan sieht folgenderma\u00dfen aus: Stellen wir uns einen Raum vor, in dem die Luftfeuchtigkeit gelegentlich stark ansteigen kann. Zum Beispiel ein Badezimmer oder eine K\u00fcche. Hohe Luftfeuchtigkeit ist unangenehm, und das \u00e4lteste Mittel, um damit umzugehen, ist L\u00fcften. Es gibt viele M\u00f6glichkeiten zum L\u00fcften. Doch wir werden auf exotische und altmodische Methoden verzichten, wie etwa auf Bedienungen mit F\u00e4chern, und uns mit einem einfachen Ventilator begn\u00fcgen. Ventilatoren sind g\u00fcnstiger und zudem bei uns leichter zu finden.<\/p>\n<p>Kurz gesagt, wir m\u00f6chten den Ventilator steuern: ihn ein- und entsprechend wieder auszuschalten. Genauer gesagt, wir wollen, dass er sich selbst dann ein- und ausschaltet, wenn es n\u00f6tig ist.<\/p>\n<p>Es bleibt zu kl\u00e4ren: Unter welchen Bedingungen sollte der Ventilator eingeschaltet werden und unter welchen Umst\u00e4nden abgeschaltet werden?<\/p>\n<p>Hier ist alles offensichtlich: Wenn die Luftfeuchtigkeit einen bestimmten Schwellenwert \u00fcberschreitet, wird der Ventilator eingeschaltet, um die Luft abzusaugen; sinkt die Luftfeuchtigkeit wieder auf normal, schaltet sich der Ventilator aus.<\/p>\n<p>Der aufmerksame Leser wird sofort das Wort \u201evorgegebene\u201c bemerken. Von wem vorgegeben? Wie vorgegeben?<\/p>\n<p>Die Schwellenfeuchtigkeit kann auf verschiedene Arten festgelegt werden. Wir werden zwei davon betrachten: die erste \u00fcber einen variablen Widerstand und die zweite \u00fcber das Netzwerk mithilfe des MQTT-Protokolls. Jede dieser Methoden hat ihre Vor- und Nachteile, die wir weiter unten besprechen werden.<\/p>\n<p>F\u00fcr diejenigen, die es nicht verstanden haben, m\u00f6chte ich klarstellen, dass \u201eSchwellenfeuchtigkeit\u201c der Feuchtigkeitswert ist, bei dem der Ventilator eingeschaltet werden muss, wenn er \u00fcberschritten wird.<\/p>\n<p>Die n\u00e4chste Frage lautet: Soll der Benutzer die M\u00f6glichkeit haben, den Ventilator direkt einzuschalten? Das hei\u00dft, unabh\u00e4ngig von der Luftfeuchtigkeit, auf Knopfdruck? Diese M\u00f6glichkeit werden wir bieten. Schlie\u00dflich kann der Ventilator nicht nur bei erh\u00f6hter Luftfeuchtigkeit, sondern auch zur Entfernung unerw\u00fcnschter Ger\u00fcche, die umgangssprachlich als \"Gestank\" bezeichnet werden, ben\u00f6tigt werden.<\/p>\n<p>Also, wir wissen, was wir wollen und haben auch eine Vorstellung davon, wie es funktionieren wird. Lassen Sie uns kurz alle Funktionen unseres L\u00fcftungsmanagementsystems auflisten:<\/p>\n<ul>\n<li> Festlegung des Schwellenwerts f\u00fcr die Luftfeuchtigkeit (zwei Optionen);<\/li>\n<li> Messung des Luftfeuchtigkeitsniveaus;<\/li>\n<li> Automatisches Einschalten des Ventilators;<\/li>\n<li> Automatisches Ausschalten des Ventilators;<\/li>\n<li> Manuelles Einschalten des Ventilators (auf Knopfdruck).<\/li>\n<\/ul>\n<p>\nDer Plan ist klar. Alle oben genannten Funktionen m\u00fcssen in unser Programm integriert werden. Auf Basis dieses \u201ePlans\u201c werden wir vorgehen. Lassen Sie uns zun\u00e4chst das Strukturdiagramm des Ger\u00e4ts skizzieren.<\/p>\n<h4>Strukturdiagramm des Ger\u00e4ts<\/h4>\n<p>\nIm Allgemeinen werden wir zwei solcher Schaltungen haben. Die erste f\u00fcr die Variante, bei der der Schwellenwert f\u00fcr die Luftfeuchtigkeit durch einen ver\u00e4nderlichen Widerstand festgelegt wird. Die zweite Schaltung ist f\u00fcr die Variante, in der der Schwellenwert \u00fcber das Netzwerk mit dem MQTT-Protokoll festgelegt wird.<\/p>\n<p>Da sich diese Schaltungen jedoch nur in einem Element - dem ver\u00e4nderlichen Widerstand zur \"Festlegung des Schwellenwerts f\u00fcr die Luftfeuchtigkeit\" - unterscheiden, zeichnen wir nur ein strukturelles Diagramm. Nat\u00fcrlich sieht das strukturelle Diagramm gem\u00e4\u00df den Vorschriften anders aus. Aber wir orientieren uns nicht an den erfahrenen Ingenieuren, sondern an der jungen Generation. Daher ist die Anschaulichkeit wichtiger.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/519f40496a8e459c22d69e7f0eaeee1d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWas sehen wir also auf dem Bild? Der Ventilator ist mit dem Relais <b>Relay1<\/b> des Controllers <b>ShIoTiny<\/b>. Ich m\u00f6chte darauf hinweisen, dass der Ventilator ein Ger\u00e4t ist, das mit Hochspannung betrieben wird. Daher, falls jemand so etwas selbst macht - seien Sie vorsichtig. Das bedeutet, dass Sie mindestens, bevor Sie Ihre Finger oder Messger\u00e4te in die Schaltung stecken, den Ventilator mindestens von der Stromversorgung trennen sollten. Und noch eine Anmerkung. Wenn Ihr Ventilator leistungsst\u00e4rker ist als <b>250 W<\/b>, sollten Sie ihn nicht direkt an das <b>ShIoTiny<\/b> anschlie\u00dfen - nur \u00fcber einen Starter.<\/p>\n<p>Wir haben den Ventilator gekl\u00e4rt. Jetzt geht es um den \u201emanuellen Einschaltknopf\u201c f\u00fcr den Ventilator. Dieser ist mit dem Eingang verbunden. <b>Input1<\/b>. Hier gibt es nicht mehr viel zu erkl\u00e4ren.<\/p>\n<p>Temperatur- und Luftfeuchtigkeitssensor <b>DHT-11<\/b> (oder <b>DHT-22<\/b> oder \u00e4hnliche Modelle). F\u00fcr seine Verbindung gibt es einen speziellen Eingang am Controller. <b>ShIoTiny<\/b>. Wie im Bild zu sehen ist, stellt der Anschluss eines solchen Sensors ebenfalls kein Problem dar.<\/p>\n<p>Und schlie\u00dflich den variablen Widerstand, der den Schwellenwert f\u00fcr die Luftfeuchtigkeit festlegt. Genauer gesagt \u2013 einen Spannungsteiler, der aus einem variablen und einem festen Widerstand besteht. Es gibt keine Probleme beim Anschluss, aber ich m\u00f6chte darauf hinweisen, dass der eingebaute ADC auf <b>ESP8266<\/b> maximal 1 Volt ausgelegt ist. Daher ist ein Spannungsteiler von etwa 5 notwendig.<\/p>\n<p>Und noch einmal, ich erinnere daran, dass dieser Spannungsteiler nicht notwendig ist, wenn der Schwellenwert f\u00fcr die Luftfeuchtigkeit \u00fcber das Netzwerk mithilfe des MQTT-Protokolls festgelegt wird.<\/p>\n<p>Lassen Sie uns beginnen, den Algorithmus f\u00fcr das Ger\u00e4t im ElDraw ShIoTiny Editor zu erstellen. Wie man auf diesen Editor zugreift, kann in den vorherigen Artikeln oder in der Anleitung, deren Link zu Beginn des Artikels zu finden ist, nachgelesen werden.<\/p>\n<h4>Erste Variante, die einfachste<\/h4>\n<p>\nBeginnen wir mit dem Einfachen: der Aktivierung des Relais <b>Relay1<\/b> bei \u00dcberschreitung des Schwellenwertes f\u00fcr die Luftfeuchtigkeit f\u00fcr eine festgelegte Zeit.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/e9f8d30627cf7cdbebccf863c2b2f808.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie wir sehen, ist es nichts Kompliziertes: nur vier Knoten, abgesehen von den Kommentar-Knoten. <b>DHT11<\/b> \u2014 das ist der eigentliche Temperatur- und Feuchtigkeitssensor (kann ersetzt werden durch <b>DHT22<\/b>).<\/p>\n<p>Konstante <b>CONST<\/b> \u2014 der Schwellenwert f\u00fcr die Luftfeuchtigkeit, in Prozent.<\/p>\n<p>Der Komparator ist der Knoten, der zwei Zahlen vergleicht und an seinem Ausgang 1 ausgibt, wenn die Bedingung erf\u00fcllt ist, und 0, wenn die Bedingung nicht erf\u00fcllt ist.<\/p>\n<p>In unserem Fall wird diese Bedingung sein <b>A&gt;B<\/b>, wobei <b>A<\/b> \u2014 der vom Sensor gemessene Feuchtigkeitswert, w\u00e4hrend <b>B<\/b> \u2014 der Schwellenwert f\u00fcr die gleiche Feuchtigkeit ist.<\/p>\n<p>Sobald der gemessene Feuchtigkeitswert (<b>A<\/b>) den Schwellenwert f\u00fcr die Feuchtigkeit (<b>B<\/b>) \u00fcberschreitet, wird der Komparator sofort eine 1 ausgeben und das Relais wird aktiviert. Umgekehrt, sobald der Feuchtigkeitswert wieder im Normbereich ist (das hei\u00dft <b>A&gt;B<\/b> A&lt;=B <b>wird 0 ausgegeben und das Relais wird deaktiviert.<\/b>) \u00fcberschreitet, wird der Komparator sofort eine 1 ausgeben und das Relais wird aktiviert. Umgekehrt, sobald der Feuchtigkeitswert wieder im Normbereich ist (das hei\u00dft <b>A&gt;B<\/b> Verstehen Sie das? Falls nicht, lesen Sie es noch einmal durch oder werfen Sie einen Blick auf die Beschreibung der Funktionsweise der Knoten in der Anleitung.<\/p>\n<p>Ich m\u00f6chte anmerken, dass die Daten des Sensors<\/p>\n<p>ungef\u00e4hr einmal alle 10 Sekunden aktualisiert werden. Daher kann das Relais nicht h\u00e4ufiger als einmal alle 10 Sekunden ein- und ausgeschaltet werden. <b>DHT11<\/b> Das w\u00e4re ja nichts, aber wir m\u00f6chten den Schwellenwert f\u00fcr die Feuchtigkeit mit einem potentiometern einstellen. Das ist ganz einfach!<\/p>\n<p>Alles w\u00e4re gut, aber wir m\u00f6chten einen Schwellenwert f\u00fcr die Luftfeuchtigkeit mit einem variablen Widerstand festlegen. Das ist ganz einfach!<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/3042bda4fe16e3fbad2d3f46f0beccb4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir ersetzen einfach den Konstantenknoten durch den ADC-Knoten. Schlie\u00dflich haben wir den Spannungsteiler mit einem variablen Widerstand an den ADC angeschlossen.<\/p>\n<p>Die Spannung am Eingang des ADC variiert von 0 bis 1 Volt. Die Feuchtigkeit hingegen, die der Sensor ausgibt, variiert von 0 bis 100 %. Wie vergleichen wir sie nun? Es ist ganz einfach. Der ADC-Knoten <b>ShIoTiny<\/b> misst nicht nur die Spannung am Eingang, sondern kann sie auch <i><b>skalieren und verschieben.<\/b><\/i>.<\/p>\n<p>Das bedeutet, dass am Ausgang des ADC1 (ADC) der Wert <b>X<\/b>berechnet wird nach der Formel: <\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/d01bc0ff4e6962252fced695d3894d32.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>, wobei <img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/ac0bf727edb4c759d12268376ec6ad9b.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 die Spannung am ADC-Eingang (von 0 bis 1 V); <b>k<\/b> \u2014 der Bereich (ADC-Bereich) und <b>b<\/b>\u2014 der Offset (ADC-Verschiebung). So wird, wenn man festlegt <b>k=100<\/b> und <b>b=0,<\/b>bei einer \u00c4nderung <img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/0afbeb2e49d5a107bc54d6bbd87ba23c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> im Bereich von 0 bis 1 der Wert <b>X<\/b> am Ausgang des ADC-Knotens im Bereich von 0 bis 100 variieren. Das entspricht numerisch dem Feuchtigkeits\u00e4nderungsbereich von 0 bis 100%.<\/p>\n<p>Oder einfacher gesagt, indem man den Regler des variablen Widerstands dreht, kann man den Schwellenwert f\u00fcr die Feuchtigkeit von 0 bis 100 einstellen. Das einzige Problem ist, dass es keine Anzeigeger\u00e4te gibt. Aber in der Praxis gen\u00fcgt es, wenn man am Regler des variablen Widerstands 6 Markierungen macht: 0 %, 20 %, 40 %, 60 %, 80 %, 100 % \u2014 das ist ausreichend, um den Schwellenwert f\u00fcr die Feuchtigkeit festzulegen.<\/p>\n<p>Wie stellen wir die Koeffizienten ein? <b>k<\/b> \u2014 der Bereich (ADC-Bereich) und <b>b<\/b>-Versatz (ADC-Versatz)? So einfach wie ein Zwieback! Klicken Sie mit der Maus auf den Knoten <b>ADC1<\/b> und sofort erscheint ein Einstellungsfenster. Darin k\u00f6nnen Sie alles einstellen, was Sie brauchen. In unserem Fall wird es ein Fenster wie auf der Abbildung sein.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/ff81992b4fe236f5de6d17ca6bf8187c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSo, wir haben eine einfache funktionierende L\u00f6sung. Lass uns beginnen, sie zu verbessern.<br \/>\n\u00dcbrigens hat die einfachste L\u00f6sung einen Vorteil \u2013 sie ben\u00f6tigt kein Internet. Sie ist vollst\u00e4ndig eigenst\u00e4ndig.<\/p>\n<h4>Zweite Variante, wir schlie\u00dfen einen Knopf an<\/h4>\n<p>\nAlles funktioniert und alle sind zufrieden. Aber das Problem ist, wir k\u00f6nnen die Bel\u00fcftung nicht manuell aktivieren. Wir haben bereits vereinbart, dass am Eingang <b>Input1<\/b> ein Knopf angeschlossen wird, der den Ventilator manuell ein- und ausschalten kann, unabh\u00e4ngig vom Feuchtigkeitssensor.<br \/>\nEs ist Zeit, diesen Knopf in unserem Schaltprogramm zu verarbeiten.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/673c274a5be680ce7c3ef1f9572f93fa.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDer Block zur Verarbeitung des Tastendrucks ist durch eine orange Linie hervorgehoben. Er besteht aus einem Druckz\u00e4hler, der auf null zur\u00fcckgesetzt wird, wenn der Ausgangswert \u00fcber eins hinausgeht (gr\u00fcne Linie, Ausgang des Knotens <b>CT<\/b>).<\/p>\n<p>Alles funktioniert hier so unkompliziert wie zuvor: der Z\u00e4hler <b>CT<\/b> z\u00e4hlt die Drucke des an den Eingang angeschlossenen Knopfes. <b>Input1<\/b>. Das bedeutet, dass der Wert dieses Z\u00e4hlers bei jedem Dr\u00fccken des Knopfes um 1 erh\u00f6ht wird.<\/p>\n<p>Sobald dieser Wert zwei erreicht (also mehr als 1), wird am Ausgang des Komparators <b>A&gt;B<\/b> eine 1 erscheinen. Und diese 1 setzt den Z\u00e4hler <b>CT<\/b> auf null zur\u00fcck. Dabei ist der untere Komparator in der Schaltung gemeint!<\/p>\n<p>Somit hat unser Knopf zwei Zust\u00e4nde \u2013 0 und 1. Wenn wir mehr Zust\u00e4nde br\u00e4uchten (3, 4 oder noch mehr), m\u00fcssten wir lediglich die Konstante <b>CONST<\/b> von eins auf einen anderen Wert \u00e4ndern.<\/p>\n<p>Wir haben also zwei Bedingungen f\u00fcr das Einschalten des Ventilators: \u00dcberschreitung des festgelegten Feuchtigkeitsniveaus und einmaliges Dr\u00fccken des Knopfes. Bei Erf\u00fcllung einer dieser Bedingungen schaltet sich der Ventilator ein und l\u00e4uft weiter, bis der Knopf erneut gedr\u00fcckt wird. <b>Und<\/b> Das Feuchtigkeitsniveau wieder normal ist.<\/p>\n<p>Nat\u00fcrlich k\u00f6nnte man den Algorithmus noch weiter verkomplizieren, aber das werden wir nicht tun \u2013 wir lassen Raum f\u00fcr kreative Ideen.<\/p>\n<h4>Dritte Option, wir verbinden uns mit dem Internet.<\/h4>\n<p>\nAlles, was wir beschrieben haben, funktioniert tats\u00e4chlich. Aber was ist mit dem Trend? Jeder unangepasste Hipster-Hacker, der etwas auf sich h\u00e4lt, wird \u00fcber jemanden lachen, der an einem Knopf dreht und ihn dr\u00fcckt, anstatt alles mit dem Smartphone zu steuern! An einem Knopf zu drehen, ist schlie\u00dflich \"nicht trendy\". Vielmehr ist es der ultimative Wunsch eines Hipster-Hackers, seinen Finger \u00fcber das Smartphone zu reiben, bis er blutet \u2013 das ist der H\u00f6hepunkt des Hipster-Hacker-Kreiskreislaufs (ich konnte sie nie auseinanderhalten \u2013 also verzeihen Sie, wenn ich mich irre).<\/p>\n<p>Aber lassen wir uns von diesen Personen nicht entmutigen. Die Internetsteuerung hat tats\u00e4chlich einige Vorteile. Erstens, die Sichtbarkeit. Es gibt eine Vielzahl von Anwendungen f\u00fcr alle Plattformen, die es erm\u00f6glichen, mit ein paar Klicks ein brauchbares Steuerfeld f\u00fcr unseren Controller zu erstellen. Zweitens, die M\u00f6glichkeit, den Feuchtigkeitszustand im Raum aus der Ferne zu \u00fcberwachen. Drittens kann man nicht nur sehen, ob sich der Ventilator dreht oder nicht, sondern auch, welcher Schwellenwert f\u00fcr die Feuchtigkeit eingestellt ist. Au\u00dferdem sieht man, ob der Ventilator automatisch oder manuell eingeschaltet wurde. Kurz gesagt, alles, was Sie m\u00f6chten.<\/p>\n<p>Nat\u00fcrlich ist es f\u00fcr einen Ventilator ein wenig \u00fcbertrieben, so viel Aufmerksamkeit zu erhalten. Aber das ist nur ein Beispiel.<\/p>\n<p>Um eine Internetverbindung herzustellen, verwenden wir die Technologie <b>MQTT<\/b> und das gleichnamige Protokoll.<br \/>\nUm diese Technologie zu nutzen, ben\u00f6tigen wir einen <b>MQTT-Broker<\/b>. Dies ist ein spezieller Server, der die <b>MQTT-Clients<\/b>, wie zum Beispiel <b>ShIoTIny<\/b> und Ihr Smartphone, bedient.<\/p>\n<p>Das Prinzip dieser Technologie <b>MQTT<\/b> besteht darin, dass jeder Client auf dem MQTT-Broker (Server) beliebige Daten unter einem bestimmten Namen ver\u00f6ffentlicht (genannt <b>Thema<\/b> in der Terminologie <b>MQTT<\/b>). Andere Clients k\u00f6nnen sich auf die beliebigen Daten mit ihrem Namen (<b>Thema<\/b>) abonnieren und die neu ver\u00f6ffentlichten Daten empfangen. Der gesamte Datenaustausch erfolgt also nach dem Prinzip Client-Broker-Client.<\/p>\n<p>Ich <i><b>Ich werde nicht<\/b><\/i> auf die Einzelheiten eingehen. Im Internet gibt es viele Artikel und Tutorials dar\u00fcber, wie <b>MQTT<\/b> funktioniert und welche Programme zur Erstellung von Dashboards verf\u00fcgbar sind. Ich werde einfach zeigen, wie wir Daten mithilfe von <b>ShIoTiny<\/b>.<\/p>\n<p>empfangen und ver\u00f6ffentlichen k\u00f6nnen. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cloudmqtt.com\/\">www.cloudmqtt.com<\/a><\/noindex>Als Broker habe ich<\/p>\n<p>verwendet, aber das Prinzip ist \u00fcberall gleich. <b>Angenommen, Sie haben sich bei der<\/b>MQTT-Broker <b>ShIoTiny<\/b> zu <b>registriert. Im Allgemeinen wird Ihnen der Broker (oder er verlangt von Ihnen, einen) Benutzernamen und Passwort (zur Authentifizierung) sowie einen Anschluss f\u00fcr die Verbindung bereitstellen.<\/b> Es gibt zwei M\u00f6glichkeiten \u2013 eine normale Verbindung und \u00fcber <b>TLS<\/b> (<b>SSL<\/b>).<\/p>\n<p>Alle diese Parameter werden <b>ShIoTiny<\/b> im Tab <b>Networking<\/b>, Abschnitt <b>MQTT-Verbindung zum Server<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/3a16cbd07a64428568e7c03f178e87ef.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn Ihr <b>MQTT-Broker<\/b> keine Authentifizierung erfordert \u2013 lassen Sie Benutzername und Passwort leer (diese Felder unber\u00fchrt lassen).<\/p>\n<p>Parameter <b>MQTT-Themenpr\u00e4fix<\/b> erfordert eine gesonderte Erkl\u00e4rung.<\/p>\n<p>Das MQTT-Parameterpr\u00e4fix ist eine Zeichenfolge, die zum Namen des Themas (<b>Thema<\/b>) beim Ver\u00f6ffentlichen und Abonnieren auf dem MQTT-Broker hinzugef\u00fcgt wird. Um <b>das MQTT-Pr\u00e4fix<\/b> f\u00fcr Ihren Controller festzulegen, geben Sie es einfach in das Eingabefeld \u201e<b>MQTT-Themenpr\u00e4fix<\/b>\u00bb (\u00ab<b>MQTT-Themenpr\u00e4fix<\/b>\u201c ein). Das Pr\u00e4fix beginnt immer mit einem Schr\u00e4gstrich (<b>\u00ab\/\u00bb<\/b>)! Wenn Sie keinen Schr\u00e4gstrich im Eingabefeld eingeben \u2013 wird er automatisch hinzugef\u00fcgt. Im Pr\u00e4fix d\u00fcrfen keine Zeichen <b>\u00ab#\u00bb<\/b> und <b>\u00ab+\u00bb<\/b>verwendet werden. Es gibt keine weiteren Einschr\u00e4nkungen.<\/p>\n<p>Zum Beispiel, wenn Sie den Parameter \u201e<b>status<\/b>\u201c ver\u00f6ffentlichen (oder sich darauf abonnieren), und Ihr Pr\u00e4fix lautet \u201e<b>\/shiotiny\/<\/b>, wird dieser Parameter auf dem Broker unter dem Namen \u201e<b>\/shiotiny\/status<\/b>\u201c ver\u00f6ffentlicht. Wenn Sie ein leeres Pr\u00e4fix angegeben haben, beginnen alle Parameter auf dem Broker mit einem Schr\u00e4gstrich (<b>\u00ab\/\u00bb<\/b>): \u00ab<b>status<\/b>\u201c wird als \u201e<b>\/status<\/b>\u00bb.<\/p>\n<p>Angenommen, Sie haben sich bei <b>Angenommen, Sie haben sich bei der<\/b> registriert und Ihre Zugangsdaten sowie den Port erhalten. Dann haben Sie diese Parameter im Tab <b>Networking<\/b>, Abschnitt <b>MQTT-Verbindung zum Server<\/b> des Controllers <b>ShIoTiny<\/b>.<\/p>\n<p>festgelegt. Nehmen wir an, das Pr\u00e4fix wurde auf \u201e<b>\/room\/<\/b>\u00bb.<\/p>\n<p>Lassen Sie uns zun\u00e4chst den status aller wichtigen Parameter ver\u00f6ffentlichen: Relais <b>Realay1<\/b>, den Zustand der manuellen Aktivierung, den Zustand der automatischen Aktivierung und schlie\u00dflich die Schwellen- und aktuellen Feuchtigkeitswerte. Und als Bonus\u2014die Raumtemperatur. Wie man das macht, sehen Sie im Bild.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/ed016ae37bb0cb1197e2e4fd649a7c4f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie wir sehen, unterscheidet sich die aktuelle Version nur in den Knoten \u201e<b>MQTT Publish<\/b>\u201c. Unter Ber\u00fccksichtigung des Pr\u00e4fixes werden folgende Parameter ver\u00f6ffentlicht:<br \/>\n<img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/34b67dd1932f30de777a680802f71c59.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie wir sehen, haben wir den gesamten Systemstatus klar vor Augen!<\/p>\n<p>Aber wir wollen nicht nur sehen, sondern auch steuern. Was tun? Ganz einfach. Wir verzichten auf die Einstellung des Schwellenwerts f\u00fcr die Feuchtigkeit \u00fcber <b>ADC<\/b> und einen variablen Widerstand und setzen den Schwellenwert f\u00fcr die Feuchtigkeit direkt \u00fcber <b>MQTT<\/b> unser Smartphone!<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Beispielprojekt)\" src=\"\/wp-content\/uploads\/2019\/08\/c32d9ec2c1a082e0a1ead0b04526eba5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir entfernen den ADC-Knoten aus dem Schaltkreis und f\u00fcgen dort drei neue Knoten hinzu: <b>FLASH store<\/b>, <b>FLASH restore<\/b> und <b>MQTT describe<\/b>.<\/p>\n<p>Die Funktion des Knotens <b>MQTT describe<\/b> ist offensichtlich: Er erh\u00e4lt den Parameter <b>\/room\/trigHset<\/b> (Schwellenwert f\u00fcr die Feuchtigkeit) vom <b>MQTT-Broker<\/b>. Aber was macht er dann mit den Daten? Er gibt sie einfach an den Knoten <b>FLASH store<\/b>, der seinerseits diese Daten im nichtfl\u00fcchtigen Speicher unter dem Namen <b>trigH<\/b>speichert. Danach liest der Knoten <b>FLASH restore<\/b> die Daten aus dem nichtfl\u00fcchtigen Speicher unter dem Namen <b>trigH<\/b> Und was als N\u00e4chstes passiert, wissen wir bereits.<\/p>\n<p>Warum so kompliziert? Warum k\u00f6nnen die erhaltenen Daten nicht sofort an den Komparator \u00fcbergeben werden? <\/p>\n<p>Wie der Kollege S. Holmes sagte \u2014 <i>das ist elementar.<\/i>! Niemand garantiert, dass Ihr Ger\u00e4t nach dem Einschalten mit <b>registriert. Im Allgemeinen wird Ihnen der Broker (oder er verlangt von Ihnen, einen) Benutzernamen und Passwort (zur Authentifizierung) sowie einen Anschluss f\u00fcr die Verbindung bereitstellen.<\/b>verbunden wird. Au\u00dferdem muss die Feuchtigkeit gemessen werden. Und der Ventilator muss eingeschaltet werden. Aber ohne Informationen \u00fcber den Schwellenwert der Luftfeuchtigkeit ist das unm\u00f6glich! Daher extrahiert unser Ger\u00e4t beim Einschalten den zuvor gespeicherten Schwellenwert der Luftfeuchtigkeit aus dem nichtfl\u00fcchtigen Speicher und nutzt ihn f\u00fcr Entscheidungen. Und sobald die Verbindung zu <b>dem MQTT-Broker<\/b> hergestellt ist und jemand einen neuen Wert ver\u00f6ffentlicht <b>\/room\/trigHset<\/b>, wird dieser neue Wert verwendet.<\/p>\n<p>Danach k\u00f6nnen Sie sich alles M\u00f6gliche ausdenken. Zum Beispiel k\u00f6nnten Sie zus\u00e4tzlich zur Feuchtigkeit auch die Temperatur erfassen. Oder eine \"intelligente\" Lichtsteuerung hinzuf\u00fcgen (wir haben noch zwei Relais und zwei Eing\u00e4nge ungenutzt). Alles liegt in Ihrer Hand!<\/p>\n<h4>Fazit<\/h4>\n<p>\nSo haben wir einige Beispiele f\u00fcr die Implementierung eines grundlegend einfachen Controllers auf Basis von ShIoTiny betrachtet. Vielleicht wird das f\u00fcr jemanden n\u00fctzlich sein.<\/p>\n<p>Wie immer freuen wir uns \u00fcber Vorschl\u00e4ge, Anfragen, Fragen, Tippfehler und \u00e4hnliches \u2013 bitte senden Sie uns eine E-Mail an: <b>shiotiny@yandex.ru<\/b><br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/464485\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28079,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47ShIoTiny: \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0433\u043e \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f (\u043f\u0440\u043e\u0435\u043a\u0442-\u043f\u0440\u0438\u043c\u0435\u0440) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:17:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:17:33+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47ShIoTiny: Bel\u00fcftung feuchter R\u00e4ume (Projektbeispiel) | ProHoster","description":"Wichtige Punkte oder worum es in diesem Artikel geht. Wir setzen unsere Reihe von Artikeln \u00fcber ShIoTiny \u2013 einen visuell programmierbaren Controller auf Basis des ESP8266-Chips \u2013 fort. In diesem Artikel wird am Beispiel eines Projekts zur Steuerung der Bel\u00fcftung in einem Badezimmer oder einem anderen Raum mit hoher Luftfeuchtigkeit erl\u00e4utert, wie man ein Programm f\u00fcr ShIoTiny erstellt. Fr\u00fchere Artikel der Serie. ShIoTiny: smarte Automatisierung, Internet der Dinge oder \"da\"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47ShIoTiny: \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0433\u043e \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f (\u043f\u0440\u043e\u0435\u043a\u0442-\u043f\u0440\u0438\u043c\u0435\u0440) | ProHoster","og:description":"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:17:33+00:00","article:modified_time":"2019-10-31T19:17:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37423","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 17:45:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:27:24","updated":"2026-01-23 17:45:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=37423"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37423\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/28079"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=37423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=37423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=37423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}