{"id":1159,"date":"2016-01-29T06:57:19","date_gmt":"2016-01-29T05:57:19","guid":{"rendered":"http:\/\/iot.fkainka.de\/?p=1159"},"modified":"2016-01-29T07:45:31","modified_gmt":"2016-01-29T06:45:31","slug":"wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung","status":"publish","type":"post","link":"https:\/\/iot.fkainka.de\/en\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung","title":{"rendered":"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung"},"content":{"rendered":"<p><\/p>\n<h2>Beitrag zum <a href=\"http:\/\/fkainka.de\/der-kalender-wettbewerb-2015-sensoren-im-internet-of-things\/\">Kalenderwettbewerb<\/a> 2015 von\u00a0Bernhard Kaiser &amp;\u00a0Michael Gaus<\/h2>\n<p>&nbsp;<\/p>\n<p>Bei diesem Projekt handelt es sich um einen Wassermelder, der optisch, akustisch und per Twitter-Meldung Alarm gibt, sobald an den Sensorkontakten Wasser detektiert wird. Er kann z.B. zur \u00dcberwachung auf austretendes Wasser aus Waschmaschine oder Sp\u00fclmaschine dienen und helfen, rechtzeitig vor gr\u00f6\u00dferen \u00dcberschwemmungen eingreifen zu k\u00f6nnen. Als Sensorkontakt k\u00f6nnen einfach 2 Dr\u00e4hte mit abisolierten Enden genommen werden, so wie es auch auf dem Foto zu sehen ist. Verwendet wurden ausschlie\u00dflich die Bauteile der beiden Adventskalender.<\/p>\n<div id=\"attachment_832\" style=\"width: 1664px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/fkainka.de\/wp-content\/uploads\/2016\/01\/schaltplan.png\" rel=\"attachment wp-att-832\"><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-832\" src=\"http:\/\/fkainka.de\/wp-content\/uploads\/2016\/01\/schaltplan.png\" alt=\"Schaltpl\" width=\"1654\" height=\"889\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Schaltplan<\/p>\n<\/div>\n<p>Im Ruhezustand der Schaltung sperrt die Darlingtonstufe bestehend aus den beiden Transistoren T1 und T2. Bei Benetzung mit Wasser am Sensorkontakt J1 entsteht eine leitf\u00e4hige Verbindung, sodass die Darlingtonstufe durchschaltet und die rote LED1 eingeschaltet wird. Zus\u00e4tzlich wird durch den LOW-Pegel am Kollektor das IoT-Modul (NanoESP) \u00fcber den Digitaleingang D2 getriggert, sodass dann per Software eine Twitter-Meldung als weltweiter Alarm abgesetzt wird. Damit jedoch nicht die ganze Welt im Klartext das Wasserleck mitbekommt, erfolgt die Twitter-Textmeldung in bester Geheimdienst-Manier:<br \/>\n&#8222;Achtung, alle Mann an Bord! Das Boot ist bereit zum Ablegen!&#8220; <img decoding=\"async\" src=\"http:\/\/fkainka.de\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":-)\" class=\"wp-smiley\" style=\"height: 1em;max-height: 1em\" \/><br \/>\nZus\u00e4tzlich wird per Software ein optisches (gelbe LED2 blinkt) und akustisches Alarmsignal per Piezo solange erzeugt, bis der Sensorkontakt keine leitf\u00e4hige Verbindung mehr hat. Somit ist der Alarm auch direkt lokal vor Ort seh- und h\u00f6rbar.<\/p>\n<p>Als Basis f\u00fcr die Software wurde das Projek<a href=\"http:\/\/iot.fkainka.de\/day-21\">t &#8222;Alarmanlage&#8220; (Tag 21 des IoT-Adventskalenders)<\/a> verwendet und entsprechend abge\u00e4ndert.<br \/>\nGanz oben im Quellcode m\u00fcssen f\u00fcr die 3 Defines SSID, PASSWORD und TwitterKEY anstatt der Platzhalter die entsprechenden Werte eingetragen werden. Ben\u00f6tigt werden ein Thingspeak und ein Twitter Account, so wie im IoT-Adventskalender beschrieben.<\/p>\n<h3><a href=\"http:\/\/fkainka.de\/wp-content\/uploads\/2016\/01\/wassermelder-160127a.zip\" rel=\"\">Download: Arduino Programm<\/p>\n<p><\/a><\/h3>\n<p>Noch ein Hinweis zur Software:<br \/>\nDie Arduino-Stringverarbeitung verwendet dynamisch allokierten Heap-Speicher, wobei es zu einer starken Fragmentierung kommen kann. Dies kann zu RAM-Problemen f\u00fchren. Da in den Adventskalender-Beispielen sehr viele Strings angelegt und hintereinander geh\u00e4ngt werden, kann dies teilweise zu scheinbar unerkl\u00e4rlichem Softwareverhalten f\u00fchren und sogar Softwareabst\u00fcrze zur Folge haben, da es zum \u00dcberschreiben von RAM-Inhalten kommen kann. Als beispielsweise in dieser Softwareanpassung f\u00fcr den Wassermelder der zu sendende Twitter-Text l\u00e4nger gemacht wurde als im Adventskalender-Beispiel, hat das Versenden der Twitter-Meldung zun\u00e4chst nicht mehr funktioniert. Um statisch verwendetes RAM zu sparen, sodass mehr RAM f\u00fcr den dynamischen Heap zur Verf\u00fcgung steht, wurden deshalb hier Strings, die als Debugausgabe auf der seriellen Schnittstelle ausgegeben werden, ins Flash gelegt mit folgendem Mechanismus: statt &#8222;Textausgabe&#8220; wird verwendet: F(&#8222;Textausgabe&#8220;).<br \/>\nBeispiel:<br \/>\ndebug(F(&#8222;WLAN Connected&#8220;));<\/p>\n<div class=\"sp-wrap sp-wrap-default\">\n<div class=\"sp-head\" title=\"Expand\">\nDer Quelltext\n<\/div>\n<div class=\"sp-body folded\">\n<pre><span style=\"color: #95a5a6\">\/*<\/span>\r\n<span style=\"color: #95a5a6\">Wassermelder Alarm<\/span>\r\n<span style=\"color: #95a5a6\">SSID, PASSWORD und TwitterKEY muessen angepasst werden<\/span>\r\n<span style=\"color: #95a5a6\">*\/<\/span>\r\n\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #d35400\">SSID<\/span> <span style=\"color: #00979c\">\"[Your SSID]\"<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">PASSWORD<\/span> <span style=\"color: #00979c\">\"[Your Password]\"<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">TwitterKEY<\/span> <span style=\"color: #00979c\">\"[Your Key]\"<\/span>\r\n\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">SENSOR_INPUT<\/span> <span style=\"color: #000000\">7<\/span> \u00a0<span style=\"color: #434f54\">\/\/ Wasser-Sensor ist am digital input D2 abgeschlossen<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LED_ALARM<\/span> \u00a0\u00a0\u00a0<span style=\"color: #000000\">9<\/span> \u00a0<span style=\"color: #434f54\">\/\/ Alarm-LED ist am digital input D3 angeschlossen<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">PIEZO<\/span> <span style=\"color: #000000\">8<\/span>\r\n\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LED_WLAN<\/span> <span style=\"color: #000000\">13<\/span>\r\n\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">DEBUG<\/span> <span style=\"color: #00979c\">true<\/span>\r\n\r\n<span style=\"color: #5e6d03\">#include<\/span> <span style=\"color: #434f54\">&lt;<\/span><b><span style=\"color: #d35400\">SoftwareSerial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">h<\/span><span style=\"color: #434f54\">&gt;<\/span>\r\n<b><span style=\"color: #d35400\">SoftwareSerial<\/span><\/b> <span style=\"color: #000000\">esp8266<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">11<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">12<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ RX, TX<\/span>\r\n\r\n<span style=\"color: #00979c\">const<\/span> <span style=\"color: #00979c\">byte<\/span> <span style=\"color: #000000\">thingPost<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #000000\">PROGMEM<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">80<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">79<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">83<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">84<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">32<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">42<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">85<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">82<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">76<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">42<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">32<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">72<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">84<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">84<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">80<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">47<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">49<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">46<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">49<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">10<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">72<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">115<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">58<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">32<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">97<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">112<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">105<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">46<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">104<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">105<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">103<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">115<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">112<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">97<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">107<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">46<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">99<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">109<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">10<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">67<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">99<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">105<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">58<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">32<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">99<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">108<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">115<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">10<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">67<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">45<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">84<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">121<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">112<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">58<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">32<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">97<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">112<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">112<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">108<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">105<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">99<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">97<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">105<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">47<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">120<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">45<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">119<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">119<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">119<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">45<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">102<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">114<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">109<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">45<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">117<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">114<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">108<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">99<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">100<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">100<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">10<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">67<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">111<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">45<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">76<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">101<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">110<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">103<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">116<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">104<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">58<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">32<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">42<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">76<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">69<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">78<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">42<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">10<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">10<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">42<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">65<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">80<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">80<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">69<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">78<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">68<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">42<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">10<\/span>\r\n<span style=\"color: #000000\">}<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #5e6d03\">setup<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">begin<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">19200<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">println<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"Wassermelder\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">begin<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">19200<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #434f54\">!<\/span><span style=\"color: #000000\">espConfig<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">serialDebug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">else<\/span> <span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">LED_WLAN<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">HIGH<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #d35400\">pinMode<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">SENSOR_INPUT<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">INPUT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #d35400\">pinMode<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">LED_ALARM<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">OUTPUT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #5e6d03\">loop<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span> \r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #d35400\">digitalRead<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">SENSOR_INPUT<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #434f54\">==<\/span> <span style=\"color: #00979c\">LOW<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">alarm<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">else<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">debug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"Alles im trockenen Bereich.\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #d35400\">delay<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">500<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">alarm<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">void<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">debug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"Achtung, alle Mann an Bord! Das Boot ist bereit zum Ablegen!\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">sendTwitterPost<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TwitterKEY<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"Achtung, alle Mann an Bord! Das Boot ist bereit zum Ablegen!\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">do<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">LED_ALARM<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">HIGH<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400\">tone<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">PIEZO<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">400<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">500<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400\">delay<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">500<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">LED_ALARM<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">LOW<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400\">tone<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">PIEZO<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">800<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">500<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #d35400\">delay<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">500<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">while<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #d35400\">digitalRead<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">SENSOR_INPUT<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #434f54\">==<\/span> <span style=\"color: #00979c\">LOW<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">sendTwitterPost<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">twitterMsg<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> \u00a0<span style=\"color: #000000\">Host<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"api.thingspeak.com\"<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">Url<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"\/apps\/thingtweet\/1\/statuses\/update\"<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">msg<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"&amp;status=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">twitterMsg<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPSTART=\"TCP\",\"\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">Host<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">\"\",80\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">postRequest<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">createThingPost<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Url<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">msg<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPSEND=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">postRequest<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">length<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"&gt;\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">postRequest<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">debug<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">postRequest<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">find<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"SEND OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPCLOSE\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">else<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">false<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n\r\n<span style=\"color: #434f54\">\/\/-----------------------------------------ThingsSpeak Functions------------------------------------<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">sendThingPost<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">int<\/span> <span style=\"color: #000000\">value<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> \u00a0<span style=\"color: #000000\">Host<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"api.thingspeak.com\"<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">msg<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"field1=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">value<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPSTART=\"TCP\",\"\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">Host<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">\"\",80\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">postRequest<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">createThingPost<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"\/update\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">msg<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPSEND=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">postRequest<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">length<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"&gt;\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">postRequest<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">find<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"SEND OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #434f54\">!<\/span><span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">find<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"CLOSED\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPCLOSE\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">else<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">false<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">createThingPost<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">url<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">msg<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">for<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">int<\/span> <span style=\"color: #000000\">i<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #000000\">i<\/span> <span style=\"color: #434f54\">&lt;=<\/span> <span style=\"color: #5e6d03\">sizeof<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">thingPost<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #000000\">i<\/span><span style=\"color: #434f54\">++<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">myChar<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">pgm_read_byte_near<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">thingPost<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">i<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">xBuffer<\/span> <span style=\"color: #434f54\">+=<\/span> <span style=\"color: #000000\">myChar<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">append<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"api_key=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">key<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">\"&amp;\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">msg<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*URL*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">url<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*LEN*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">append<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">length<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*APPEND*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">append<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">createThingGet<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">url<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">for<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">int<\/span> <span style=\"color: #000000\">i<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #000000\">i<\/span> <span style=\"color: #434f54\">&lt;=<\/span> <span style=\"color: #5e6d03\">sizeof<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">thingPost<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #000000\">i<\/span><span style=\"color: #434f54\">++<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">myChar<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">pgm_read_byte_near<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">thingPost<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">i<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">xBuffer<\/span> <span style=\"color: #434f54\">+=<\/span> <span style=\"color: #000000\">myChar<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">append<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"api_key=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"POST\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"GET\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*URL*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">url<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*LEN*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">append<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">length<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*APPEND*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">append<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">createThingGet<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">url<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">key<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">msg<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">for<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">int<\/span> <span style=\"color: #000000\">i<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #000000\">i<\/span> <span style=\"color: #434f54\">&lt;=<\/span> <span style=\"color: #5e6d03\">sizeof<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">thingPost<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #000000\">i<\/span><span style=\"color: #434f54\">++<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">myChar<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">pgm_read_byte_near<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">thingPost<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">i<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">xBuffer<\/span> <span style=\"color: #434f54\">+=<\/span> <span style=\"color: #000000\">myChar<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n\r\n \u00a0<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">append<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">\"api_key=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">key<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">\"&amp;\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">msg<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"POST\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"GET\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*URL*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">url<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*LEN*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">append<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">length<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">replace<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"*APPEND*\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">append<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">xBuffer<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n\r\n<span style=\"color: #434f54\">\/\/-----------------------------------------Config ESP8266------------------------------------<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">espConfig<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">setTimeout<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">5000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+RST\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"ready\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">setTimeout<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">1000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">configStation<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #d35400\">SSID<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">PASSWORD<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">debug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"WLAN Connected\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">debug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"My IP is:\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">debug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIFSR\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">else<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #00979c\">false<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/shorter Timeout for faster wrong UPD-Comands handling<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPMUX=0\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPMODE=0\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">configTCPServer<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPMUX=1\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPSERVER=1,80\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">configTCPClient<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPMUX=0\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/succes &amp;= (sendCom(\"AT+CIPSERVER=1,80\", \"OK\"));<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">configStation<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">vSSID<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">vPASSWORT<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CWMODE=1\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">setTimeout<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">20000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CWJAP=\"\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">vSSID<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">\"\",\"\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">vPASSWORT<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">\"\"\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">setTimeout<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">1000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">configAP<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CWMODE=2\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CWSAP=\"NanoESP\",\"\",5,0\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">configUDP<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPMODE=0\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">F<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPMUX=0\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPSTART=\"UDP\",\"192.168.255.255\",90,91,2\"<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/Importand Boradcast...Reconnect IP<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n\r\n\r\n\r\n<span style=\"color: #434f54\">\/\/-----------------------------------------------Controll ESP-----------------------------------------------------<\/span>\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">sendUDP<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">Msg<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"AT+CIPSEND=\"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #00979c\">String<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Msg<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">length<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">2<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"&gt;\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> \u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/+\",\"192.168.4.2\",90\", \"&gt;\");<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">succes<\/span> <span style=\"color: #434f54\">&amp;=<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Msg<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">succes<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n\r\n<span style=\"color: #00979c\">boolean<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #d35400\">command<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">respond<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">println<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #d35400\">command<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">findUntil<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">respond<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">\"ERROR\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">else<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">debug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">\"ESP SEND ERROR: \"<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #d35400\">command<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #00979c\">false<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">sendCom<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #d35400\">command<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">println<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #d35400\">command<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">return<\/span> <span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">readString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n\r\n\r\n<span style=\"color: #434f54\">\/\/-------------------------------------------------Debug Functions------------------------------------------------------<\/span>\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">serialDebug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">while<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">true<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">available<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">write<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">read<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">available<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">esp8266<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">write<\/span><span style=\"color: #000000\">(<\/span><b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">read<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">debug<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">String<\/span> <span style=\"color: #000000\">Msg<\/span><span style=\"color: #000000\">)<\/span>\r\n<span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">DEBUG<\/span><span style=\"color: #000000\">)<\/span>\r\n \u00a0<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">println<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Msg<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<\/pre>\n<p><div class=\"spdiv\">[collapse]<\/div>\n<\/div>\n<\/div>\n<p>Der Beitrag <a rel=\"nofollow\" href=\"http:\/\/fkainka.de\/wettbewerbsbeitrag-wassermelder\/\">Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung<\/a> erschien zuerst auf <a rel=\"nofollow\" href=\"http:\/\/fkainka.de\">Elektronik Dachbude<\/a>.<\/p>\n<p>Source: fkainka.de\/pretzelboard<\/p>","protected":false},"excerpt":{"rendered":"<p>Beitrag zum Kalenderwettbewerb 2015 von\u00a0Bernhard Kaiser &amp;\u00a0Michael Gaus &nbsp; Bei diesem Projekt handelt es sich um einen Wassermelder, der optisch, akustisch und per Twitter-Meldung Alarm gibt, sobald an den Sensorkontakten Wasser detektiert wird. Er kann z.B. zur \u00dcberwachung auf austretendes&#8230;<br \/><a class=\"read-more-button\" href=\"https:\/\/iot.fkainka.de\/en\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung\">Read more<\/a><\/p>\n","protected":false},"author":5,"featured_media":1179,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[105],"tags":[106],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung - Internet of Things with the NanoESP<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung - Internet of Things with the NanoESP\" \/>\n<meta property=\"og:description\" content=\"Beitrag zum Kalenderwettbewerb 2015 von\u00a0Bernhard Kaiser &amp;\u00a0Michael Gaus &nbsp; Bei diesem Projekt handelt es sich um einen Wassermelder, der optisch, akustisch und per Twitter-Meldung Alarm gibt, sobald an den Sensorkontakten Wasser detektiert wird. Er kann z.B. zur \u00dcberwachung auf austretendes...Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung\" \/>\n<meta property=\"og:site_name\" content=\"Internet of Things with the NanoESP\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-29T05:57:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-01-29T06:45:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/iot.fkainka.de\/wp-content\/uploads\/2016\/01\/foto-972x6431.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"972\" \/>\n\t<meta property=\"og:image:height\" content=\"643\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fabian Kainka\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabian Kainka\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung\",\"url\":\"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung\",\"name\":\"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung - Internet of Things with the NanoESP\",\"isPartOf\":{\"@id\":\"https:\/\/iot.fkainka.de\/#website\"},\"datePublished\":\"2016-01-29T05:57:19+00:00\",\"dateModified\":\"2016-01-29T06:45:31+00:00\",\"author\":{\"@id\":\"https:\/\/iot.fkainka.de\/#\/schema\/person\/3ba31e3673596c4399ba204edff5697c\"},\"breadcrumb\":{\"@id\":\"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/iot.fkainka.de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/iot.fkainka.de\/#website\",\"url\":\"https:\/\/iot.fkainka.de\/\",\"name\":\"Internet of Things with the NanoESP\",\"description\":\"The webpage for the Arduino compatible WiFi-Board\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/iot.fkainka.de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/iot.fkainka.de\/#\/schema\/person\/3ba31e3673596c4399ba204edff5697c\",\"name\":\"Fabian Kainka\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/iot.fkainka.de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=identicon&r=g\",\"caption\":\"Fabian Kainka\"},\"url\":\"https:\/\/iot.fkainka.de\/en\/author\/fabian-kainka\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung - Internet of Things with the NanoESP","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung","og_locale":"en_US","og_type":"article","og_title":"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung - Internet of Things with the NanoESP","og_description":"Beitrag zum Kalenderwettbewerb 2015 von\u00a0Bernhard Kaiser &amp;\u00a0Michael Gaus &nbsp; Bei diesem Projekt handelt es sich um einen Wassermelder, der optisch, akustisch und per Twitter-Meldung Alarm gibt, sobald an den Sensorkontakten Wasser detektiert wird. Er kann z.B. zur \u00dcberwachung auf austretendes...Read more","og_url":"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung","og_site_name":"Internet of Things with the NanoESP","article_published_time":"2016-01-29T05:57:19+00:00","article_modified_time":"2016-01-29T06:45:31+00:00","og_image":[{"width":972,"height":643,"url":"https:\/\/iot.fkainka.de\/wp-content\/uploads\/2016\/01\/foto-972x6431.jpg","type":"image\/jpeg"}],"author":"Fabian Kainka","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fabian Kainka","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung","url":"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung","name":"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung - Internet of Things with the NanoESP","isPartOf":{"@id":"https:\/\/iot.fkainka.de\/#website"},"datePublished":"2016-01-29T05:57:19+00:00","dateModified":"2016-01-29T06:45:31+00:00","author":{"@id":"https:\/\/iot.fkainka.de\/#\/schema\/person\/3ba31e3673596c4399ba204edff5697c"},"breadcrumb":{"@id":"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/iot.fkainka.de\/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/iot.fkainka.de\/"},{"@type":"ListItem","position":2,"name":"Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung"}]},{"@type":"WebSite","@id":"https:\/\/iot.fkainka.de\/#website","url":"https:\/\/iot.fkainka.de\/","name":"Internet of Things with the NanoESP","description":"The webpage for the Arduino compatible WiFi-Board","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/iot.fkainka.de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/iot.fkainka.de\/#\/schema\/person\/3ba31e3673596c4399ba204edff5697c","name":"Fabian Kainka","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/iot.fkainka.de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=identicon&r=g","caption":"Fabian Kainka"},"url":"https:\/\/iot.fkainka.de\/en\/author\/fabian-kainka"}]}},"jetpack_featured_media_url":"https:\/\/iot.fkainka.de\/wp-content\/uploads\/2016\/01\/foto-972x6431.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6McI0-iH","_links":{"self":[{"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/posts\/1159"}],"collection":[{"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/comments?post=1159"}],"version-history":[{"count":3,"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/posts\/1159\/revisions"}],"predecessor-version":[{"id":1180,"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/posts\/1159\/revisions\/1180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/media\/1179"}],"wp:attachment":[{"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/media?parent=1159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/categories?post=1159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iot.fkainka.de\/en\/wp-json\/wp\/v2\/tags?post=1159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}