{"id":33046,"date":"2019-10-31T21:50:27","date_gmt":"2019-10-31T18:50:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vizualnoe-programmirovanie-dlya-sonoff-basic\/"},"modified":"2019-10-31T21:50:27","modified_gmt":"2019-10-31T18:50:27","slug":"vizualnoe-programmirovanie-dlya-sonoff-basic","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vizualnoe-programmirovanie-dlya-sonoff-basic","title":{"rendered":"Visuelles Programmieren f\u00fcr Sonoff Basic","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/0682cb274648d8a8d16b17bced0116d7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nEin Artikel, der beschreibt, wie Sie aus einem g\u00fcnstigen chinesischen Ger\u00e4t einen programmierbaren Logik-Controller erstellen k\u00f6nnen. Dieses Ger\u00e4t findet sowohl in der Hausautomatisierung als auch als praktisches Projekt im Informatikunterricht Anwendung.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<em>Zur Information: Standardm\u00e4\u00dfig funktioniert das Sonoff Basic-Programm mit einer mobilen App \u00fcber einen chinesischen Cloud-Service. Nach der vorgeschlagenen Umprogrammierung wird die gesamte weitere Interaktion mit diesem Ger\u00e4t \u00fcber den Browser m\u00f6glich sein.<\/em> <\/p>\n<h2>Abschnitt I. Sonoff mit dem MGT24-Service verbinden<\/h2>\n<p><\/p>\n<h3>Schritt 1. Erstellen eines Dashboards<\/h3>\n<p>\nRegistrieren Sie sich auf der Website <noindex><a rel=\"nofollow\" href=\"http:\/\/mgt24.ru\">mgt24<\/a><\/noindex> (falls Sie noch nicht registriert sind) und melden Sie sich mit Ihrem Konto an.<br \/>\n<b class=\"spoiler_title\">Anmeldung<\/b><img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/e9b310a7cb7d2da90ac8161407944a8c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUm ein Verwaltungspanel f\u00fcr das neue Ger\u00e4t zu erstellen, klicken Sie auf die Schaltfl\u00e4che &#171;+&#187;.<br \/>\n<b class=\"spoiler_title\">Beispiel eines Dashboards<\/b><img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/dc10d7009ea65c72714c2ccd2314ed0b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSobald das Dashboard erstellt ist, erscheint es in Ihrer Liste der Dashboards.<\/p>\n<p>Im Tab \u201eEinstellungen\u201c des erstellten Dashboards finden Sie die Felder \u201eGer\u00e4te-ID\u201c und \u201eAuthentifizierungsschl\u00fcssel\u201c. Diese Informationen werden sp\u00e4ter zur Konfiguration des Sonoff-Ger\u00e4ts ben\u00f6tigt.<br \/>\n<b class=\"spoiler_title\">Beispiel-Tab<\/b><img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/f6cc6f1f469c6278c38c4c63288d9ba2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Schritt 2. Firmware des Ger\u00e4ts aktualisieren<\/h3>\n<p>\nMit dem Werkzeug <noindex><a rel=\"nofollow\" href=\"https:\/\/esp8266.ru\/download\/esp8266-utils\/XTCOM_UTIL.zip\">XTCOM_UTIL<\/a><\/noindex> laden Sie die Firmware <noindex><a rel=\"nofollow\" href=\"http:\/\/mgt24.ru\/en\/docs\/firmware\/plc_basic.bin\">PLK Sonoff Basic<\/a><\/noindex> auf das Ger\u00e4t, hierf\u00fcr ben\u00f6tigen Sie einen USB-TTL-Konverter. Hier <noindex><a rel=\"nofollow\" href=\"https:\/\/esp8266.ru\/esp8266-obnovlenie-proshivki-xtcom_util\/\">finden Sie die Anleitung<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"http:\/\/mgt24.ru\/en\/docs\/#!sonoff.md#%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0_Sonoff_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_\">Videoanleitung<\/a><\/noindex>.<\/p>\n<h3>Schritt 3. Ger\u00e4teeinrichtung<\/h3>\n<p>\nVersorgen Sie das Ger\u00e4t mit Strom; sobald die LED leuchtet, dr\u00fccken und halten Sie die Taste, bis die LED regelm\u00e4\u00dfig blinkt.<br \/>\nZu diesem Zeitpunkt erscheint ein neues WLAN-Netzwerk mit dem Namen \u201ePLC Sonoff Basic\u201c. Verbinden Sie Ihren Computer mit diesem Netzwerk.<br \/>\n<b class=\"spoiler_title\">Entschl\u00fcsselung der LED-Anzeige<\/b><\/p>\n<p>LED-Anzeige<br \/>\nGer\u00e4tezustand<\/p>\n<p>periodisches doppeltes Blinken<br \/>\nkeine Verbindung zum Router<\/p>\n<p>leuchtet kontinuierlich<br \/>\nVerbindung zum Router hergestellt<\/p>\n<p>periodisches gleichm\u00e4\u00dfiges Blinken<br \/>\nWLAN-Hotspot-Modus<\/p>\n<p>ausgeschaltet<br \/>\nkein Strom<\/p>\n<p>\u00d6ffnen Sie Ihren Internetbrowser und geben Sie in die Adresszeile \u201e192.168.4.1\u201c ein, um auf die Netzwerkparameter-Einstellungsseite des Ger\u00e4ts zu gelangen.<\/p>\n<p>F\u00fcllen Sie die Felder wie folgt aus:<\/p>\n<ul>\n<li>\u201eNetzwerkname\u201c und \u201ePasswort\u201c (um das Ger\u00e4t mit Ihrem heimischen WLAN-Router zu verbinden).<\/li>\n<li>\u201eGer\u00e4te-ID\u201c und \u201eAutorisierungsschl\u00fcssel\u201c (um das Ger\u00e4t im MGT24-Dienst zu authentifizieren).<\/li>\n<\/ul>\n<p>\n<b class=\"spoiler_title\">Beispiel f\u00fcr die Netzwerkkonfiguration des Ger\u00e4ts<\/b><img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/47d02b3883ce3896157da4dcc4fe7f40.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSpeichern Sie die Einstellungen und starten Sie das Ger\u00e4t neu.<br \/>\nHier <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/XTzGJI7y7t8?t=376\">Videoanleitung<\/a><\/noindex>.<\/p>\n<h3>Schritt 4. Anschluss der Sensoren (optional)<\/h3>\n<p>\nDie aktuelle Firmware unterst\u00fctzt bis zu vier Temperatursensoren ds18b20. Hier <noindex><a rel=\"nofollow\" href=\"http:\/\/mgt24.ru\/en\/docs\/#!sonoff.md#%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D1%80%D0%BC%D0%BE%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%B0_ds18b20_%D0%BA_Sonoff,_%D0%BC%D0%BE%D0%BD%D1%82%D0%B0%D0%B6%D0%BD%D1%8B%D0%B5_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B\">Videoanleitung<\/a><\/noindex> finden Sie Informationen zur Montage der Sensoren. Offensichtlich wird dieser Schritt der schwierigste sein, da er von Ihnen Handgeschick und einen L\u00f6tkolben erfordert.<\/p>\n<h2>Abschnitt II. Visuelle Programmierung<\/h2>\n<p><\/p>\n<h3>Schritt 1. Erstellung von Szenarien<\/h3>\n<p>\nAls Programmierumgebung wird <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/blockly\/\">Blockly<\/a><\/noindex>, eine benutzerfreundliche Umgebung, verwendet, sodass Sie keine Programmierkenntnisse ben\u00f6tigen, um einfache Szenarien zu erstellen.<\/p>\n<p>Ich habe spezielle Bl\u00f6cke zum Lesen und Schreiben der Ger\u00e4teeinstellungen hinzugef\u00fcgt. Der Zugriff auf jeden Parameter erfolgt \u00fcber den Namen. F\u00fcr Parameter von entfernten Ger\u00e4ten werden zusammengesetzte Namen verwendet: \u201eparameter@device\u201c.<br \/>\n<b class=\"spoiler_title\">Dropdown-Men\u00fc der Parameter<\/b><img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/6ba0f789a4d3e0a394f4773d2c401416.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Beispiel f\u00fcr ein Szenario zum zyklischen Ein- und Ausschalten der Last (1 Hz):<br \/>\n<img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/66876fcb1d029b1a06098a8f2118bba7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBeispiel f\u00fcr ein Szenario, das die Arbeit von zwei separaten Ger\u00e4ten synchronisiert. Das Relais des Zielger\u00e4ts spiegelt die Arbeit des Relais des entfernten Ger\u00e4ts wider.<br \/>\n<img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/a44e81ce1301c7908ac9fa7437785162.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSzenario f\u00fcr das Thermostat (ohne Hysterese):<br \/>\n<img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/0efa8a8f5e67f5ffd0812af5a2cececa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUm komplexere Skripte zu erstellen, k\u00f6nnen Sie Variablen, Schleifen, Funktionen (mit Argumenten) und andere Konstrukte verwenden. Ich werde hier nicht alles ausf\u00fchrlich erkl\u00e4ren, es gibt bereits einiges an <noindex><a rel=\"nofollow\" href=\"http:\/\/blockly.ru\/\">Schulungsmaterial zu Blockly<\/a><\/noindex>.<\/p>\n<h3>Schritt 2. Ausf\u00fchrungsreihenfolge der Skripte<\/h3>\n<p>\nEin Skript l\u00e4uft im kontinuierlichen Modus und wird sofort erneut gestartet, sobald es zu seinem Ende kommt. Dabei gibt es zwei Bl\u00f6cke, die die Ausf\u00fchrung des Skripts vor\u00fcbergehend anhalten k\u00f6nnen: \u00abdelay\u00bb und \u00abpause\u00bb.<br \/>\nDer Block \u00abdelay\u00bb wird f\u00fcr Millisekunden- oder Mikrosekundenverz\u00f6gerungen verwendet. Dieser Block h\u00e4lt den zeitlichen Intervall strikt ein und blockiert die Arbeit des gesamten Ger\u00e4ts. <br \/>\nDer Block \u00abpause\u00bb wird f\u00fcr Sekundenverz\u00f6gerungen (auch k\u00fcrzer m\u00f6glich) verwendet und blockiert nicht die Ausf\u00fchrung anderer Prozesse im Ger\u00e4t.<br \/>\nWenn ein Skript einen unendlichen Loop enth\u00e4lt, in dessen K\u00f6rper kein \u00abpause\u00bb-Befehl steht, initiiert der Interpreter selbstst\u00e4ndig eine kleine Pause.<br \/>\nFalls der zugewiesene Stack-Speicher ersch\u00f6pft ist, stoppt der Interpreter die Ausf\u00fchrung eines solchen speicherintensiven Skripts (passen Sie auf rekursive Funktionen auf).<\/p>\n<h3>Schritt 3. Debbuging von Skripten<\/h3>\n<p>\nUm ein bereits auf das Ger\u00e4t geladenes Skript zu debuggen, kann die Programmtreiberung Schritt f\u00fcr Schritt gestartet werden. Dies ist \u00e4u\u00dferst n\u00fctzlich, wenn das Verhalten des Skripts nicht den Erwartungen des Autors entspricht. In diesem Fall erm\u00f6glicht die Treiberung dem Autor, schnell die Quelle des Problems zu finden und den Fehler im Skript zu beheben.<\/p>\n<p>Skript zur Berechnung der Fakult\u00e4t im Debugging-Modus:<br \/>\n<img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/ea6e23729fd530b79b89c9481e78bd64.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas Debugging-Tool ist sehr einfach und besteht aus drei Hauptschaltfl\u00e4chen: \u00abStart\u00bb, \u00abEin Schritt vorw\u00e4rts\u00bb und \u00abStopp\u00bb (vergessen wir nicht den \u00abEintritt\u00bb und \u00abAusgang\u00bb aus dem Debugging-Modus). Neben der schrittweisen Treiberung kann an jedem Block ein Haltepunkt gesetzt werden (ein einfacher Klick mit der Maus auf den Block).<br \/>\nUm die aktuellen Werte der Parameter (Sensoren, Relais) auf dem Monitor anzuzeigen, verwenden Sie den Block \u00abprint\u00bb.<br \/>\nHier <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/2mK6gvqe_18\">\u00dcbersichtsvideo<\/a><\/noindex> \u00fcber die Verwendung des Debuggers.<\/p>\n<h2>Bereich f\u00fcr Neugierige. Was steckt dahinter?<\/h2>\n<p>\nUm die Szenarien auf dem Zielger\u00e4t auszuf\u00fchren, wurde ein Bytecode-Interpreter und ein Assembler mit 38 Instruktionen entwickelt. Ein spezialisierter Code-Generator wurde in den Quellen von blockly integriert, der visuelle Bl\u00f6cke in Assembleranweisungen umwandelt. Anschlie\u00dfend wird dieses Assemblerprogramm in Bytecode umgewandelt und an das Ger\u00e4t zur Ausf\u00fchrung \u00fcbergeben.<br \/>\nDie Architektur dieser virtuellen Maschine ist ziemlich einfach, weshalb es keinen besonderen Sinn macht, sie im Detail zu beschreiben. Im Internet finden Sie zahlreiche Artikel \u00fcber das Design einfacher virtueller Maschinen.<br \/>\nF\u00fcr den Stack meiner virtuellen Maschine reserviere ich normalerweise 1000 Bytes, was mehr als ausreichend ist. Nat\u00fcrlich k\u00f6nnen tiefe Rekursionen jeden Stack ersch\u00f6pfen, aber es ist unwahrscheinlich, dass sie in der Praxis n\u00fctzlich sind.<\/p>\n<p>Der resultierende Bytecode ist ziemlich kompakt. Zum Beispiel betr\u00e4gt der Bytecode f\u00fcr die Berechnung der Fakult\u00e4t nur 49 Bytes. Hier ist seine visuelle Darstellung:<br \/>\n<img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/1c6a8b693cbf2131f1f1369d97ad034b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnd hier ist sein Assemblerprogramm:<\/p>\n<pre><code class=\"javascript\">shift -1\nldi 10\ncall factorial, 1\nprint\nexit\n:factorial\nld_arg 0\nldi 1\ngt\nje 8\nld_arg 0\nld_arg 0\nldi 1\nsub\ncall factorial, 1\nmul\nret\nldi 1\nret\n<\/code><\/pre>\n<p>Wenn die assemblerm\u00e4\u00dfige Darstellung keinen praktischen Wert hat, bietet der Tab \u201eJavaScript\u201c hingegen eine vertrautere Ansicht als visuelle Bl\u00f6cke:<\/p>\n<pre><code class=\"javascript\">function factorial(num) {\n  if (num &gt; 1) {\n    return num + factorial(num - 1);\n  }\n  return 1;\n}\n\nwindow.alert(factorial(10));\n<\/code><\/pre>\n<p>Was die Leistung betrifft. Bei der Ausf\u00fchrung eines einfachen Blinkerskripts erhielt ich auf dem Oszilloskopbildschirm ein 47 kHz-M\u00e4ander (bei einer Prozessor-Taktfrequenz von 80 MHz).<br \/>\n<img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/961a50c7ef269265443e078a1a81291a.jpg\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"Visuelles Programmieren f\u00fcr Sonoff Basic\" src=\"\/wp-content\/uploads\/2019\/05\/a416044b4cea01121e04e27ae7d1fef2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIch halte dies f\u00fcr ein anst\u00e4ndiges Ergebnis, denn diese Geschwindigkeit ist fast zehnmal schneller als die von <noindex><a rel=\"nofollow\" href=\"http:\/\/esp8266freq.blogspot.com\/2016\/12\/esp-speed-compare-in-lua-micropython.html\">Lua<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/www.espruino.com\/Performance\">Espruino<\/a><\/noindex>.<\/p>\n<h2>Abschlie\u00dfender Teil<\/h2>\n<p>\nZusammenfassend l\u00e4sst sich sagen, dass der Einsatz von Skripten es uns nicht nur erm\u00f6glicht, die Logik eines einzelnen Ger\u00e4ts zu programmieren, sondern auch mehrere Ger\u00e4te zu einem einzigen Mechanismus zu verbinden, bei dem die einen Ger\u00e4te das Verhalten der anderen beeinflussen. <br \/>\nIch m\u00f6chte auch anmerken, dass die gew\u00e4hlte Methode zur Speicherung der Skripte (direkt in den Ger\u00e4ten, nicht auf einem Server) es erleichtert, bereits funktionierende Ger\u00e4te auf einen anderen Server, beispielsweise einen Heim-Raspberry, umzuschalten. <noindex><a rel=\"nofollow\" href=\"http:\/\/mgt24.ru\/en\/docs\/#!raspberry.md\">finden Sie die Anleitung<\/a><\/noindex>.<\/p>\n<p><i>Das ist alles, ich freue mich auf Ratschl\u00e4ge und konstruktive Kritik.<\/i><br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/436272\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0442\u0430\u0442\u044c\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0437 \u0434\u0435\u0448\u0451\u0432\u043e\u0433\u043e \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u0422\u0430\u043a\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430\u0439\u0434\u0451\u0442 \u0441\u0432\u043e\u0451 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u0432 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u0430\u043a \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043d\u044f\u0442\u0438\u0439 \u043f\u043e \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0435. \u0414\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043a\u0438, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 Sonoff Basic \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u043a\u0438, \u0432\u0441\u0451 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0441\u0442\u0430\u043d\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24803,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33046","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=\"\u0421\u0442\u0430\u0442\u044c\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0437 \u0434\u0435\u0448\u0451\u0432\u043e\u0433\u043e \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u0422\u0430\u043a\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430\u0439\u0434\u0451\u0442 \u0441\u0432\u043e\u0451 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u0432 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u0430\u043a \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043d\u044f\u0442\u0438\u0439 \u043f\u043e \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0435. \u0414\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043a\u0438, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 Sonoff Basic \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u043a\u0438, \u0432\u0441\u0451 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0441\u0442\u0430\u043d\u0435\u0442\" \/>\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\/vizualnoe-programmirovanie-dlya-sonoff-basic\" \/>\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\udd47\u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f Sonoff Basic | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0442\u0430\u0442\u044c\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0437 \u0434\u0435\u0448\u0451\u0432\u043e\u0433\u043e \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u0422\u0430\u043a\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430\u0439\u0434\u0451\u0442 \u0441\u0432\u043e\u0451 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u0432 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u0430\u043a \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043d\u044f\u0442\u0438\u0439 \u043f\u043e \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0435. \u0414\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043a\u0438, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 Sonoff Basic \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u043a\u0438, \u0432\u0441\u0451 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0441\u0442\u0430\u043d\u0435\u0442\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vizualnoe-programmirovanie-dlya-sonoff-basic\" \/>\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-31T18:50:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:50:27+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\udd47Visuelle Programmierung f\u00fcr Sonoff Basic | ProHoster","description":"Ein Artikel dar\u00fcber, wie man aus einem g\u00fcnstigen chinesischen Ger\u00e4t einen programmierbaren logischen Controller erstellt. Solch ein Ger\u00e4t kann sowohl in der Heimautomatisierung als auch f\u00fcr praktische Schulprojekte in Informatik eingesetzt werden. Zur Info: Standardm\u00e4\u00dfig funktioniert das Sonoff Basic Programm mit einer mobilen Anwendung \u00fcber einen chinesischen Cloud-Service. Nach der vorgeschlagenen Umgestaltung wird die gesamte weitere Interaktion mit diesem Ger\u00e4t","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vizualnoe-programmirovanie-dlya-sonoff-basic","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\udd47\u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f Sonoff Basic | ProHoster","og:description":"\u0421\u0442\u0430\u0442\u044c\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0437 \u0434\u0435\u0448\u0451\u0432\u043e\u0433\u043e \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u0422\u0430\u043a\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430\u0439\u0434\u0451\u0442 \u0441\u0432\u043e\u0451 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u0432 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u0430\u043a \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043d\u044f\u0442\u0438\u0439 \u043f\u043e \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0435. \u0414\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043a\u0438, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 Sonoff Basic \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u043a\u0438, \u0432\u0441\u0451 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0441\u0442\u0430\u043d\u0435\u0442","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vizualnoe-programmirovanie-dlya-sonoff-basic","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-31T18:50:27+00:00","article:modified_time":"2019-10-31T18:50:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33046","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-21 13:45:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:47:29","updated":"2026-01-21 13:45:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33046","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=33046"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33046\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/24803"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=33046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=33046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=33046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}