<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Internet of Things with the NanoESP</title><link>https://neu-iot.fkainka.de/en/</link><description>Recent content on Internet of Things with the NanoESP</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 10 Jan 2023 11:33:25 +0100</lastBuildDate><atom:link href="https://neu-iot.fkainka.de/en/index.xml" rel="self" type="application/rss+xml"/><item><title>Everything about the NanoESP WiFi-Board</title><link>https://neu-iot.fkainka.de/en/board/</link><pubDate>Wed, 21 Aug 2019 11:06:12 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/board/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://neu-iot.fkainka.de/images/2015/09/Purple.jpg"&gt;&lt;/p&gt;
&lt;h3 id="the-board"&gt;The Board&lt;/h3&gt;
&lt;p&gt;The NanoESP board has many names. Franzis calls it Pretel Board and Conrad C-Controll IoT WiFi Board. But inside its is all the same: an easy-to-use and Arduino compatible development board in the context of the Internet of Things.&lt;/p&gt;
&lt;p&gt;By simple AT commands you can e. g. launch a Web server, set the module as an access point or establish connection with your home network.&lt;/p&gt;
&lt;p&gt;Board Features:&lt;br&gt;
• Arduino™ compatible&lt;br&gt;
• Integrated TCP/IP stack, activatable TCP/UDP server&lt;br&gt;
• Control of the WLAN module by simple AT commands&lt;br&gt;
• Suitable for WLAN &amp;amp; the module can be used as an access point&lt;/p&gt;</description></item><item><title>das-nodeesp-board</title><link>https://neu-iot.fkainka.de/en/das-nodeesp-board/</link><pubDate>Sat, 10 Nov 2018 13:50:13 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/das-nodeesp-board/</guid><description>&lt;h3 id="das-nodeesp-board"&gt;Das NodeESP Board&lt;/h3&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://neu-iot.fkainka.de/images/2018/10/board1.jpg"&gt;&lt;/p&gt;
&lt;h3 id="das-nodeesp-board-1"&gt;Das NodeESP Board&lt;/h3&gt;
&lt;p&gt;Der NodeESP ist ein Experimentier- und Entwicklungsboard für den Bereich IoT und Hausautomatisierung. Die vorprogrammierte Firmware mit integrierter Webseite erlaubt es Ihnen, einfache Konfigurationen vorzunehmen und Programme und Anwendungen kinderleicht in einem Menü auszuwählen. So können Sie durch wenige Mausklicks das Board als smarten Schalter, buntes Licht oder Raumklimasensor konfigurieren und mit anderen Geräten in Ihrem Heimnetz verbinden. Für eigene individuelle Projekte lässt sich das Board außerdem über die Arduino IDE programmieren.&lt;/p&gt;</description></item><item><title>Advent Calendar IoT - 2018 [Smarthome Edition]</title><link>https://neu-iot.fkainka.de/en/der-conrad-adventskalender-iot-2018-smarthome-edition/</link><pubDate>Wed, 07 Nov 2018 14:11:10 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/der-conrad-adventskalender-iot-2018-smarthome-edition/</guid><description>&lt;h3 id="adventskalender-internet-of-things-2018-experimente-für-smart-home"&gt;Adventskalender Internet of Things 2018: Experimente für Smart Home&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.conrad.de/de/adventskalender-conrad-adventskalender-internet-of-things-1662787.html"&gt;&lt;img loading="lazy" src="https://neu-iot.fkainka.de/images/2018/10/bg-2018.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dank des Adventskalenders Internet of Things (IoT) muss die Wartezeit bis Weihnachten nicht langweilig werden. Der bereits vorprogrammierte Mikrocontroller in Verbindung mit dem Node-RED Programmier-Tool bietet eine Menge Spielraum für 24 vielfältige und spannende Experimente rund um das Thema Smart Home und Hausautomatisierung.&lt;/p&gt;
&lt;p&gt;Internet of Things und Smarthome beinhalten die automatisierte Erfassung und Steuerung von Sensoren und Aktoren in einem großen Netzwerk. Vom automatisierten Ein- und Ausschalten von LEDs über das Steuern Ihres TVs&lt;br&gt;
von irgendwo in der Welt bis hin zur Langzeitüberwachung Ihres Raumklimas, mit einfachen Beispielen werden die verschiedenen Aspekte der Hausautomatisierung praktisch ergründet.&lt;/p&gt;</description></item><item><title>das-lernpaket-iot</title><link>https://neu-iot.fkainka.de/en/das-lernpaket-iot/</link><pubDate>Wed, 20 Sep 2017 12:42:23 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/das-lernpaket-iot/</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://neu-iot.fkainka.de/images/2016/01/IoT-LP3.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Sie können das Lernpaket unter anderem hier erwerben:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.franzis.de/elektronik/lernpakete-mikrocontroller/franzis-maker-kit-internet-of-things"&gt;Direkt bei Franzis&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.amazon.de/dp/3645653163"&gt;Bei Amazon.de&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.elektor.de/franzis-maker-kit-internet-of-things"&gt;Bei Elektor&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.conrad.de/de/lernpaket-conrad-components-profi-lernpaket-internet-of-things-10215-ab-14-jahre-1421380.html"&gt;Bei Conrad&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Das Lernpaket Internet of Things gibt es in mehreren Ausführungen. Es gibt eine Franzis und eine Conrad Version. Beide Lernpakete bringt Ihnen das brandaktuelle Thema IoT anhand von praktischen Beispielen mit ausführlichen Erklärungen näher. Teil des Pakets ist das neue Pretzel Board (NanoESP) mit dem der Einstieg in das komplexe wie spannende Thema spielerisch gelingt.&lt;/p&gt;</description></item><item><title>The Conrad advent calendar Internet of Things</title><link>https://neu-iot.fkainka.de/en/der-conrad-iot-adventskalender/</link><pubDate>Wed, 20 Sep 2017 12:16:48 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/der-conrad-iot-adventskalender/</guid><description>&lt;p&gt;&lt;a href="http://www.conrad.de/ce/de/product/1365865/Adventskalender-Conrad-Internet-of-Things-2015-10180"&gt;&lt;img loading="lazy" src="https://neu-iot.fkainka.de/images/2015/09/prev2.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.conrad.de/ce/de/product/1365865/Adventskalender-Conrad-Internet-of-Things-2015-10180"&gt;Conrad Shop&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Christmas to arrive. The Arduino compatible microcontroller with integral WLAN module (Pretzelboard) and the included components are perfectly suited for 24 themed, diverse and exciting experiments. Internet of Things includes the communication and control of sensors and actuators in a large network.&lt;/p&gt;
&lt;p&gt;The various aspects of the IoT theme are explored in practice by using simple examples starting from simply switching an LED on or off with a smartphone, the creation of a Web server or the long-term monitoring by means of sensors. All circuits are put up on a pinboard; no soldering is required.&lt;/p&gt;</description></item><item><title>der-conrad-adventskalender-iot-2016</title><link>https://neu-iot.fkainka.de/en/der-conrad-adventskalender-iot-2016/</link><pubDate>Fri, 08 Sep 2017 14:45:58 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/der-conrad-adventskalender-iot-2016/</guid><description>&lt;p&gt;&lt;a href="https://www.conrad.de/de/conrad-components-internet-of-things-ab-14-jahre-1435475.html"&gt;&lt;img loading="lazy" src="https://neu-iot.fkainka.de/images/2016/10/bg-2016.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Shorten the waiting time for Christmas with exciting and enjoyable experiments done with the Internet of things. Thereby send push messages on your smartphone or build an alarm system with a motion sensor that informs you of suspicious movements. Learn how to use various web services, such as Twitter, and use the protocol for the Internet of things: MQTT.&lt;/p&gt;
&lt;p&gt;The Internet-of-things advent calendar contains all construction pieces for 24 experiments, including a uniquely developed hardware board with integrated WLAN-module which can be progammed via the free Arduino IDE.&lt;/p&gt;</description></item><item><title>Driver -NanoESP &amp; Pretzelboard</title><link>https://neu-iot.fkainka.de/en/driver/</link><pubDate>Sun, 23 Aug 2015 10:02:42 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/driver/</guid><description>&lt;p&gt;The Pretzelboard (NanoESP) needs a driver for the USB-to-Serial Chip CH340G to work properly. You can download the driver here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/CH341SER.zip"&gt;Windows (Windows 98 - Windows 10, 32-Bit/64-Bit)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/CH341SER_LINUX.zip"&gt;Linux Version&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/08/CH34x_Install.zip"&gt;Mac Version&lt;/a&gt; (&lt;strong&gt;Attention&lt;/strong&gt;: There seems to be a problem with MAC OS Sierra. Bellow are two links with walkthroughs:&lt;br&gt;
&lt;a href="https://github.com/jimaobian/CH34x_Install_V1.3/blob/master/CH34x_Install_V1.3.zip"&gt;https://github.com/jimaobian/CH34x_Install_V1.3/blob/master/CH34x_Install_V1.3.zip&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver"&gt;https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/CH341SER_ANDROID.zip"&gt;Android Version&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There is a Setup.exe file (Windows Version) in the Zip-Folder which needs to be executed. Choose Install in the following Window.&lt;/p&gt;</description></item><item><title>Maker Kit für Smart Home</title><link>https://neu-iot.fkainka.de/en/maker-kit-fuer-smart-home/</link><pubDate>Sat, 02 Nov 2019 14:51:52 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/maker-kit-fuer-smart-home/</guid><description>&lt;p&gt;&lt;img alt="Smarthome Lernpaket" loading="lazy" src="https://neu-iot.fkainka.de/images/2019/10/smarthome.png"&gt;&lt;/p&gt;
&lt;p&gt;ghfgh&lt;/p&gt;
&lt;p&gt;Licht, Heizung, Alarm oder Pfl anzenbewässerung: Im vernetzten Heim lassen sich diese und viele weitere Systeme fernsteuern und automatisieren. Steigen Sie mit diesem Maker Kit ein in die Welt des Smart Homes und lernen Sie grundlegende Prozesse und Techniken kennen und selbst anzuwenden. Als Basis für alle Experimente dient Ihnen ein speziell dafür entwickeltes NodeESP-Board, das in diesem Maker Kit enthalten ist.&lt;/p&gt;
&lt;p&gt;Hausautomatisierung leicht gemacht&lt;br&gt;
Vom automatisierten Ein- und Ausschalten von LEDs über das Steuern Ihres TVs von irgendwo in der Welt bis hin zur Lang-zeitüberwachung Ihres Raumklimas ergründen Sie die verschiedenen Aspekte der Hausautomatisierung. Alle benötigten Bauteile, darunter ein speziell entwickeltes NodeESP-Board, sind in diesem Maker Kit enthalten es kann sofort losgehen!&lt;/p&gt;</description></item><item><title>Day 24: Christmas Tree Lighting</title><link>https://neu-iot.fkainka.de/en/day24-2018/</link><pubDate>Mon, 24 Dec 2018 00:00:55 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day24-2018/</guid><description>&lt;p&gt;Last but not least, you will find another programmable RGB-LED behind the door of the Advent calendar. Thus, we have two LEDs which you can interconnect to light your Christmas tree. We will need the following setup today.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day24_2RGB_Steckplatine.png"&gt;&lt;img class=" wp-image-2596" src="https://neu-iot.fkainka.de/images/2018/11/Day24_2RGB_Steckplatine.png" alt="Der Aufbau des Weihnachtsbaumlichts. Die langen Beinchen der LEDs befinden sich rechts" width="446" height="610" data-id="2596" /&gt;&lt;/a&gt;&lt;figcaption&gt;Setup of the Christmas tree light. The longer legs of the LEDs are on the right&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Activate the program and import the flow of today. Disable all previous flows and change the broadcast IP of the UDP node, if necessary.&lt;/p&gt;</description></item><item><title>Day 23: Alarm System</title><link>https://neu-iot.fkainka.de/en/day23-2018/</link><pubDate>Sun, 23 Dec 2018 00:00:28 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day23-2018/</guid><description>&lt;p&gt;The day before last reveals a tilt sensor behind the door of the Advent calendar. The sensor detects, if it is tilted. We will use it today as a sensor for an alarm system. The speaker from two days ago serves us as the signal generator. We will need the following setup.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day23_Speaker_Tilt_Steckplatine.png"&gt;&lt;img class=" wp-image-2590" src="https://neu-iot.fkainka.de/images/2018/11/Day23_Speaker_Tilt_Steckplatine.png" alt="Der Aufbau" width="435" height="664" data-id="2590" /&gt;&lt;/a&gt;&lt;figcaption&gt;Alarm Setup&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;As usual, activate the program of today and install the Node-RED flow into the environment. Also adjust the MQTT topic and disable all previous flows.&lt;/p&gt;</description></item><item><title>Day 22: Climate Guard</title><link>https://neu-iot.fkainka.de/en/day22-2018/</link><pubDate>Sat, 22 Dec 2018 00:00:26 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day22-2018/</guid><description>&lt;p&gt;The door of day 21 reveals again a sensor, which we will use to measure the humidity level present. With the following circuit we will build a comprehensive indoor climate monitor.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day22_Clima_Steckplatine.png"&gt;&lt;img class=" wp-image-2584" src="https://neu-iot.fkainka.de/images/2018/11/Day22_Clima_Steckplatine.png" alt="Die Schaltung des Raumklimawächters" width="451" height="579" data-id="2584" /&gt;&lt;/a&gt;&lt;figcaption&gt;The indoor climate monitor circuit&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Our experiment today uses three sensors: the temperature sensor (NTC), the light sensor (photo transistor) and the humidity sensor. Altogether they deliver a real good impression of the current climate situation in a room. Let’s start the program of today.&lt;/p&gt;</description></item><item><title>Day 21: Piano Player</title><link>https://neu-iot.fkainka.de/en/tag-21-piano-player/</link><pubDate>Fri, 21 Dec 2018 00:00:26 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/tag-21-piano-player/</guid><description>&lt;p&gt;The door of day 21 reveals a loudspeaker. We will use it in our experiment today to play some music. We will need a very simple setup for this.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day21_Speaker_Steckplatine.png"&gt;&lt;img class=" wp-image-2580" src="https://neu-iot.fkainka.de/images/2018/11/Day21_Speaker_Steckplatine.png" alt="Versuchsaufbau" width="453" height="691" data-id="2580" /&gt;&lt;/a&gt;&lt;figcaption&gt;Setup&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;In our experiment we will connect the speaker to one of the board’s two DAC outputs. DAC means &lt;strong&gt;digital/analogue converter&lt;/strong&gt; and with this we can generate an analogue signal using digital commands. In our experiment today, we will use it to produce sounds, and to be more precise, we are talking about piano sounds. The notes, pauses and keys are sent via UDP by means of an array of numbers.&lt;/p&gt;</description></item><item><title>Day 20: Plant Guard</title><link>https://neu-iot.fkainka.de/en/day20-2018/</link><pubDate>Thu, 20 Dec 2018 00:00:58 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day20-2018/</guid><description>&lt;p&gt;Behind the door is an NTC resistor (&lt;strong&gt;Negative Temperature Coefficient&lt;/strong&gt;) that measures the temperature. Together with the photo transistor and a few wires, we are going to build a plant guard that alerts us, when a plant it is monitoring is exposed to bad conditions. We will use the following setup besides the program of today.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day20_Plant_Steckplatine.png"&gt;&lt;img class=" wp-image-2574" src="https://neu-iot.fkainka.de/images/2018/11/Day20_Plant_Steckplatine.png" alt="Der Pflanzenwächter" width="486" height="575" data-id="2574" /&gt;&lt;/a&gt;&lt;figcaption&gt;The plant guard&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The two yellow wires are just simple wires that can be inserted into the potting soil. They are used to monitor the level of moisture in the soil. During our initial tests, we will just touch the two wires with a finger.&lt;/p&gt;</description></item><item><title>Day 19: CheerLights</title><link>https://neu-iot.fkainka.de/en/day19-2018/</link><pubDate>Wed, 19 Dec 2018 00:00:35 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day19-2018/</guid><description>&lt;p&gt;Today we have a very special LED waiting behind the door. It is an RGB LED with integrated controller (type PL9823, equivalent to WS2812) and with it you can now connect several LEDs in series and control them individually by means of a protocol. Today we will start by controlling one LED only. Here, an experiment that is almost customary in my Advent calendars fits in handy: the CheerLights project by Hans Schaaler. For all those who do not yet know the project: these are globally linked colourful lights which can be controlled simultaneously via Twitter commands. And here Node-RED fits in very well. The experiment today requires the following setup besides the program of today.&lt;/p&gt;</description></item><item><title>Day 18: Candle Alarm</title><link>https://neu-iot.fkainka.de/en/day18-2018/</link><pubDate>Tue, 18 Dec 2018 00:00:47 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day18-2018/</guid><description>&lt;p&gt;And today we have a small diode waiting behind the door. We are going to use the diode as temperature sensor for particular high temperatures and with it we will build a small candle guard.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day18_Diode_Steckplatine.png"&gt;&lt;img class=" wp-image-2562" src="https://neu-iot.fkainka.de/images/2018/11/Day18_Diode_Steckplatine.png" alt="Versuchsaufbau" width="366" height="453" data-id="2562" /&gt;&lt;/a&gt;&lt;figcaption&gt;Breadboard Setup&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Today’s setup consists of the diode and the potentiometer, which we will use as a 10-kOhm resistor. This resistance is fixed and cannot be adjusted. The board will measure the voltage at the diode and sends the values  to Node-RED via MQTT.&lt;/p&gt;</description></item><item><title>Day 17: Time-controlled Lights</title><link>https://neu-iot.fkainka.de/en/day17-2018/</link><pubDate>Mon, 17 Dec 2018 00:00:17 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day17-2018/</guid><description>&lt;p&gt;The door of day 17 reveals another potentiometer. Now we have one potentiometer for each LED and thus we will develop the program of Day 13, the Smart Lights, so that we will get a more convenient and intuitive dimming feature. We will also learn today how we can start timed events with Node-RED.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day17_Poti2_Button2_LED2_Steckplatine.png"&gt;&lt;img class=" wp-image-2556" src="https://neu-iot.fkainka.de/images/2018/11/Day17_Poti2_Button2_LED2_Steckplatine.png" alt="Versuchsaufbau" width="473" height="585" data-id="2556" /&gt;&lt;/a&gt;&lt;figcaption&gt;Breadboard Setup&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Activate today’s program in the web interface. As always disable previous flows and change the MQTT topic to reflect your personal ID and then install today’s flow into the Node-RED environment.&lt;/p&gt;</description></item><item><title>Day 16: Universal Remote-Control</title><link>https://neu-iot.fkainka.de/en/day16-2018/</link><pubDate>Sun, 16 Dec 2018 00:00:40 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day16-2018/</guid><description>&lt;p&gt;The door today reveals the counterpart to yesterday’s component, namely an IR diode. Now you can build a real remote-control for your TV and control it conveniently via smartphone and website.  We will use the following setup.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day16_IRremotefzz_Steckplatine.png"&gt;&lt;img class=" wp-image-2548" src="https://neu-iot.fkainka.de/images/2018/11/Day16_IRremotefzz_Steckplatine.png" alt="Der Aufbau der Fernbedienungen mit IR-Empfänger und Sendediode" width="464" height="574" data-id="2548" /&gt;&lt;/a&gt;&lt;figcaption&gt;Setup of remote controls with IR receiver and transmitter diode&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Select the program for today. The board will start again in headless mode; the board’s website will not be available but you will have the board’s MQTT feature. To switch to default mode, remove the jumper on pin 23 and restart the board.&lt;/p&gt;</description></item><item><title>Day 15: Remote Control Receiver</title><link>https://neu-iot.fkainka.de/en/day15-2018/</link><pubDate>Sat, 15 Dec 2018 00:00:41 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day15-2018/</guid><description>&lt;p&gt;The door reveals a very special component today, namely an infrared receiver module. You can use it to &lt;strong&gt;15. Tag&lt;/strong&gt; receive customary infrared remote-control signals. We will use the following setup.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day15_IRrecv_Steckplatine.png"&gt;&lt;img class=" wp-image-2542" src="https://neu-iot.fkainka.de/images/2018/11/Day15_IRrecv_Steckplatine.png" alt="Versuchsaufbau" width="395" height="488" data-id="2542" /&gt;&lt;/a&gt;&lt;figcaption&gt;This is how you properly connect the IR module to the board&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;After the circuit is set up, select today’s program. Please note that you will not be able to reach the board’s website, because it is deactivated for our experiment today. The board works now in headless mode and has no visible interface. If you want to run the website again to activate other programs, for example, you only have to pull out the jumper from pin 23 and restart the board. Everything will run as usual.&lt;/p&gt;</description></item><item><title>Day 14: Smart Lights</title><link>https://neu-iot.fkainka.de/en/day14-2018/</link><pubDate>Fri, 14 Dec 2018 00:00:12 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day14-2018/</guid><description>&lt;p&gt;The door of day 14 reveals another LED. Now we have two LEDs with resistors and two buttons and &lt;strong&gt;14. Tag&lt;/strong&gt; cables, enough to build a complex lighting system. We will use the following setup:&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day14_2LED_2Btn_4tch_Steckplatine.png"&gt;&lt;img class=" wp-image-2536" src="https://neu-iot.fkainka.de/images/2018/11/Day14_2LED_2Btn_4tch_Steckplatine.png" alt="Der Aufbau mit vier losen Kabeln (gelb) als Touch-Buttons" width="482" height="625" data-id="2536" /&gt;&lt;/a&gt;&lt;figcaption&gt;Setup with four loose cables (yellow) as touch buttons&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Enable today’s program and install today’s flow. Don’t forget, replace &lt;strong&gt;[PID]&lt;/strong&gt; with your personal ID and the easiest way is using the trick with the Editor.&lt;/p&gt;</description></item><item><title>Day 13: Smart Switch for Soundboard</title><link>https://neu-iot.fkainka.de/en/day13-2018/</link><pubDate>Thu, 13 Dec 2018 00:00:41 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day13-2018/</guid><description>&lt;p&gt;Today we will find again a 1 kOhm resistor hidden behind the door of the Advent calendar. But we are not going to use it today. Instead I would like to show you how you can build a smart touch switch. We will use a simple setup that is made up of four loose hanging wires as touch buttons and a wire jumper to pin 23.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day13_5tch_Steckplatine.png"&gt;&lt;img class=" wp-image-2529" src="https://neu-iot.fkainka.de/images/2018/11/Day13_5tch_Steckplatine.png" alt="Vier gelbe Drähte als Touch-Buttons" width="499" height="652" data-id="2529" /&gt;&lt;/a&gt;&lt;figcaption&gt;Four yellow wires serving as touch buttons&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Our experiment today is special for its program, which you should activate now on the configuration page. Once enabled, you will notice that the status LED flashes briefly and then turns off, because the board is again running in the power-saving deep-sleep mode. It will not wake up after certain time however. It will wake up only, when you touch one of the touch buttons. The board then sends information via the touch button to the broker who triggered the wakeup. It will look something like this:&lt;/p&gt;</description></item><item><title>Day 12: MQTT Button</title><link>https://neu-iot.fkainka.de/en/day12-2018/</link><pubDate>Wed, 12 Dec 2018 00:00:34 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day12-2018/</guid><description>&lt;p&gt;Today we will find again a button hidden behind the door of the Advent calendar. In our experiment  today we will continue to cover the MQTT protocol, but this time in conjunction with Node-RED. We will also learn how two buttons can be evaluated simultaneously. The experiment today is structured as follows:&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day12_2Button_Steckplatine.png"&gt;&lt;img class=" wp-image-2519" src="https://neu-iot.fkainka.de/images/2018/11/Day12_2Button_Steckplatine.png" alt="Der Aufbau mit zwei Buttons" width="436" height="539" data-id="2519" /&gt;&lt;/a&gt;&lt;figcaption&gt;Setup with two buttons&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;So now we have two buttons that we can use. We activate the program for today. Then we import the Node-RED flow. You need to adapt it slightly by replacing &lt;strong&gt;[PID]&lt;/strong&gt; in the topic with your personal MQTT ID. That’s pretty easy if you use this trick:&lt;/p&gt;</description></item><item><title>Day 11: MQTT</title><link>https://neu-iot.fkainka.de/en/day11-2018/</link><pubDate>Tue, 11 Dec 2018 00:00:22 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day11-2018/</guid><description>&lt;p&gt;There is a cable set again hidden behind the door today. We will need it in the next few days when the setups become more complex.&lt;/p&gt;
&lt;p&gt;Over the past few days we have sent most of our data via UDP. This protocol is very convenient; on the one hand it has a small overhead (data is sent in addition to the actual application data) and on the other hand, it is a broadcasting system and can thus send data to several devices simultaneously. But today we will learn about a second protocol that plays a major role in IoT. This is the message protocol MQTT (&lt;strong&gt;Message Queue Telemetry Transport&lt;/strong&gt;) and it was specifically developed for machine-to-machine communication (M2M). The reason that this is such a brilliant protocol is due to its compactness and simplicity when it comes to exchanging data between devices such as control data, measurement data or text. Compared to HTTP, the overhead is very small. That is why embedded devices such as microcontrollers like our NodeESP can process the data well.&lt;/p&gt;</description></item><item><title>Day 10: Deep Sleep</title><link>https://neu-iot.fkainka.de/en/day10-2018/</link><pubDate>Mon, 10 Dec 2018 00:00:59 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day10-2018/</guid><description>&lt;p&gt;There is a battery compartment for three A batteries (4.5 V) hidden behind the door today that will     &lt;strong&gt;10. Tag&lt;/strong&gt; power the board independently of a power outlet. For economical battery operation, we have the deepsleep mode. This mode allows the board to go into a deep sleep where it uses almost no power at all. After a certain time, the board wakes up, performs a modest task and goes back to sleep shortly after. In this mode a lot of energy is saved due to the long sleep and short wake times and ultimately the batteries will supply power to the board for months. The setup we will use today includes again the light sensor and it gets a wire jumper that connects pin 23 and GND.&lt;/p&gt;</description></item><item><title>Day 9: A Mood Light</title><link>https://neu-iot.fkainka.de/en/day9-2018/</link><pubDate>Sun, 09 Dec 2018 00:00:33 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day9-2018/</guid><description>&lt;p&gt;There is a photo transistor hidden behind the door today. We will use it to measure the ambient brightness. The potentiometer is in series with the phototransistor potentiometer in our circuit and you will be able to change the sensor sensitivity with the potentiometer. In this circuit the reading value will increase when dimming the sensor.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day9_LDR_Steckplatine.png"&gt;&lt;img class=" wp-image-2498" src="https://neu-iot.fkainka.de/images/2018/11/Day9_LDR_Steckplatine.png" alt="Versuchsaufbau" width="512" height="633" data-id="2498" /&gt;&lt;/a&gt;&lt;figcaption&gt;Todays Circuit&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;You will see this happening today in our user interface within the gauge element. But again, you first import and start today’s flow in your Node-RED environment and of course, you have to disable the one from yesterday. Also, do not forget to enable today’s program on the configuration page and adjust the IP of the UDP send node.&lt;/p&gt;</description></item><item><title>Day 8: A Controller</title><link>https://neu-iot.fkainka.de/en/day8-2018/</link><pubDate>Sat, 08 Dec 2018 00:00:21 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day8-2018/</guid><description>&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day8_Button_LED_ADC_Steckplatine.png"&gt;&lt;img class=" wp-image-2490" src="https://neu-iot.fkainka.de/images/2018/11/Day8_Button_LED_ADC_Steckplatine.png" alt="Versuchsaufbau" width="512" height="633" data-id="2490" /&gt;&lt;/a&gt;&lt;figcaption&gt;Breadboard Construction&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;On the eighth day you will find a potentiometer behind the door. We are going to use it as voltage divider. You can set a voltage between 0 V and 3.3 V, which is measured by the board and sent to NodeRED. On top of to the functions of yesterday’s stairway light, you can also send the measured values.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/T8Flow.png"&gt;&lt;img class="size-large wp-image-2491" src="https://neu-iot.fkainka.de/images/2018/11/T8Flow.png" alt="Der Flow des heutigen Tages" width="616" height="154" data-id="2491" /&gt;&lt;/a&gt;&lt;figcaption&gt;The Flow of Today&lt;/figcaption&gt;&lt;/figure&gt;
&lt;iframe style="border: none; width: 100%;" src="https://pastebin.com/embed_iframe/FNtPZnht"&gt;&lt;/iframe&gt;
&lt;p&gt;As usual you can obtain today’s flow from here. Don’t forget to disable yesterday’s flow and you may need to adjust the send-IP. The flow of today also has a new node for the dashboard, namely a gauge to visually display the measured value.&lt;/p&gt;</description></item><item><title>Day 7: Stairway Light</title><link>https://neu-iot.fkainka.de/en/day7-2018/</link><pubDate>Fri, 07 Dec 2018 00:00:03 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day7-2018/</guid><description>&lt;p&gt;There is a red LED hidden behind the door today. We are going to use this to build a simple stairway light with web interface. We will thus build the following circuit and, of course, activate today’s program.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day7_Button_LED_Steckplatine.png"&gt;&lt;img class=" wp-image-2483" src="https://neu-iot.fkainka.de/images/2018/11/Day7_Button_LED_Steckplatine.png" alt="Versuchsaufbau" width="451" height="558" data-id="2483" /&gt;&lt;/a&gt;&lt;figcaption&gt;Breadboard Construction (short LED pin is up)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Locate the Node-RED flow below and import. Deactivate yesterday’s flow after the import to make sure the UDP receive nodes do not get in your way. This time the flow also has a send node besides the receiving node. You may need to adapt the send node to reflect your broadcast IP. A message that arrives at the UDP will be converted back to a JSON object by means of a JSON string, which is pure text. The difference here is that you can now access also individual attributes.&lt;/p&gt;</description></item><item><title>Tag 6: Touch to Speach</title><link>https://neu-iot.fkainka.de/en/day6-2018/</link><pubDate>Thu, 06 Dec 2018 00:00:26 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day6-2018/</guid><description>&lt;p&gt;Behind the sixth door of the Advent calendar is a 1 kOhm resistor, which we will use tomorrow. Today we will continue with Node-RED and try out the touch function of the board. As always you will select the program of today. And today we will also build the following circuit. The yellow wires with one free end are the touch sensors.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/Day6_Touch_Steckplatine.png"&gt;&lt;img class=" wp-image-2472" src="https://neu-iot.fkainka.de/images/2018/11/Day6_Touch_Steckplatine.png" alt="Versuchsaufbau" width="474" height="626" data-id="2472" /&gt;&lt;/a&gt;&lt;figcaption&gt;Breadboard Construction: Three wires suspended in the air from one end&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Once set up, you can restart Node-RED using the terminal and the &lt;strong&gt;node-red&lt;/strong&gt; command. Then open the Node-RED editor via &lt;strong&gt;http://127.0.0.1:1880/&lt;/strong&gt;. Today we will install a few nodes. To do this, click on the three dashes in the top right corner where you will see &lt;strong&gt;manage palette&lt;/strong&gt; under which all the installed nodes are listed. Select the &lt;strong&gt;Install&lt;/strong&gt; tab and you will see a large number of different modules that you can install. For today we are searching for the module &lt;strong&gt;node-red-dashboard&lt;/strong&gt;. Click the &lt;strong&gt;Install&lt;/strong&gt; button. A message appears warning you that installation may be difficult at times. Just click &lt;strong&gt;Ok&lt;/strong&gt;, this module is easy to install. After a short while, a success message appears, and the new nodes are now in your node row.&lt;/p&gt;</description></item><item><title>Day 5: Node-RED</title><link>https://neu-iot.fkainka.de/en/day5-2018/</link><pubDate>Wed, 05 Dec 2018 00:00:49 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day5-2018/</guid><description>&lt;p&gt;Behind the fifth door of the Advent calendar is a button and we are going to use it today in our experiment instead of the boot button. We will connect the button to pin 18 and GND in such a way that when pressed, it will pull the pin to ground, thus to LOW. If you have selected the program of the day and you press the button, a message is sent via UDP.&lt;/p&gt;</description></item><item><title>Day 4: UDP and JSON</title><link>https://neu-iot.fkainka.de/en/day4-2018/</link><pubDate>Tue, 04 Dec 2018 00:00:42 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day4-2018/</guid><description>&lt;p&gt;Behind the fourth door of the Advent calendar is a set of cables that is very useful for the upcoming hardware setup. But today in our project we are going to look at the JSON format; what is it and how does it help us communicating with the board.&lt;/p&gt;
&lt;p&gt;As usual, first you need to activate today’s program. You will also need the Packet Sender program with the same settings that we were using yesterday. Today, a message appears only after you briefly press on the board’s boot button. This message looks like this:&lt;/p&gt;</description></item><item><title>Day 3: UDP and Packet Sender</title><link>https://neu-iot.fkainka.de/en/day3-2018/</link><pubDate>Mon, 03 Dec 2018 00:00:52 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day3-2018/</guid><description>&lt;p&gt;Today’s door reveals another breadboard. It can be plugged into the board of yesterday. The NodeESP board can now be placed on both boards together. However, this constellation will not work for everyone. Breaking off the side parts of the boards is the easiest solution. I have done this by fitting the boards into each other and then bending one until a side part broke off. I did the same thing with the other board. But you could use pliers, too. Without the side parts, you can place the boards closer to each other, and then there won’t be a problem with the grid. Simply plug the NodeESP board onto both boards as shown in the picture. This leaves enough room for other components. In today’s project, we will learn how to connect to the board from your PC without using the web browser.&lt;/p&gt;</description></item><item><title>Day 2: OnBoard LED and Update</title><link>https://neu-iot.fkainka.de/en/day2-2018/</link><pubDate>Sun, 02 Dec 2018 00:00:45 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day2-2018/</guid><description>&lt;p&gt;On the second day you will find a breadboard for the upcoming experiments hidden behind the door. I would recommend however, that you do not yet plug your NodeESP into the board. Let’s first look today at how we launch the programs preinstalled on the board and bring the board up to date.&lt;/p&gt;
&lt;p&gt;Reconnect your board first to a power source. Wi-Fi data that you entered yesterday is still stored and the board should automatically connect to your Wi-Fi network. Then access the board page using the IP or mDNS name (&lt;strong&gt;http: //nodeesp.local&lt;/strong&gt;/). Now, the first thing you do is searching for possible software updates. To do this, open the configuration page, click &lt;strong&gt;Advanced Settings&lt;/strong&gt; at the bottom and click on &lt;strong&gt;Check for Firmware Updates&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Day 1: The NodeESP Board</title><link>https://neu-iot.fkainka.de/en/day1-2018/</link><pubDate>Sat, 01 Dec 2018 00:00:32 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day1-2018/</guid><description>&lt;p&gt;This is the first day of the 2018 Advent calendar project. The time has come to open the first window. Behind this calendar door you will find a microcontroller board. The main task today is to connect to the home network and to become acquainted with the board.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/11/T1_NodeES_WPS.jpg"&gt;&lt;img class="size-large wp-image-2432" src="https://neu-iot.fkainka.de/images/2018/11/T1_NodeES_WPS.jpg" alt="Das NodeESP-Board mit markierter WPS-Taste." width="616" height="251" data-id="2432" /&gt;&lt;/a&gt;&lt;figcaption&gt;The NodeESP board with WPS button selected&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;In a first step we will supply power to the board by simply connecting the board using a MicroUSB cable to the PC or to a standard smartphone charger. You will need at least 300mA to power the board. Older laptops and USB hubs may pose a problem, if they do not have an external power supply however. After a short while the RGB LED on the board turns on and glows yellow. Initialisation is complete. Now all you have to do is enter your Wi-Fi data. There are two ways to do that:&lt;/p&gt;</description></item><item><title>NodeESP Technical Specs</title><link>https://neu-iot.fkainka.de/en/nodeesp-technical-specs/</link><pubDate>Sat, 10 Nov 2018 13:42:28 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/nodeesp-technical-specs/</guid><description/></item><item><title>nodeesp</title><link>https://neu-iot.fkainka.de/en/nodeesp/</link><pubDate>Wed, 24 Oct 2018 15:58:50 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/nodeesp/</guid><description>&lt;h3 id="der-iot-adventskalender-2018"&gt;Der IoT Adventskalender 2018&lt;/h3&gt;
&lt;div class="post-grid"&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day24-2018/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/T24UI_hu_b0665a49660ff01c.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 24: Christmas Tree Lighting&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day23-2018/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/Day23_Speaker_Tilt_Steckplatine_hu_440e45f823aba3a6.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 23: Alarm System&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day22-2018/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/T22Flow_hu_19f7cd5e5d5129c0.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 22: Climate Guard&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/tag-21-piano-player/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/Day21_Speaker_Steckplatine_hu_b74cd3076a3788bd.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 21: Piano Player&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day20-2018/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/T20UI_hu_8c470cb26183339f.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 20: Plant Guard&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;h3 id="das-nodeesp-board"&gt;Das NodeESP Board&lt;/h3&gt;
&lt;div class="post-grid"&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/firmware-neuigkeiten-und-bug-report/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/technischeDaten-1_hu_41f849b3971c2d7c.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Firmware Neuigkeiten und Bug Report&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/nodeesp-command-reference/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/T12_JSON_hu_bf32aba68f61c4a0.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;NodeESP Kommandoreferenz&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/das-nodeesp-board/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/10/board1_hu_f365872d2e80573f.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;das-nodeesp-board&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/nodeesp-technical-specs/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/technischeDaten-1_hu_41f849b3971c2d7c.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;NodeESP Technical Specs&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/nodeesp-firmware-reinstallieren/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2018/11/Tool2-1_hu_abfed3b9844e78fb.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;NodeESP Firmware Reinstallieren&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;h3 id="maker-kit-für-smart-home"&gt;Maker Kit für Smart Home&lt;/h3&gt;
&lt;div class="post-grid"&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/maker-kit-fuer-smart-home/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2019/10/smarthome_hu_b58afba295a7d5bd.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Maker Kit für Smart Home&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>The NanoESP Page</title><link>https://neu-iot.fkainka.de/en/nanoesp/</link><pubDate>Wed, 24 Oct 2018 15:58:17 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/nanoesp/</guid><description>&lt;h3 id="alles-rund-ums-board"&gt;Alles rund ums Board&lt;/h3&gt;
&lt;div class="post-grid"&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/board/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/08/Boards2_hu_e9ef7fd5b427e39.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Everything about the NanoESP WiFi-Board&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/nanoesp-updaten/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2019/08/P0_fw1_hu_358b07446e5ec689.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;NanoESP Updaten&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/library/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/download-151556_640_hu_c9d59490062b7b8d.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Library for NanoESP &amp;amp; Pretzel Board&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/pinout-pretzel-board-nanoesp/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2016/01/Pinout-Pretzel-Board_hu_c2a45be39575e29f.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Pinout NanoESP &amp;amp; Pretzel Board&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/das-nanoesp-pretzelboard-fritzing-bauteil/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/12/ScreenShot1_hu_33071afd30fe5c94.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Fritzing Bauteil - NanoESP &amp;amp; Pretzel Board&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;h3 id="die-iot-lernpakete-mit-dem-nanoesp"&gt;Die IoT Lernpakete mit dem NanoESP&lt;/h3&gt;
&lt;div class="post-grid"&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/download-beispielprogramme/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/download-151556_640_hu_c9d59490062b7b8d.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Download Beispielprogramme&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/das-lernpaket-iot/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/LPete_hu_585b245c6064d11.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;das-lernpaket-iot&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/test/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/forum-27450_640_hu_6775eaaba46cc47e.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Diskusionen und Hilfe&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/driver/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/Driver1_hu_22b7d9866f4a575f.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Driver -NanoESP &amp;amp; Pretzelboard&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;h3 id="der-iot-adventskalender-2016"&gt;Der IoT Adventskalender 2016&lt;/h3&gt;
&lt;div class="post-grid"&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/der-conrad-adventskalender-iot-2016/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2016/10/bg-2016_hu_e0b06ff9897e68d8.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;der-conrad-adventskalender-iot-2016&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day-24-gift-box/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2016/09/Day24_Present2_Steckplatine_hu_196973a30f64d911.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 24: Gift box&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day23-2016/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2016/09/Day23_Climate_Steckplatine_hu_d3635ab90bad1a94.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 23: MQTT Climate&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day22-2016/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2016/09/Day22_Steckplatine_hu_259b78390065678d.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 22: MQTT Cheerlights&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day21-2016/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2016/09/Day21_Roomst_Steckplatine_hu_701a5bece548f00f.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 21: House automation&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;h3 id="der-iot-adventskalender-2015"&gt;Der IoT Adventskalender 2015&lt;/h3&gt;
&lt;div class="post-grid"&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/der-conrad-iot-adventskalender/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/prev-e1443182559386_hu_1d6e25b060b4c271.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;The Conrad advent calendar Internet of Things&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day-24/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/Day24-1_hu_1e23b74e899576de.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 24: Fire alarm for the Christmas tree&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day-23/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/Day23-2_hu_d0fd70b45c3007f8.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 23: Cheerlights&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day-22/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/Day22-1_hu_65cc386f053a314c.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 22: TalkBack&lt;/span&gt;
&lt;/a&gt;
&lt;a class="post-grid-item" href="https://neu-iot.fkainka.de/en/day-21/"&gt;
&lt;img src="https://neu-iot.fkainka.de/images/2015/09/Day21-1_hu_7e8bb5f6530b0342.webp" width="480" height="300" alt="" loading="lazy"&gt;
&lt;span class="post-grid-title"&gt;Day 21: Alarm system&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>WiFi UDP Y-Network consisting of three NanoESP (Pretzel Boards) and Laptop</title><link>https://neu-iot.fkainka.de/en/wifi-udp-y-netzwerk-aus-drei-pretzelboards-und-einem-laptop/</link><pubDate>Mon, 08 Oct 2018 09:50:22 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/wifi-udp-y-netzwerk-aus-drei-pretzelboards-und-einem-laptop/</guid><description>&lt;h2 id="download-ernteroboter_programme"&gt;&lt;a href="https://neu-iot.fkainka.de/images/2018/10/Ernteroboter_Programme.zip"&gt;Download: Ernteroboter_Programme&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We have designed a computer network consisting of one Server (NanoESP S), two Arduino Clients (NanoESP C1 and C2) and a Laptop as third Client (running there either Packet Sender &lt;a href="https://packetsender.com/download"&gt;https://packetsender.com/download&lt;/a&gt; or TWedge of TEC-IT &lt;a href="https://www.tec-it.com/de/download/Default.aspx"&gt;https://www.tec-it.com/de/download/Default.aspx&lt;/a&gt; ), to construct a small UDP WiFi network. We denote it as Y-configuration, which symbolizes the connections. The center is the Server S, at the ends of the inclined arms of the Y are the Arduino Clients C1 and C2 and the vertical line is the connection to the Laptop as third Client.&lt;/p&gt;</description></item><item><title>Day 24: Gift box</title><link>https://neu-iot.fkainka.de/en/day-24-gift-box/</link><pubDate>Sat, 24 Dec 2016 00:01:53 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-24-gift-box/</guid><description>&lt;p&gt;With the last test in this Advent, we get really Christmasy. We&amp;rsquo;re building a reusable gift box with which you can delight your relatives. Every time someone opens the present, the contents are lit up in an individual colour, and a Christmas sound plays.&lt;/p&gt;
&lt;p&gt;Behind today&amp;rsquo;s door is a retro-reflective sensor. This is actually two components, an IR transmitter diode and a phototransistor. It&amp;rsquo;s not very easy to see which way the elements have to be connected in terms of polarity. For this reason, it&amp;rsquo;s best if you connect the photoelectric sensor with the connection cables according to the example shown. Then you won&amp;rsquo;t be able to switch the polarity as easily.&lt;/p&gt;</description></item><item><title>Day 23: MQTT Climate</title><link>https://neu-iot.fkainka.de/en/day23-2016/</link><pubDate>Fri, 23 Dec 2016 00:01:49 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day23-2016/</guid><description>&lt;p&gt;Behind the door for today is a battery clip for a 9 V block, with which you can make the entire system moveable. An alternative to a battery is a power bank (a rechargeable battery pack, normally for mobile phones). You can see in today&amp;rsquo;s layout picture how to connect a 9 V battery correctly.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day23_Climate_Steckplatine.jpg"&gt;&lt;img class="wp-image-1410 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day23_Climate_Steckplatine.jpg" alt="So können Sie eine 9V-Batterie am heutigen Aufbau anschließen" width="616" height="337" /&gt;&lt;/a&gt;&lt;figcaption&gt;This is how you can connect a 9 V battery to today&amp;#x27;s layout&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Climate data should be captured again today. But this time they are published through the MQTT broker and are thus accessible worldwide. The data could thus be called up via a plug-in and stored in a database.&lt;/p&gt;</description></item><item><title>Day 22: MQTT Cheerlights</title><link>https://neu-iot.fkainka.de/en/day22-2016/</link><pubDate>Thu, 22 Dec 2016 00:01:31 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day22-2016/</guid><description>&lt;p&gt;Today&amp;rsquo;s trial is about MQTT and a global project that was presented last year: the Cheerlights Project by Hans Schaaler. For everyone who doesn&amp;rsquo;t know the project: It&amp;rsquo;s about globally networked coloured lights that can be simultaneously controlled through Twitter commands. Another version of this project was part of last year&amp;rsquo;s Advent calendar. This year we have the version with MQTT and expanded functions.&lt;/p&gt;
&lt;p&gt;Behind today&amp;rsquo;s door is a 1-kohm resistor. The layout consists of the RGB LED with series resistors and a button.&lt;/p&gt;</description></item><item><title>Day 21: House automation</title><link>https://neu-iot.fkainka.de/en/day21-2016/</link><pubDate>Wed, 21 Dec 2016 00:01:34 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day21-2016/</guid><description>&lt;p&gt;In today&amp;rsquo;s test, we&amp;rsquo;ll illuminate the characteristics and possibilities of MQTT in more detail by creating a practical scenario. In the example, there is a building with two rooms, each of which has a light switch, a light and an alarm sensor. The light switch switches the light of the respective room on or off. The alarm sensors activate a building-wide alarm.&lt;/p&gt;
&lt;p&gt;Normally, seven different devices would be used here, which are all connected to each other through an MQTT broker. But since we probably have only one NanoESP, this will simulate all devices. For this reason, today&amp;rsquo;s layout looks somewhat complicated. The LED D3 is used today as the second light. Therefore, today it won&amp;rsquo;t show you whether you&amp;rsquo;re connected to the WLAN. The tilt sensors are used on the extension cables as alarm sensors. A person could, for example, attach them to doors or windows so that they trigger an alarm if the entry opens. Behind today&amp;rsquo;s door is the second sensor.&lt;/p&gt;</description></item><item><title>Day 20: MQTT (Message Queue Telemetry Transport)</title><link>https://neu-iot.fkainka.de/en/day-20-mqtt-message-queue-telemetry-transport/</link><pubDate>Tue, 20 Dec 2016 00:01:05 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-20-mqtt-message-queue-telemetry-transport/</guid><description>&lt;p&gt;For the last days of this Advent, you&amp;rsquo;ll now become familiar with a subject that plays a large role in the realm of the IoT. We&amp;rsquo;re dealing with the messaging protocol MQTT, which was specially developed for the communication from machine to machine (M2M). The protocol is thus so brilliant because e.g. control data, measurement data or texts can be exchanged very easily and compactly. The overhead (data that&amp;rsquo;s transferred alongside the actual user data) is much lower than with HTTP and can be processed readily even by embedded devices, meaning microcontrollers like our NanoESP. At the same time, the controller doesn&amp;rsquo;t constantly have to establish a connection and query whether there&amp;rsquo;s been a change; instead, the connection is continually maintained and the client automatically gives information about changes.&lt;/p&gt;</description></item><item><title>Day 19: Configuration page for the NanoESP</title><link>https://neu-iot.fkainka.de/en/day19-2016/</link><pubDate>Mon, 19 Dec 2016 00:01:07 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day19-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is another cable. With the two cables it&amp;rsquo;s possible, for example, to place the RGB LED apart from the board. We&amp;rsquo;ll need the RGB LED today because the test is about a website with which you can adjust its colours. But that&amp;rsquo;s not the main aspect: To make the configuration of the NanoESP board especially easy not just for programmers, there is a configuration page through which the WLAN data of the module can be adjusted. But first to the set-up. You see it in the following picture.&lt;/p&gt;</description></item><item><title>Day 18: Weather monitoring</title><link>https://neu-iot.fkainka.de/en/day18-2016/</link><pubDate>Sun, 18 Dec 2016 00:01:35 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day18-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is a very special component, namely a humidity sensor. Together with the phototransistor and the NTC, it creates a weather station for at-home use. The following layout is necessary for this purpose:&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day18_Climate_Steckplatine.jpg"&gt;&lt;img class="wp-image-1391 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day18_Climate_Steckplatine.jpg" alt="Der Aufbau mit allen Sensoren" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The layout with all sensors (resistors 1 kohm)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Today&amp;rsquo;s layout is a bit fiddly. Especially at the point where the potentiometer on the right of the image sits, it touches the NanoESP. But that&amp;rsquo;s not really a problem as long as the contact on the left of the image is plugged firmly into the board.&lt;/p&gt;</description></item><item><title>Day 17: Wake Up Light</title><link>https://neu-iot.fkainka.de/en/day17-2016/</link><pubDate>Sat, 17 Dec 2016 00:01:56 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day17-2016/</guid><description>&lt;p&gt;Today&amp;rsquo;s project deals with a well-known lamp from Phillips, the Wake Up Light. This is an alarm clock that, instead of making a loud noise, slowly increases the brightness. This creates a type of sunrise, and one wakes up in a natural manner.&lt;/p&gt;
&lt;p&gt;Behind today&amp;rsquo;s door is another potentiometer, which is important for tomorrow&amp;rsquo;s test. The following layout is required today:&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day10_1_RGB-2.jpg"&gt;&lt;img class="wp-image-1386 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day10_1_RGB-2.jpg" alt="Die RGB LED mit Vorwiderständen" width="616" height="362" /&gt;&lt;/a&gt;&lt;figcaption&gt;The RGB LED with series resistors&lt;/figcaption&gt;&lt;/figure&gt;
&lt;details class="spoiler"&gt;
&lt;summary&gt;The sketch: A16_P17_WakeUpLight.ino&lt;/summary&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; TCP-Server: Wakeup light
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; Change SSID and PASSWORD.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; RGB-Led (common cathode) on Pins 3,5,6
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;NanoESP.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;NanoESP_HTTP.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;SoftwareSerial.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;#34;Websites.h&amp;#34;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;math.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;Time.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define SSID &amp;#34;YourSSID&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define PASSWORD &amp;#34;YourPassword&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define LED_WLAN 13
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define RED 3
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define GREEN 5
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define BLUE 6
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define GND 4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define BUTTON 7
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;NanoESP&lt;/span&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;NanoESP&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;NanoESP_HTTP&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;NanoESP_HTTP&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//String timeServerIP = ; // time.nist.gov NTP server address
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;ntpServerName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;195.145.119.188&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="c1"&gt;//&amp;#34;time.nist.gov&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;NTP_PACKET_SIZE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// NTP time stamp is in the first 48 bytes of the message
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;byte&lt;/span&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;NTP_PACKET_SIZE&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;//buffer to hold incoming and outgoing packets
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;alarmHour&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;alarmMinute&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;alarm&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;byte&lt;/span&gt; &lt;span class="n"&gt;cRed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cBlue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cGreen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;previousMillis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// will store last time a msg was send
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;interval&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;78&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;RED&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;OUTPUT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GREEN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;OUTPUT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BLUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;OUTPUT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GND&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;OUTPUT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;digitalWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GND&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;LOW&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BUTTON&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;INPUT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Only Station Mode for TimeSync
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;configWifiMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;STATION&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//delay(1000);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Wait till Connected to WiFi
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;wifiConnected&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="n"&gt;digitalWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;LED_WLAN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HIGH&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Error WLAN Connect&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Start TCP Server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;startTcpServer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;TCP Server Activ&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;TCP Server Error&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Print IP in Terminal
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getIp&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;setSyncProvider&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;getNtpTime&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Show_Time&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;time_t&lt;/span&gt; &lt;span class="nf"&gt;getNtpTime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//convert to time_t , Paramter: connectionId, ServerAdress, Timezone
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time_t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;getNTPpacket&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ntpServerName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;method&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ressource&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;recvRequest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;method&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ressource&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;New Request from id :&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;, method: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;method&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;, ressource: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;ressource&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34; parameter: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ressource&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sendFromFlash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ressource&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;/settimer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parameter&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//timer=02%3A03&amp;amp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;sHour&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;=&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;%&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;sMin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;&amp;amp;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;sDuration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;&amp;amp;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sDuration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sDuration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sDuration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;=&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sDuration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;&amp;amp;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;alarmHour&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sHour&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toInt&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;alarmMinute&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sMin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toInt&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;iDuration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sDuration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toInt&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;interval&lt;/span&gt; &lt;span class="o"&gt;*=&lt;/span&gt; &lt;span class="n"&gt;iDuration&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Timer: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alarmHour&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alarmMinute&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34; Duartion: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;iDuration&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Show_Time&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ressource&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;/turnoff&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;alarm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;cRed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;cBlue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;cGreen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;RED&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;cRed&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BLUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;cBlue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GREEN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;cGreen&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sendFromFlash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;error404&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;error404&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;alarmHour&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;minute&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;alarmMinute&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;alarm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;alarm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alarm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;wakeUp&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;MorningAlarm&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Alarm: - turn lights off&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;wakeUp&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;millis&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;previousMillis&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="n"&gt;interval&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;previousMillis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;millis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cRed&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;Show_Time&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cRed&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;cRed&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;RED&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cRed&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cGreen&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;cGreen&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GREEN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cGreen&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cBlue&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;cBlue&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BLUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cBlue&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cBlue&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;Show_Time&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// prepare an NTP request to the time server and send to the given
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="nf"&gt;sendNTPpacket&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// set all bytes in the buffer to 0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;memset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;NTP_PACKET_SIZE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Initialize values needed to form NTP request
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// (see URL above for details on the packets)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mb"&gt;0b11100011&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// LI, Version, Mode
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Stratum, or type of clock
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Polling Interval
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mh"&gt;0xEC&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Peer Clock Precision
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 8 bytes of zero for Root Delay &amp;amp; Root Dispersion
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;49&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mh"&gt;0x4E&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;49&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;52&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// if we need a cr/lf
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;NTP_PACKET_SIZE&lt;/span&gt; &lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mh"&gt;0x0D&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;NTP_PACKET_SIZE&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mh"&gt;0x0A&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// all NTP fields have been given values, now
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// you can send a packet requesting a timestamp:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sendRaw&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;packetBuffer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;NTP_PACKET_SIZE&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="nf"&gt;getNTPpacket&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;timeZone&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;secsSince1900&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;byte&lt;/span&gt; &lt;span class="n"&gt;offset&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;newConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;UDP&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;123&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;no connection ntp server&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//NTP requests are to port 123
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;sendNTPpacket&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;No time request send&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;+IPD,&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;vid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parseInt&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;len&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parseInt&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Serial.println(String(len));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;byte&lt;/span&gt; &lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;len&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;readBytes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// for (int i = 0; i &amp;lt;= NTP_PACKET_SIZE; i++) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Serial.print(buffer[i], HEX);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// convert four bytes starting at location 40 to a long integer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;secsSince1900&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;offset&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;secsSince1900&lt;/span&gt; &lt;span class="o"&gt;|=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;offset&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;secsSince1900&lt;/span&gt; &lt;span class="o"&gt;|=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;offset&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;secsSince1900&lt;/span&gt; &lt;span class="o"&gt;|=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;offset&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;OK&lt;/span&gt;&lt;span class="se"&gt;\r\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// return secsSince1900 + timeZone * SECS_PER_HOUR; // NTP Date
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;secsSince1900&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;2208988800UL&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;timeZone&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;SECS_PER_HOUR&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// UNIX Date
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;no time recieved&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;Show_Time&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;shour&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sminute&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ssecond&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Date: &amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;day&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;month&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;shour&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;shour&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// adjust for 0-9
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;minute&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;sminute&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;minute&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;sminute&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;minute&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;second&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;ssecond&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;second&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;ssecond&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;second&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Time: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;shour&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;sminute&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;ssecond&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;&lt;em&gt;(The former Arduino Create embed is no longer available; the code is taken from the download of all sketches.)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Day 16: A web server piano</title><link>https://neu-iot.fkainka.de/en/day16-2016/</link><pubDate>Fri, 16 Dec 2016 00:01:54 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day16-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is a piezo sound transducer. It&amp;rsquo;s possible to generate sounds with it, which will become clear in today&amp;rsquo;s test. Today you&amp;rsquo;re building a type of piano that can be used via a website. See the following picture for the layout:&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day16_Piezzo_Steckplatine.jpg"&gt;&lt;img class="wp-image-1382 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day16_Piezzo_Steckplatine.jpg" alt="Der Piezzo richtig angeschlossen" width="616" height="401" /&gt;&lt;/a&gt;&lt;figcaption&gt;The correct connection of the piezo sound transducer&lt;/figcaption&gt;&lt;/figure&gt;
&lt;details class="spoiler"&gt;
&lt;summary&gt;The sketch: A16_P16_WebserverPiano.ino&lt;/summary&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; TCP-Server Piano
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; Change SSID and PASSWORD.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;NanoESP.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;NanoESP_HTTP.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt; &lt;/span&gt;&lt;span class="c1"&gt;//special library for http-connection
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;SoftwareSerial.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;#34;Websites.h&amp;#34;&lt;/span&gt;&lt;span class="cp"&gt; &lt;/span&gt;&lt;span class="c1"&gt;//websites in a special file as progmem
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define SSID &amp;#34;YourSSID&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define PASSWORD &amp;#34;YourPassword&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define LED_WLAN 13
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;NanoESP&lt;/span&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;NanoESP&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;NanoESP_HTTP&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;NanoESP_HTTP&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//! Only if you want to change the ACCESPOINT configuration
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//nanoesp.configWifi(ACCESSPOINT, &amp;#34;NanoESP&amp;#34;, &amp;#34;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//! Only if you use a new Network
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// nanoesp.configWifi(DUAL, SSID, PASSWORD);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Dual Mode
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;configWifiMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DUAL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//delay(1000);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Wait till Connected to WiFi
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;wifiConnected&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="n"&gt;digitalWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;LED_WLAN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HIGH&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Error WLAN Connect&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Start TCP Server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;startTcpServer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;TCP Server Activ&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;TCP Server Error&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Print IP in Terminal
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getIp&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;method&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ressource&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;recvRequest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;method&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ressource&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;//Incoming request, parameters by reference
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;New Request from id :&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;, method: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;method&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;, ressource: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;ressource&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;#34; parameter: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ressource&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sendFromFlash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ressource&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;/dataonly&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;//only data is recieved on this url, no need to send a website
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sendFromFlash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;error404&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;error404&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nanoesp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;closeConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parameter&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//the request included parameters
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;strTone&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;method&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;GET&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;strTone&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;strTone&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//get note values
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;noTone&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tone&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;strTone&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toInt&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//play note for 200ms
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;&lt;em&gt;(The former Arduino Create embed is no longer available; the code is taken from the download of all sketches.)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Day 15: A web server</title><link>https://neu-iot.fkainka.de/en/day15-2016/</link><pubDate>Thu, 15 Dec 2016 00:01:28 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day15-2016/</guid><description>&lt;p&gt;Since the Blynk platform was the central point of our projects over the last few days, now we&amp;rsquo;re coming to a totally new subject: the NanoESP as web server. You&amp;rsquo;ve already gotten a first impression of it in the test for the first day. In the coming days, we&amp;rsquo;ll see what all else is possible.&lt;/p&gt;
&lt;p&gt;Behind today&amp;rsquo;s door is a special two-core cable with which you can connect e.g. even LEDs or sensors outside the board. For today&amp;rsquo;s test, however, no hardware layout is necessary at all. You only need the programme and a browser.&lt;/p&gt;</description></item><item><title>Day 14: Long-term temperature measurement</title><link>https://neu-iot.fkainka.de/en/day14-2016/</link><pubDate>Wed, 14 Dec 2016 00:01:14 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day14-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is an NTC sensor (negative temperature coefficient thermistor). Its conductivity changes depending on the temperature. You&amp;rsquo;ll use the sensor today to undertake a long-term measurement of the temperature. As a small bonus, you can select a time at which you get a summary by email.&lt;/p&gt;
&lt;p&gt;For today&amp;rsquo;s layout, in addition to the NTC, you&amp;rsquo;ll also need the potentiometer and a 1-kohm resistor. You can make a fine adjustment of the temperature with the potentiometer.&lt;/p&gt;</description></item><item><title>Day 13: Alarm system with push messages</title><link>https://neu-iot.fkainka.de/en/day13-2016/</link><pubDate>Tue, 13 Dec 2016 00:01:56 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day13-2016/</guid><description>&lt;p&gt;Today&amp;rsquo;s project deals with a simple silent alarm system with password input for resetting the alarm. So that you get anything at all from the alarm, the board sends a push message to your smartphone. We&amp;rsquo;ll set the tilt sensor that&amp;rsquo;s behind today&amp;rsquo;s door as a motion detector. It can give information about vibrations and thus inform you if someone tips the NanoESP board.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day13_Tilt_Steckplatine.jpg"&gt;&lt;img class="size-large wp-image-1366" src="https://neu-iot.fkainka.de/images/2016/09/Day13_Tilt_Steckplatine.jpg" alt="Aufbau mit Tiltsensor" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;Layout with tilt sensor&lt;/figcaption&gt;&lt;/figure&gt;
&lt;details class="spoiler"&gt;
&lt;summary&gt;The sketch: A16_P13_Blynk9_PushAlarm.ino&lt;/summary&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; Blnky9: PushAlarm
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt; Change ssid, password and token
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;YourSSID&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;YourPassword&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;YourToken&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;passwordAlarm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;alarmMsg&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Alarm! Someone touched the NanoESP!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define BLYNK_DEBUG
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define BLYNK_PRINT Serial &lt;/span&gt;&lt;span class="c1"&gt;// Comment this out to disable prints and save space
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;ESP8266_SoftSer.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;BlynkSimpleShieldEsp8266_SoftSer.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;SimpleTimer.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Set ESP8266 Serial object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;SoftwareSerial.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SoftwareSerial&lt;/span&gt; &lt;span class="nf"&gt;EspSerial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// RX, TX
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ESP8266&lt;/span&gt; &lt;span class="nf"&gt;wifi&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;EspSerial&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SimpleTimer&lt;/span&gt; &lt;span class="n"&gt;timer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;WidgetTerminal&lt;/span&gt; &lt;span class="nf"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;boolean&lt;/span&gt; &lt;span class="n"&gt;alarm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Set console baud rate
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;EspSerial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;wifi&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//push msg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;notify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Alarm active&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;INPUT_PULLUP&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//timer for blinking led on alarm
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;timer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setInterval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1000L&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;blinkAlarm&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alarm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;timer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;digitalWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;LOW&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//blink if alarm active
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;digitalRead&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;//read tilt sensor
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;alarm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;alarm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;notify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alarmMsg&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//push msg on alarm
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Alarm! Type in Password:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_CONNECTED&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;syncAll&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Blynk v&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;BLYNK_VERSION&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;: Device started&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;-------------&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_WRITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//Terminal
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//type in password on alarm
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alarm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;passInput&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asStr&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;passwordAlarm&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;passInput&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;alarm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Alarm deaktivated&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Wrong password!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;terminal&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//timer function for blinking led on alarm
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;blinkAlarm&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;digitalWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;digitalRead&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;&lt;em&gt;(The former Arduino Create embed is no longer available; the code is taken from the download of all sketches.)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Day 12: Light monitor</title><link>https://neu-iot.fkainka.de/en/day12-2016/</link><pubDate>Mon, 12 Dec 2016 00:01:46 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day12-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door, you&amp;rsquo;ll find a phototransistor. This is a sensor with which the brightness can be measured. You&amp;rsquo;ll do that today, but in addition to simple measurement, the project also sounds an alarm as soon as limit values that you&amp;rsquo;ve pre-set in the app are exceeded. So that everything will function, you have to connect the sensor with a voltage divider circuit at Pin A0, as shown in the picture below. Pay attention to the correct polarity of the phototransistor (short leg to VCC). It does also work the other way round, but not nearly as sensitively.&lt;/p&gt;</description></item><item><title>Day 11: Day- and nightlight</title><link>https://neu-iot.fkainka.de/en/day11-2016/</link><pubDate>Sun, 11 Dec 2016 00:01:57 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day11-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is a 10-kohm resistor, but we don&amp;rsquo;t need it yet today. Instead, the set-up from yesterday&amp;rsquo;s test works today as well. In this project, you&amp;rsquo;ll build a day-night lamp that changes colours at specific times. Thus you can have a bright light shining during the day, while at night only a dim red serves as emergency lighting for a bit of orientation.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day10_1_RGB-1.jpg"&gt;&lt;img class="wp-image-1352 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day10_1_RGB-1.jpg" alt="Der Aufbau von Tag 10" width="616" height="362" /&gt;&lt;/a&gt;&lt;figcaption&gt;The layout from Day 10&lt;/figcaption&gt;&lt;/figure&gt;
&lt;details class="spoiler"&gt;
&lt;summary&gt;The sketch: A16_P11_Blynk7_DayNight.ino&lt;/summary&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;Blynk 7: DayNight
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;Change ssid, password and token
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;YourSSID&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;YourPassword&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;YourToken&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define BLYNK_DEBUG
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#define BLYNK_PRINT Serial &lt;/span&gt;&lt;span class="c1"&gt;// Comment this out to disable prints and save space
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;ESP8266_SoftSer.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;BlynkSimpleShieldEsp8266_SoftSer.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Set ESP8266 Serial object
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;SoftwareSerial.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SoftwareSerial&lt;/span&gt; &lt;span class="nf"&gt;EspSerial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// RX, TX
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ESP8266&lt;/span&gt; &lt;span class="nf"&gt;wifi&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;EspSerial&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;boolean&lt;/span&gt; &lt;span class="n"&gt;isDay&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// Set console baud rate
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;EspSerial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;19200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;wifi&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//all events are handled by functions below
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_CONNECTED&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;//Sync all states when reconnected
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;syncAll&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_WRITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//DayTimer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;virtualWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;virtualWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;isDay&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;syncVirtual&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_WRITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//NightTimer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;virtualWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;virtualWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;isDay&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;syncVirtual&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V8&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_WRITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//Day
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;virtualWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;isDay&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;syncVirtual&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_WRITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V7&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt; &lt;span class="c1"&gt;//Night
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;virtualWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;isDay&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Blynk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;syncVirtual&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V8&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_WRITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// change color Day
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;isDay&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// getting first value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// getting second value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// getting N value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;BLYNK_WRITE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;V8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// change color Night
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;isDay&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// getting first value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// getting second value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;analogWrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;asInt&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// getting N value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;&lt;em&gt;(The former Arduino Create embed is no longer available; the code is taken from the download of all sketches.)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Day 10: Colour mixing</title><link>https://neu-iot.fkainka.de/en/day10-2016/</link><pubDate>Sat, 10 Dec 2016 00:01:27 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day10-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is the reason for the many 1-kohm resistors. Namely, what you find there is a so-called RGB LED RGB stands for red-greenblue, since this LED is actually three LEDs that can be connected through a common cathode. By varying the brightness of the individual LEDs using PWM, you can generate almost every colour conceivable.&lt;/p&gt;
&lt;p&gt;You can see the layout of today&amp;rsquo;s circuit in the following figure. Note that the somewhat longer leg (the cathode) must be plugged into the GND contact strip.&lt;/p&gt;</description></item><item><title>Day 9: Brightness of the real LED</title><link>https://neu-iot.fkainka.de/en/day9-2016/</link><pubDate>Fri, 09 Dec 2016 00:01:46 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day9-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is another 1-kohm resistor. But today you don&amp;rsquo;t have to change anything in the hardware layout from yesterday. Only a small detail changes on the interface.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day8_AnalogButtonLED_Steckplatine-1.jpg"&gt;&lt;img class="wp-image-1340 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day8_AnalogButtonLED_Steckplatine-1.jpg" alt="Der Aufbau von gestern" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The layout from yesterday&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;You don&amp;rsquo;t have to re-upload the programme because you&amp;rsquo;re simply manually adjusting the interface from yesterday. If you&amp;rsquo;d like to load the interface in the app anyway for safety&amp;rsquo;s sake, you&amp;rsquo;ll find the QR code here as usual. But then you also have to re-enter the token in your programme.&lt;/p&gt;</description></item><item><title>Day 8: Virtual LEDs</title><link>https://neu-iot.fkainka.de/en/day8-2016/</link><pubDate>Thu, 08 Dec 2016 00:01:15 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day8-2016/</guid><description>&lt;p&gt;In the test for the sixth day, you saw how a push button on the hardware side can be mapped on a button in the app. However, another widget, namely the LED widget, is much simpler for this instance. In today&amp;rsquo;s test, you&amp;rsquo;ll see how to use it properly and what options it offers.&lt;/p&gt;
&lt;p&gt;Behind today&amp;rsquo;s door is another 1-kohm resistor that is important for later tests. Today the circuit from yesterday is expanded by a button.&lt;/p&gt;</description></item><item><title>Day 7: Analogue write</title><link>https://neu-iot.fkainka.de/en/day7-2016/</link><pubDate>Wed, 07 Dec 2016 00:01:18 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day7-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is a potentiometer. You can use it to transfer analogue messages to the Blynk app. To do this, you need to build the circuit according to the picture.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day7_1_AnalogIn_Steckplatine.jpg"&gt;&lt;img class="wp-image-1325 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day7_1_AnalogIn_Steckplatine.jpg" alt="Das Poti benutzt heute die untere Leitung für die Verbindung mit A0" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The potentiometer uses the lower wire for the connection to A0&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Things can get a bit tight when constructing with the MicroUSB cable. So that everything connects, you first have to disconnect the board from the cable and place the jumpers to be as flat as possible. You also need to be aware that this time the VCC is not applied to the track at the bottom of the image; instead, the track is intended for the connection at Pin A0.&lt;/p&gt;</description></item><item><title>Day 6: The hardware button</title><link>https://neu-iot.fkainka.de/en/day6-2016/</link><pubDate>Tue, 06 Dec 2016 00:01:21 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day6-2016/</guid><description>&lt;p&gt;In yesterday&amp;rsquo;s test, you realised a simple control of an LED using the Blynk app. Today you&amp;rsquo;ll see that the control works in both directions. The push-button switch behind today&amp;rsquo;s door really comes in handy for this purpose. With it, you can expand yesterday&amp;rsquo;s circuit as follows:&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/09/Day6_1.jpg"&gt;&lt;img class="wp-image-1321 size-large" src="https://neu-iot.fkainka.de/images/2016/09/Day6_1.jpg" alt="Der neue Aufbau mit Tastschalter an D7" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The new layout with push-button switch at D7&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;You can scan the interface for today here:&lt;/p&gt;</description></item><item><title>Day 5: Blynk</title><link>https://neu-iot.fkainka.de/en/day5-2016/</link><pubDate>Mon, 05 Dec 2016 00:01:46 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day5-2016/</guid><description>&lt;p&gt;You already established a first connection from the board to the Internet yesterday. In the coming days, this connection should be used effectively. So we&amp;rsquo;re looking at the online platform Blynk, through which short commands, measurement data or messages can be exchanged between the NanoESP board and your smartphone.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/08/Day5_1.jpg"&gt;&lt;img class="size-large wp-image-1299" src="https://neu-iot.fkainka.de/images/2016/08/Day5_1.jpg" alt="Kommunikationswege mit Blynk" width="616" height="375" /&gt;&lt;/a&gt;&lt;figcaption&gt;Communication with the Blynk Server&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Blynk enables the simple control of various IoT boards, e.g. the Raspberry Pi or our NanoESP, using an app. You can put the graphic interface together completely on your own, and programming is also extremely simple. As if that weren&amp;rsquo;t enough, you can even control the board from anywhere in the world. So it&amp;rsquo;s totally within the sense of the Internet of Things.&lt;/p&gt;</description></item><item><title>Day 4: Setting up Internet connection</title><link>https://neu-iot.fkainka.de/en/day4-2016/</link><pubDate>Sun, 04 Dec 2016 00:01:49 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day4-2016/</guid><description>&lt;p&gt;Behind today&amp;rsquo;s door is a 1-kohm resistor. We&amp;rsquo;re not going to do much with it today, but tomorrow it becomes important. In today&amp;rsquo;s test, we want to set up an initial connection to your home WLAN network. For this purpose, you need, as you will on many days to come, to enter your WLAN data in the programme.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/08/Day4_1.jpg"&gt;&lt;img class="size-large wp-image-1295" src="https://neu-iot.fkainka.de/images/2016/08/Day4_1.jpg" alt="Das Board pingt den Google Server an" width="616" height="359" /&gt;&lt;/a&gt;&lt;figcaption&gt;The Board pings the Goolge server&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;But first you need to download today&amp;rsquo;s programme. You can download it via the right button on the from the &lt;a href="https://create.arduino.cc/"&gt;Arduino Create&lt;/a&gt; Iframe.&lt;/p&gt;</description></item><item><title>Day 3: The NanoESP in access point mode</title><link>https://neu-iot.fkainka.de/en/day3-2016/</link><pubDate>Sat, 03 Dec 2016 00:01:18 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day3-2016/</guid><description>&lt;p&gt;Behind the third door is the jumper wire, which is important for many tests. To prepare for later tests, you can place the supply lines GND and VCC on the outermost lanes. You&amp;rsquo;ll thereby have better access to these important lines later.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/08/Day3_0.jpg"&gt;&lt;img class="wp-image-1290 size-large" src="https://neu-iot.fkainka.de/images/2016/08/Day3_0.jpg" alt="Die Drahtbrücken an GND und VCC" width="616" height="306" /&gt;&lt;/a&gt;&lt;figcaption&gt;The jumpers to GND and VCC&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;In the project for today, you now get around to changing something in a programme even on your own. The following sample programme serves as a basis:&lt;/p&gt;</description></item><item><title>Day 2: The Arduino IDE</title><link>https://neu-iot.fkainka.de/en/day2-2016/</link><pubDate>Fri, 02 Dec 2016 00:01:47 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day2-2016/</guid><description>&lt;p&gt;This time there&amp;rsquo;s a breadboard behind the door. On it, you can quickly and easily assemble the hardware layouts of the Advent calendar. Since only the NanoESP is available so far, we&amp;rsquo;ll start with it.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/08/Day2_1.jpg"&gt;&lt;img class="size-large wp-image-1286" src="https://neu-iot.fkainka.de/images/2016/08/Day2_1.jpg" alt="NanoESP auf dem Steckboard" width="616" height="309" /&gt;&lt;/a&gt;&lt;figcaption&gt;NanoESP on a breadboard&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;It&amp;rsquo;s best if you plug the controller into the breadboard as shown in the picture. That way, the greatest space remains free for experiments; the WLAN module sticks out behind past the breadboard. The micro-USB cable then hangs between the contact sides and is only a minimal disruption. The board needs to be pressed in gently until it touches the contacts.&lt;/p&gt;</description></item><item><title>Tag 1: Das NanoESP-Board</title><link>https://neu-iot.fkainka.de/en/day1-2016/</link><pubDate>Thu, 01 Dec 2016 00:01:19 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day1-2016/</guid><description>&lt;p&gt;It&amp;rsquo;s the first of December and thus time to open the first door. Behind it is arguably the most important element of the calendar: the NanoESP board. This Arduino-compatible controller with WLAN function is at the centre of the 24 tests.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/08/Day1_1.jpg"&gt;&lt;img class="size-large wp-image-1280" src="https://neu-iot.fkainka.de/images/2016/08/Day1_1.jpg" alt="Das NanoESP Board" width="616" height="186" /&gt;&lt;/a&gt;&lt;figcaption&gt;The NanoESP Board&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;To s briefly, it can be said that the board is most likely a cross between a board similar to an Arduino Nano and a WLAN module with the name ESP8266. The communication between the two elements runs through a serial port generated via software, which is connected to Pins D11 and D12. You should thus avoid these pins with your own projects.&lt;/p&gt;</description></item><item><title>Library for NanoESP &amp; Pretzel Board</title><link>https://neu-iot.fkainka.de/en/library/</link><pubDate>Mon, 19 Sep 2016 12:25:19 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/library/</guid><description/></item><item><title>Ausgelagerte Webseiten für den NanoESP</title><link>https://neu-iot.fkainka.de/en/ausgelagerte-webseiten-fuer-den-nanoesp/</link><pubDate>Sun, 17 Apr 2016 11:33:10 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/ausgelagerte-webseiten-fuer-den-nanoesp/</guid><description>&lt;p&gt;Gerade im Kontext des Adventskalenders oder den anderen Lernpaketen habe ich einige HTML-Seiten für den NanoESP entworfen. Allerdings hat mich dabei immer gestört, dass zum einen der Speicherplatz ziemlich gering ist zum anderen die Übertragung etwas langsam sein kann, vor allem, wenn die Seite oft neu geladen werden muss. Deswegen habe ich mir eine neue Methode überlegt, bei der die dazustellenden Webseite auf einem anderen Webserver liegt und beim Verbinden mit dem TCP-Server des Boards einfach nachgeladen wird. Der Nachteil ist hier vor allem, dass der Client mit dem Internet verbunden sein muss. Das bedeutet auch, das ein privates Netzwerk mit dem NanoESP als AccesPoint nicht möglich ist. Die Vorteile sind aber komplexere Seiten und schnellere Ladezeiten sowie eine insgesamt Entlastung des Boards. Im Folgenden Stelle ich das System anhand des &lt;a href="https://neu-iot.fkainka.de/day-14"&gt;RGB-LED-Beispiels&lt;/a&gt; vor.&lt;/p&gt;</description></item><item><title>Wettbewerbsbeitrag: IoTeaTimer</title><link>https://neu-iot.fkainka.de/en/wettbewerbsbeitrag-ioteatimer/</link><pubDate>Sun, 31 Jan 2016 12:48:25 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/wettbewerbsbeitrag-ioteatimer/</guid><description>&lt;p&gt;Sie kennen das? Sie sitzen in Ihrem Arbeits- oder Bastelzimmer, ganz vertieft in Ihr neues Pretzelboard, plötzlich schießt es siedendheiss durch den Kopf: &amp;ldquo;Der Tee!&amp;rdquo; - doch der ist längst eiskalt, steht in der Küche und hat sich in eine tiefschwarze Jauche verwandelt, die höchstens noch als Pflanzenschutzmittel taugt.&lt;/p&gt;
&lt;p&gt;Das ist der Auftritt für den IoTeaTimer. Eine Eieruhr mit WLAN-Anschluss? Nein, Ihr persönlicher Erinnerungsagent … lesen Sie weiter in der umfassenden Projektdokumentation, hier als PDF, zum Download.&lt;/p&gt;</description></item><item><title>Wettbewerbsbeitrag: Wassermelder mit Twitter-Alarmmeldung</title><link>https://neu-iot.fkainka.de/en/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung/</link><pubDate>Fri, 29 Jan 2016 06:57:19 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/wettbewerbsbeitrag-wassermelder-mit-twitter-alarmmeldung/</guid><description>&lt;h2 id="beitrag-zum-kalenderwettbewerb-2015-vonbernhard-kaiser-michael-gaus"&gt;Beitrag zum &lt;a href="http://fkainka.de/der-kalender-wettbewerb-2015-sensoren-im-internet-of-things/"&gt;Kalenderwettbewerb&lt;/a&gt; 2015 von Bernhard Kaiser &amp;amp; Michael Gaus&lt;/h2&gt;
&lt;p&gt;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 Überwachung auf austretendes Wasser aus Waschmaschine oder Spülmaschine dienen und helfen, rechtzeitig vor größeren Überschwemmungen eingreifen zu können. Als Sensorkontakt können einfach 2 Drähte mit abisolierten Enden genommen werden, so wie es auch auf dem Foto zu sehen ist. Verwendet wurden ausschließlich die Bauteile der beiden Adventskalender.&lt;/p&gt;</description></item><item><title>Pinout NanoESP &amp; Pretzel Board</title><link>https://neu-iot.fkainka.de/en/pinout-pretzel-board-nanoesp/</link><pubDate>Tue, 12 Jan 2016 08:24:58 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/pinout-pretzel-board-nanoesp/</guid><description>&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2016/01/Pinout-Pretzel-Board.jpg" rel="attachment wp-att-1066"&gt;&lt;img class="size-full wp-image-1066" src="https://neu-iot.fkainka.de/images/2016/01/Pinout-Pretzel-Board.jpg" alt="Pinout Pretzel Board (NanoESP)" width="978" height="900" /&gt;&lt;/a&gt;&lt;figcaption&gt;Pinout Pretzel Board (NanoESP)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id="download-pdfpinout-pretzel-board"&gt;Download PDF: &lt;a href="https://neu-iot.fkainka.de/images/2016/01/Pinout-Pretzel-Board.pdf"&gt;Pinout Pretzel Board&lt;/a&gt;&lt;/h3&gt;</description></item><item><title>Day 24: Fire alarm for the Christmas tree</title><link>https://neu-iot.fkainka.de/en/day-24/</link><pubDate>Thu, 24 Dec 2015 00:01:19 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-24/</guid><description>&lt;p&gt;The final project consists of several elements you have been introduced to in the course of the advent time. One function is the Cheerlights function presented the day before. You can also receive the current colour of the Cheerlights project and display it with the RGB-LED. The board is also used for long-term monitoring of the temperature. At the same time, the board is used to emit an alarm sound when the temperature exceeds a specific value, e.g. because there is a fire. As a last function, the board can be used as a Christmas bell, by making it play the song Jingle Bells with a time-controlled TalkBack command. All in all, today&amp;rsquo;s project is an all-rounder for the Christmas tree.&lt;/p&gt;</description></item><item><title>Day 23: Cheerlights</title><link>https://neu-iot.fkainka.de/en/day-23/</link><pubDate>Wed, 23 Dec 2015 00:01:25 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-23/</guid><description>&lt;p&gt;Today&amp;rsquo;s experiment is based on a project by Hans Scharler that is called Cheerlights. The idea is globally linked lights that can be simultaneously controlled via Twitter commands. It is a good example of the world growing closer and closer together with the Internet.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day23-1.jpg"&gt;&lt;img class="size-large wp-image-255" src="https://neu-iot.fkainka.de/images/2015/09/Day23-1.jpg" alt="Die RGB-Led auf dem Steckboard an den Pins D3, D5 und D6" width="616" height="363" /&gt;&lt;/a&gt;&lt;figcaption&gt;The circuit is similar to previous projects&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, you will find a fourth extension cable with which the RGB-LED can also be placed aside. This can be particularly practical if, for example, you want to hide the board in the Christmas tree while the RGB-LED decorates the top of the tree.&lt;/p&gt;</description></item><item><title>Day 22: TalkBack</title><link>https://neu-iot.fkainka.de/en/day-22/</link><pubDate>Tue, 22 Dec 2015 00:01:22 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-22/</guid><description>&lt;p&gt;Today&amp;rsquo;s project is about another app of the ThingSpeak page, i.e. the TalkBack-App. This function permits creating a command that is read and executed by the controller. What appears nonsensical with a single controller does make sense when using two or an entire network of controllers. Some boards can act as sensors then, e.g. with motion detectors, and send a TalkBack command. Another module reads the command from the ThingSpeak page and then opens the door or reports an alarm.&lt;/p&gt;</description></item><item><title>Day 21: Alarm system</title><link>https://neu-iot.fkainka.de/en/day-21/</link><pubDate>Mon, 21 Dec 2015 00:01:32 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-21/</guid><description>&lt;p&gt;Today&amp;rsquo;s project is an alarm system with which you can, for example, check whether someone opens a drawer without permission. There is a continuous check for whether the connected light sensor is exposed to too much light. If this is the case, an alarm signal will sound and a message will be sent via Twitter.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day21-1.jpg"&gt;&lt;img class="size-large wp-image-244" src="https://neu-iot.fkainka.de/images/2015/09/Day21-1.jpg" alt="Lichtsensor an A0 und Piezo an D8" width="616" height="401" /&gt;&lt;/a&gt;&lt;figcaption&gt;Lightsensor on A0 and Piezo on D8&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, there is a Piezo speaker that is used as alarm signal encoder. The structure of today&amp;rsquo;s experiment is shown in the figure.&lt;/p&gt;</description></item><item><title>Day 20: Twitch</title><link>https://neu-iot.fkainka.de/en/day-20/</link><pubDate>Sun, 20 Dec 2015 00:01:47 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-20/</guid><description>&lt;p&gt;The website ThingSpeak offers a lot more than just long-time monitoring of sensors. Today&amp;rsquo;s project is similar to the projects from days 9 and 10 in its basic idea. Information is collected from a website on the internet. In this case, it is whether a specific stream is currently online or not.&lt;/p&gt;
&lt;p&gt;There are two decisive advantages of the ThingSpeak version over the first attempts. First, the ThingSpeak page can also call websites via HTTPS (HyperText Transfer Protocol Secure), while the module only supports the unsafe HTTP-protocol. Second, the website can pre-filter important information and thus clearly reduce the data volume to be processed by the controller.&lt;/p&gt;</description></item><item><title>Day 19: ThingSpeak</title><link>https://neu-iot.fkainka.de/en/day-19/</link><pubDate>Sat, 19 Dec 2015 00:01:53 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-19/</guid><description>&lt;p&gt;In the last days of the advent time, we will deal with an entirely new subject: the website ThingSpeak. This website has been specifically developed for the subject of Internet of Things and contains various practical functions for you.&lt;/p&gt;
&lt;p&gt;Before you tackle the setup and programme as usual, you need to set up an account on the website&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ThingSpeak.com"&gt;www.ThingSpeak.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Log in with your user data under the item Sign In. You can see a website that shows your channels. Since you have no channels yet, this site will look rather empty. Click New Channel and assign a name, e.g. Light. In this project, you will measure brightness. In the item Field1, you can now assign a name to the field, e.g. Brightness. All other fields can be left empty for now.&lt;/p&gt;</description></item><item><title>Day 18: Universal remote control</title><link>https://neu-iot.fkainka.de/en/day-18/</link><pubDate>Fri, 18 Dec 2015 00:01:00 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-18/</guid><description>&lt;p&gt;Yesterday, you built a receiver for infra-red remote controls. Today, you are building the remote control itself. More precisely, you will build a universal remote control that you can operate by computer or Smartphone and with which you can operate your TV or other devices whenever you misplace the original remote control.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day18-1.jpg"&gt;&lt;img class="size-large wp-image-220" src="https://neu-iot.fkainka.de/images/2015/09/Day18-1.jpg" alt="Anschluss der IR-Diode an Pin D3" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The IR-diode at Pin D3&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;For this project, you need the component behind today&amp;rsquo;s door: the IR diode. It looks like a simple LED, but it sends light in the invisible infra-red range. The IR-signals are visible to a digital camera, however. The structure of today&amp;rsquo;s experiment is shown in the figure. Don&amp;rsquo;t be surprised that the IR-LED is not given a dropping resistor. The effective dropping resistor is the On-resistor of the port, at approx. 30 Ohm. Because of this, the current through the diode is quite high, but the impulses sent are so short that the diode will not take damage.&lt;/p&gt;</description></item><item><title>Day 17: IR module</title><link>https://neu-iot.fkainka.de/en/day-17/</link><pubDate>Thu, 17 Dec 2015 00:01:46 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-17/</guid><description>&lt;p&gt;Today&amp;rsquo;s project permits controlling the controller by remote control. You can change the colour of the RGB-LED with buttons you can choose on an infra-red remote control, and change the background colour of the website right along with it.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day17-1.jpg"&gt;&lt;img class="size-large wp-image-213" src="https://neu-iot.fkainka.de/images/2015/09/Day17-1.jpg" alt="Das IR-Modul an Pins D7-D5" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;TheIR-Modul on Pins D7-D5&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, you will find the important part of today&amp;rsquo;s project, i.e. the infra-red receiver module. You can connect the module without a cable as shown in the figure below. The program sets the corresponding pins so that the module is supplied with power.&lt;/p&gt;</description></item><item><title>Day 16: GPIO Control</title><link>https://neu-iot.fkainka.de/en/tag-16-gpio-control/</link><pubDate>Wed, 16 Dec 2015 00:01:26 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/tag-16-gpio-control/</guid><description>&lt;p&gt;Today&amp;rsquo;s project permits simple control of the digital pins D2-D7 per website. The status of the respective pin is also presented on the website, so that you will never lose the overview.&lt;/p&gt;
&lt;p&gt;To review the condition of the pin well, a setup as in the following figure is recommended. Both the RGB-LED and the regular LED are used. The cathodes of the LEDs are now not connected to the long ground line on the outside of the board, but are also at a digital output. Only when these pins are switched low can the LEDs light up.&lt;/p&gt;</description></item><item><title>Day 15: Light sensor</title><link>https://neu-iot.fkainka.de/en/day-15/</link><pubDate>Tue, 15 Dec 2015 00:01:56 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-15/</guid><description>&lt;p&gt;Today&amp;rsquo;s project does not use the web server&amp;rsquo;s website as a control interface, but as an output element. The brightness measured via a brightness sensor is displayed well-structuredly as a relative value.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day15-1.jpg"&gt;&lt;img class="size-large wp-image-203" src="https://neu-iot.fkainka.de/images/2015/09/Day15-1.jpg" alt="Anschluss des Fototransistors an Pin A0" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The fototranistor at Pin A0&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, there is another photo transistor that serves as a light sensor. The photo transistor looks like an LED, but should not be mistaken for one. The structure of today&amp;rsquo;s experiment is shown in the figure. The collector of the photo transistor is the shorter connection. It is applied to +5 V.&lt;/p&gt;</description></item><item><title>Day 14: Webserver for the RGB-LED</title><link>https://neu-iot.fkainka.de/en/day-14/</link><pubDate>Mon, 14 Dec 2015 00:01:19 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-14/</guid><description>&lt;p&gt;Today&amp;rsquo;s project is about controlling the RGB-LED by web server. A well-structured interface can be used to change the colour of the LED. The website has also been adjusted and should be easy to display even on Smartphones.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day14-2.jpeg"&gt;&lt;img class="size-full wp-image-195" src="https://neu-iot.fkainka.de/images/2015/09/Day14-2.jpeg" alt="Die Webseite mit ColorPicker" width="303" height="310" /&gt;&lt;/a&gt;&lt;figcaption&gt;The website on a PC browser&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Behind today&amp;rsquo;s advent calendar door, there is another resistor, but this one is of 10 kΩ (brown, black, orange). You will need it for tomorrow&amp;rsquo;s experiment.&lt;/p&gt;</description></item><item><title>Day 13: Website with buttons</title><link>https://neu-iot.fkainka.de/en/day-13/</link><pubDate>Sun, 13 Dec 2015 00:01:54 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-13/</guid><description>&lt;p&gt;In today&amp;rsquo;s experiment, the illustration of the website is even more sophisticated. There are now also control elements that permit much more comfortable control of the LED.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day12-1.jpg"&gt;&lt;img class="size-large wp-image-163" src="https://neu-iot.fkainka.de/images/2015/09/Day12-1.jpg" alt="So schließen Sie eine Batterie an den heutigen Versuchsaufbau an" width="616" height="337" /&gt;&lt;/a&gt;&lt;figcaption&gt;The 9V-batterie powers the board&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The structure of today&amp;rsquo;s experiment is no different from yesterday&amp;rsquo;s: An LED at pin D9, which can be controlled via the module. As an additional component, today&amp;rsquo;s door once again holds a resistor with 1 kΩ. If necessary, you can now reduce the brightness of an LED by switching two resistors in series.&lt;/p&gt;</description></item><item><title>Day 12: Autonomous webserver</title><link>https://neu-iot.fkainka.de/en/day-12/</link><pubDate>Sat, 12 Dec 2015 00:01:02 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-12/</guid><description>&lt;p&gt;The results of yesterday&amp;rsquo;s experiment are now to be used in an autonomous program. Today&amp;rsquo;s program not only sends a simple website to the browser, but also permits control of an LED.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day12-1.jpg"&gt;&lt;img class="size-large wp-image-163" src="https://neu-iot.fkainka.de/images/2015/09/Day12-1.jpg" alt="So schließen Sie eine Batterie an den heutigen Versuchsaufbau an" width="616" height="337" /&gt;&lt;/a&gt;&lt;figcaption&gt;The 9V-batterie powers the board&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, you will find a 9-V battery clip that can make your board mobile. As an alternative, you may also use a Power Bank (a battery pack usually used for mobile phones). If you want to use the 9-V-battery, observe that the red wire must be connected to Vin, and the black one to GND. The figure shows the setup of today&amp;rsquo;s experiment with external power supply.&lt;/p&gt;</description></item><item><title>Day 11: TCP-Webserver</title><link>https://neu-iot.fkainka.de/en/day-11/</link><pubDate>Fri, 11 Dec 2015 00:01:31 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-11/</guid><description>&lt;p&gt;In the previous experiments, we dealt with the subject of TCP and access to web servers a lot. Today, the module is to act as a web server of its own for the first time.&lt;/p&gt;
&lt;p&gt;Behind the door of the 11th day, there is a special cable that will be very useful soon. A special setup is not necessary today, since the program works similarly to the serial monitor programme of day one.&lt;/p&gt;</description></item><item><title>Day 10: Temperature display</title><link>https://neu-iot.fkainka.de/en/day-10/</link><pubDate>Thu, 10 Dec 2015 00:01:55 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-10/</guid><description>&lt;p&gt;Today&amp;rsquo;s project is an intuitive display of the current temperature. With a single look, you can guess at whether it is sensible to take along a warm jacket.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day10-1.jpg"&gt;&lt;img class="size-large wp-image-152" src="https://neu-iot.fkainka.de/images/2015/09/Day10-1.jpg" alt="Anschluss der RGB LED an die Pins D3, D5 und D6" width="616" height="362" /&gt;&lt;/a&gt;&lt;figcaption&gt;The RGB-LED on Pins D3, D5 and D6&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, there is another LED. This is a special one. It is an RGB-LED. RGB means Red, Green, Blue, the LED actually is made up of several LEDs with a shared cathode connection. A combination of the different colours with different brightnesses permits presenting almost any colour. The LED can be connected to the PWM outputs D3, D5, D6 of the controller with dropping resistors.&lt;/p&gt;</description></item><item><title>Day 9: TCP time</title><link>https://neu-iot.fkainka.de/en/day-9/</link><pubDate>Wed, 09 Dec 2015 00:01:25 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-9/</guid><description>&lt;p&gt;Today&amp;rsquo;s project uses the functions of the prior test to independently collect information from a website. The program specifically loads the current time from a dedicated website and thus sets the internal clock of the controller that is implemented by library.&lt;/p&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, there is another resistor with 1 kΩ. All three resistors will be needed for tomorrow&amp;rsquo;s experiment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The program: &lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day9_TCPAutoTime.zip"&gt;Day9_TCPAutoTime&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;While yesterday&amp;rsquo;s program still required mostly manual operation, today&amp;rsquo;s program works mostly autonomously. The controller connects to the website entirely independently:&lt;/p&gt;</description></item><item><title>Day 8: A browser</title><link>https://neu-iot.fkainka.de/en/day-8/</link><pubDate>Tue, 08 Dec 2015 00:01:36 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-8/</guid><description>&lt;p&gt;In the last days, we mostly dealt with the UDP protocol with which data can be sent out simply and directly. In the next few days, we will deal with the TCP (Transmission Control Protocol). TCP only permits one connection at a time between precisely two computers. It is mostly used online for browsing on websites.&lt;/p&gt;
&lt;p&gt;Behind today&amp;rsquo;s door, there is another resistor with 1 kΩ (brown, black, red). As with all other parts: keep it safe, even though you are not using this part today yet.&lt;/p&gt;</description></item><item><title>Day 7: Analogous sensor</title><link>https://neu-iot.fkainka.de/en/day-7/</link><pubDate>Mon, 07 Dec 2015 00:01:23 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-7/</guid><description>&lt;p&gt;In the last project, a button was used to deal with the simplest form of a sensor. This time, a potentiometer should be used as an analogue sensor to permanently send measured values into the network.&lt;/p&gt;
&lt;p&gt;Behind the 7th door of the advent calendar, there is a potentiometer with 10 kΩ. The setup is shown in the lower figure.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day7-1.jpg"&gt;&lt;img class="size-large wp-image-132" src="https://neu-iot.fkainka.de/images/2015/09/Day7-1.jpg" alt="Der Aufbau mit Potentiometer an A0" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The setup on pin A0&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;The program: &lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day7_UDPAnalog.zip"&gt;Day7_UDPAnalog&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Day 6: UDP-Button</title><link>https://neu-iot.fkainka.de/en/day-6/</link><pubDate>Sun, 06 Dec 2015 00:01:27 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-6/</guid><description>&lt;p&gt;In yesterday&amp;rsquo;s program, the first commands were evaluated by the controller. Today&amp;rsquo;s program maintains this function but can also additionally send a command into the network independently.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day6-1.jpg"&gt;&lt;img class="size-large wp-image-127" src="https://neu-iot.fkainka.de/images/2015/09/Day6-1.jpg" alt="Der Schalter platzsparend an D8 angeschlossen" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The button on pin D8&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;You will find a button behind today&amp;rsquo;s door. It is used as a simple sensor here. Connect it to the controller as shown in the setup image.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The program: &lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day6_UDPSwitch.zip"&gt;Day6_UDPSwitch&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;! Attention: Some MAC-Users reportet a bug in the PacketSender-Software. This bug doesn&amp;rsquo;t allow you to change the ports. If you have problems with this bug you can change the ports in the Arduino program. All you have to do for todays project is to change the line 83 from&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;succes &amp;amp;= sendCom(&amp;ldquo;AT+CIPSTART=&amp;quot;UDP&amp;quot;,&amp;quot;192.168.4.255&amp;quot;,90,91&amp;rdquo;, &amp;ldquo;OK&amp;rdquo;);&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;to&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;succes &amp;amp;= sendCom(&amp;ldquo;AT+CIPSTART=&amp;quot;UDP&amp;quot;,&amp;quot;192.168.4.255&amp;quot;,5505,5506&amp;rdquo;, &amp;ldquo;OK&amp;rdquo;);&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Day 5: Switching an LED</title><link>https://neu-iot.fkainka.de/en/day-5/</link><pubDate>Sat, 05 Dec 2015 00:01:37 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-5/</guid><description>&lt;p&gt;Today&amp;rsquo;s program is finally about controlling hardware via the UDP protocol. In this case, an LED is switched on and off with simple commands.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day5-1.jpg"&gt;&lt;img class="size-large wp-image-117" src="https://neu-iot.fkainka.de/images/2015/09/Day5-1.jpg" alt="So schließen Sie die LED mit Vorwiderstand am Pin D9 an" width="616" height="301" /&gt;&lt;/a&gt;&lt;figcaption&gt;The LED in Pin D9&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;You will find an LED board behind the fifth door. The right dropping resistor already was in yesterday&amp;rsquo;s door. Build the circuit as the picture shows.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The program: &lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day5_UDPLED.zip"&gt;Day5_UDPLED&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;! Attention: Some MAC-Users reportet a bug in the PacketSender-Software. This bug doesn&amp;rsquo;t allow you to change the ports. If you have problems with this bug you can change the ports in the Arduino program. All you have to do for todays project is to change the line 83 from&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;succes &amp;amp;= sendCom(&amp;ldquo;AT+CIPSTART=&amp;quot;UDP&amp;quot;,&amp;quot;192.168.4.255&amp;quot;,90,91&amp;rdquo;, &amp;ldquo;OK&amp;rdquo;);&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;to&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;succes &amp;amp;= sendCom(&amp;ldquo;AT+CIPSTART=&amp;quot;UDP&amp;quot;,&amp;quot;192.168.4.255&amp;quot;,5505,5506&amp;rdquo;, &amp;ldquo;OK&amp;rdquo;);&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Day 4: UDP bidirectional</title><link>https://neu-iot.fkainka.de/en/day-4/</link><pubDate>Fri, 04 Dec 2015 00:01:21 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-4/</guid><description>&lt;p&gt;In yesterday&amp;rsquo;s project, the UDP communication was tested in one direction, i.e. from the board to the PC. In this program, the module is set so that communication in the other direction is possible as well, almost like in a chat. Behind the fourth door of the Advent calendar, there is a resistor with 1 kΩ (brown, black, red). The component is not used in today&amp;rsquo;s test yet, but should be kept for later.&lt;/p&gt;</description></item><item><title>Day 3: UDP-Send</title><link>https://neu-iot.fkainka.de/en/day-3/</link><pubDate>Thu, 03 Dec 2015 00:01:45 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-3/</guid><description>&lt;p&gt;In today&amp;rsquo;s project, data are exchanged between the board and the PC through the WLAN for the first time. The prerequisite for this is that your computer has a WLAN adapter. The UDP (User Datagram Protocol) is used. Another program on the PC-side ensures successful receipt of the messages.&lt;/p&gt;
&lt;p&gt;Behind the third door of the calendar, you can find an insulated cable that you will need to build circuits. To prepare for later experiments, you can place the supply lines ground and VCC on the outer tracks.&lt;/p&gt;</description></item><item><title>Day 2: Google Ping</title><link>https://neu-iot.fkainka.de/en/day-2/</link><pubDate>Wed, 02 Dec 2015 00:01:40 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-2/</guid><description>&lt;p&gt;With today&amp;rsquo;s project, you test whether you can reach the Google server. This is used as a test of whether there generally is a connection to the Internet or, e.g., a firewall is blocking the NanoESP-board.&lt;/p&gt;
&lt;p&gt;You will find a plug board behind today&amp;rsquo;s door. The plug board is used as an experimenting platform later, to connect sensors and other elements. It is best if you plug the controller onto the plug board as shown in the following figure. This leaves you the most space for experiments, while the WLAN module protrudes over the plug board at the rear. The micro USB cable is then suspended between the contact sides and will only interfere minimally.&lt;/p&gt;</description></item><item><title>Day 1 - First Steps</title><link>https://neu-iot.fkainka.de/en/day-1/</link><pubDate>Tue, 01 Dec 2015 00:01:38 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/day-1/</guid><description>&lt;p&gt;It is the first day of December and thus time to open the first door. Behind the door, you will find the most important part of this calendar: the Arduino™-compatible NanoESP-board with integrated WLAN module that this calendar is about.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/09/Day1-1.jpg"&gt;&lt;img class="size-large wp-image-84" src="https://neu-iot.fkainka.de/images/2015/09/Day1-1.jpg" alt="Das NanoESP Board" width="616" height="240" /&gt;&lt;/a&gt;&lt;figcaption&gt;The NanoESP Board&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;As you can see quite well on the PCB, the board is made up of two components. The left half is an Arduino™-compatible micro controller system that can be compared to the Arduino™ Nano. The right part is the WLAN module with the designation ESP8266. These two components communicate via a serial interface generated by software. The Arduino™-side rather acts as the boss, forwarding the commands to the WLAN module. Some of these commands will already be tried out today on the first day.&lt;/p&gt;</description></item><item><title>Day 0: Download all Projects (Spoiler Alert)</title><link>https://neu-iot.fkainka.de/en/tag-0-alle-projekte-fuer-ungeduldige-spoiler-alert/</link><pubDate>Tue, 10 Nov 2015 18:33:13 +0100</pubDate><guid>https://neu-iot.fkainka.de/en/tag-0-alle-projekte-fuer-ungeduldige-spoiler-alert/</guid><description>&lt;p&gt;Many people asked me when the projects will be ready for download. Every project description including schematics and software will come on its owm December day. But if you can&amp;rsquo;t wait, you can download only all software files in advance here.&lt;/p&gt;
&lt;h3 id="calenderiot"&gt;&lt;a href="https://neu-iot.fkainka.de/images/2015/11/CalenderIoT.zip"&gt;CalenderIoT&lt;/a&gt;&lt;/h3&gt;</description></item><item><title>Board specifications NanoESP &amp; Pretzel Board</title><link>https://neu-iot.fkainka.de/en/technische-daten/</link><pubDate>Wed, 23 Sep 2015 08:05:57 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/technische-daten/</guid><description>&lt;p&gt;On this page you can find the specifications of the Board&lt;/p&gt;
&lt;h2 id="specifications"&gt;Specifications:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Microcontroller:                                  ATmega328&lt;/li&gt;
&lt;li&gt;Flash memory:                                  32 KB (including 0,5 KB for the Bootloader)&lt;/li&gt;
&lt;li&gt;SRAM:                                              2 KB&lt;/li&gt;
&lt;li&gt;EEPROM:                                         1 KB&lt;/li&gt;
&lt;li&gt;Taktrate:                                           16 MHz&lt;/li&gt;
&lt;li&gt;I/O-Pins:                                           20 (including 2 for communication with the WiFi module)
&lt;ul&gt;
&lt;li&gt;Included PWM:                              6&lt;/li&gt;
&lt;li&gt;Included analog inputs:                   6&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;USB-to-Serial Chip:                            CH340G&lt;/li&gt;
&lt;li&gt;Operating voltage:                              5 V&lt;/li&gt;
&lt;li&gt;Recommended input voltage::             7-12 V&lt;/li&gt;
&lt;li&gt;Maximum current per I/O pin:              40 mA&lt;/li&gt;
&lt;li&gt;Load capacityof the 3.3 V output:        50 mA&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;WLAN-Modul:                                      ESP8266&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Quick Start - NanoESP &amp; Pretzelboard</title><link>https://neu-iot.fkainka.de/en/schnellstart-anleitung/</link><pubDate>Tue, 22 Sep 2015 08:05:40 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/schnellstart-anleitung/</guid><description>&lt;p&gt;When you attach the board for the first time via the MicroUSB connector, your PC will try to install a driver. If this does not work automatically download and install &lt;a href="https://neu-iot.fkainka.de/treiber"&gt;the driver here.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The ArduinoTM IDE provides the simplest way of programming the development board. Download the IDE from &lt;a href="https://www.arduino.cc/en/Main/Software"&gt;www.Arduino.cc&lt;/a&gt;. When you start the software, you first have to choose the correct port and board. For the latter, you select the &lt;strong&gt;Arduino NanoTM (ATmega328 processor).&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Questions and Answers - NanoESP &amp; Pretzelboard</title><link>https://neu-iot.fkainka.de/en/diskusion-und-hilfe/</link><pubDate>Mon, 21 Sep 2015 10:50:33 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/diskusion-und-hilfe/</guid><description>&lt;p&gt;In this section you habe the possibility to ask questions or give suggestions to a subject related to the Pretzelboard (NanoESP) via the commentary function.&lt;/p&gt;</description></item><item><title>AT Commands -NanoESP &amp; Pretzelboard</title><link>https://neu-iot.fkainka.de/en/at-befehlsliste/</link><pubDate>Sun, 20 Sep 2015 10:11:14 +0200</pubDate><guid>https://neu-iot.fkainka.de/en/at-befehlsliste/</guid><description>&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Command&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Basics&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Test Command&lt;/td&gt;
&lt;td&gt;AT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reset&lt;/td&gt;
&lt;td&gt;AT+RST&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Firmware Infos&lt;/td&gt;
&lt;td&gt;AT+GMR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Echo On/Off&lt;/td&gt;
&lt;td&gt;ATE&amp;lt;1/0&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WiFi Commands&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WiFi-Modus (1 = Client, 2 = AP, 3 = Dual)&lt;/td&gt;
&lt;td&gt;AT+CWMODE=&lt;mode&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search WiFi network&lt;/td&gt;
&lt;td&gt;AT+CWLAP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Connect to Wifi&lt;/td&gt;
&lt;td&gt;AT+CWJAP=“&lt;ssid&gt;“,“&lt;pass&gt;“&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disconnect WiFi&lt;/td&gt;
&lt;td&gt;AT+CWQAP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Settings WiFi -AccesPoint&lt;/td&gt;
&lt;td&gt;AT+CWSAP=“&lt;ssid&gt;“,“&lt;pass&gt;“[,&lt;chan&gt;,&lt;enc&gt;]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Show IP&lt;/td&gt;
&lt;td&gt;AT+CIFSR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;activate/deactivate DHCP&lt;/td&gt;
&lt;td&gt;AT+CWDHCP=&amp;lt;1/0&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto connect to WiFi&lt;/td&gt;
&lt;td&gt;AT+CWAUTOCONN=&amp;lt;1/0&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Change MAC address of AP&lt;/td&gt;
&lt;td&gt;AT+CIPSTAMAC=&lt;MAC&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Set IP address of station&lt;/td&gt;
&lt;td&gt;AT+CIPSTA=&lt;IP&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Set IP address of AccesPoint&lt;/td&gt;
&lt;td&gt;AT+CIPAP=&lt;IP&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Start SmartConfig&lt;/td&gt;
&lt;td&gt;AT+CWSTARTSMART=&lt;typ&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stop SmartConfig&lt;/td&gt;
&lt;td&gt;AT+CWSTOPSMART&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Communication&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ping&lt;/td&gt;
&lt;td&gt;AT+PING=&lt;HOST&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accept multiple connections&lt;/td&gt;
&lt;td&gt;AT+CIPMUX=&lt;mode&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Set transfer mode (0=normal, 1= unvarnished transmission mode, only for TCP single connection)&lt;/td&gt;
&lt;td&gt;AT+CIPMODE=&lt;mode&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Structure of received data&lt;/td&gt;
&lt;td&gt;+IPD,&lt;id&gt;,&lt;len&gt;:&lt;data&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Start connection&lt;/td&gt;
&lt;td&gt;AT+CIPSTART=“&lt;type&gt;“,“&lt;address&gt;“,&lt;port&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Send data&lt;/td&gt;
&lt;td&gt;AT+CIPSEND=&lt;id&gt;,&lt;len&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Close connection&lt;/td&gt;
&lt;td&gt;AT+CIPCLOSE=&lt;id&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Server Commands&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Start TCP server&lt;/td&gt;
&lt;td&gt;AT+CIPSERVER=1,&lt;port&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stop TCP server&lt;/td&gt;
&lt;td&gt;AT+CIPSERVER=0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server status &amp;amp; connected clients&lt;/td&gt;
&lt;td&gt;AT+CIPSTATUS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Set server timeout&lt;/td&gt;
&lt;td&gt;AT+CIPSTO=&lt;timeout&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Show connected clients&lt;/td&gt;
&lt;td&gt;AT+CWLIF&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>