{"id":13789,"date":"2022-02-18T20:38:28","date_gmt":"2022-02-18T20:38:28","guid":{"rendered":"https:\/\/wolles-elektronikkiste.de\/blynk-an-introduction"},"modified":"2022-02-18T22:51:18","modified_gmt":"2022-02-18T22:51:18","slug":"blynk-an-introduction","status":"publish","type":"post","link":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction","title":{"rendered":"Blynk &#8211; An Introduction"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"uber-den-beitrag\">About this post<\/h2>\n\n<p>In this post, I would like to give an introduction to Blynk. Blynk is an IoT (Internet of Things) platform that allows you to easily and conveniently read sensors, switch devices, automate processes or remotely inform yourself about critical conditions. Once the basic principle is understood, most functions can be used intuitively and with little programming effort.<\/p>\r\n<p>I had already introduced similar platforms like the <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-1-introduction\" target=\"_blank\" rel=\"noopener\">Arduino IoT Cloud<\/a> and <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/arduino-iot-cloud-part-2-arduino-sim-and-sigfox\" target=\"_blank\" rel=\"noopener\">Arduino SIM \/ Sigfox<\/a>. <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/using-ifttt-and-webhooks-with-the-esp8266\" target=\"_blank\" rel=\"noopener\">IFTTT<\/a> (If-This-Then-That) can also be used to control things in the IoT. All these IoT platforms have their specific advantages and disadvantages. What I particularly like about Blynk is the wide range of functions, the simple operation and the exemplary documentation. The free version is limited to two devices, 5 users and 30 widgets (functions). You can play around with two devices, but you can&#8217;t automate a whole house, for example. How you can implement more devices despite the limitation (but with certain restrictions), I explain at the end of the post.<\/p>\r\n<p>I will cover the following topics:<\/p>\r\n<ul>\r\n<li><a href=\"#quickstart\">Blynk Quick Start<\/a><\/li>\r\n<li><a href=\"#templates\">Templates<\/a><\/li>\r\n<li><a href=\"#quickstart_code\">Quickstart Code<\/a><\/li>\r\n<li><a href=\"#virt_pins\">Virtual Pins<\/a><\/li>\r\n<li><a href=\"#templates_geraete\">Adding templates and devices<\/a><\/li>\r\n<li><a href=\"#widgets\">Adding widgets<\/a><\/li>\r\n<li><a href=\"#auto_notify\">Automations and notifications<\/a><\/li>\r\n<li><a href=\"#remove_restr\">&#8220;Bypass&#8221; device limitation<\/a><a id=\"quickstart\"><\/a><\/li>\r\n<\/ul>\r\n\n<h2 class=\"wp-block-heading\" id=\"smartphone-vs-pc\">Smartphone vs PC<\/h2>\n\n<p>In this article, I will focus on operation from a PC. But Blynk is also available as an app for iOS (<a href=\"https:\/\/apps.apple.com\/us\/app\/blynk-iot\/id1559317868\" target=\"_blank\" rel=\"noopener\">here<\/a>) and for Android (<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=cloud.blynk&amp;hl=de&amp;gl=US\" target=\"_blank\" rel=\"noopener\">here<\/a>). If you can cope with the PC version, you can also use the app in no time. Setting up on the PC is easier for me personally than on the smartphone. Controlling things later, on the other hand, is more fun on the smartphone and may also make more sense.<\/p>\r\n<p>The ratings of the apps are rather mediocre. The main reason seems to be that more devices used to be able to use the free version. Now, many are disappointed because of the limitations.<a id=\"templates\"><\/a><\/p>\r\n\n<h2 class=\"wp-block-heading\" id=\"blynk-schnellstart\">Blynk Quick Start<\/h2>\n\n<p>Let&#8217;s start right away. First, you only need a microcontroller board. The most useful is one with integrated WiFi, such as an ESP32, ESP8266 \/ Wemos, Arduino MKR1010 or Arduino Nano 33IoT. Navigate to the <a href=\"https:\/\/blynk.io\/\" target=\"_blank\" rel=\"noopener\">Blynk website<\/a>, click on &#8220;Start free&#8221; and create an account. Languages available are English, German and Russian.<\/p>\r\n<p>You can have your board online in five to ten minutes at the most using the &#8220;Quick Start&#8221;. Select the correct board and connection type:&nbsp;<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/01_quickstart_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/01_quickstart_engl-1024x568.png\" alt=\"Blynk Quick Start, Step 1\" class=\"wp-image-13431\" width=\"512\" height=\"400\"\/><\/a><figcaption>Blynk Quick Start, Step 1<\/figcaption><\/figure><\/div>\n\n<p>Now you choose your development environment (IDE):<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/02_quickstart_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/02_quickstart_engl-1024x535.png\" alt=\"Blynk Quick Start, Step 2\" class=\"wp-image-13434\" width=\"512\" height=\"275\"\/><\/a><figcaption> Blynk Quick Start, Step 2<\/figcaption><\/figure><\/div>\n\n<p>Install the Blynk library:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/03_quickstart_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/03_quickstart_engl-1024x526.png\" alt=\"Blynk Quick Start, Step 3\" class=\"wp-image-13436\" width=\"512\" height=\"263\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/03_quickstart_engl-1024x526.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/03_quickstart_engl-300x154.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/03_quickstart_engl-768x395.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/03_quickstart_engl.png 1169w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><figcaption> Blynk Quick Start, Step 3<\/figcaption><\/figure><\/div>\n\n<p>Enter your Wi-Fi credentials. These are transferred directly to the quick start sketch and are not stored on Blynk. If you don&#8217;t trust the system, you can also insert the access data manually later into the sketch. You can download the sketch or copy the code. Then upload the sketch to your board.<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/04_quickstart_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/04_quickstart_engl-1024x792.png\" alt=\"Blynk Quick Start, Step 4\" class=\"wp-image-13438\" width=\"512\" height=\"399\"\/><\/a><figcaption> Blynk Quick Start, Step 4<\/figcaption><\/figure><\/div>\n\n<p>If everything worked out, your board is now online and you will be rewarded with a shower of confetti:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/05_quickstart_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/05_quickstart_engl-1024x495.png\" alt=\" Blynk Quick Start, Step 5\" class=\"wp-image-13440\" width=\"512\" height=\"166\"\/><\/a><figcaption> Blynk Quick Start, Step 5<\/figcaption><\/figure><\/div>\n\n<p>The window you&#8217;re in is the Blynk console. Use the magnifying glass icon to navigate to your board, which Blynk has created under the name &#8220;Quickstart Device&#8221;. There you will find the pre-installed widgets in the dashboard. The Dashboard is your control center from which you steer your microcontroller and display values. Widgets are functions that you can select, such as displays, switches, sliders or charts.<\/p>\r\n<p>Let&#8217;s take a closer look at the pre-installed dashboard. The widget with the label &#8220;Uptime&#8221; counts up every second. If you press the &#8220;Button Control&#8221; slider, then it changes to &#8220;On&#8221; and changes the color. In addition, the &#8220;Switch Value&#8221; is set to 1.&nbsp; Nothing else happens. We will go into how you can change this in a moment.<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/06_gotoDevice_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/06_gotoDevice_engl-1024x345.png\" alt=\"Blynk Quickstart Dashboard\" class=\"wp-image-13442\" width=\"768\" height=\"258\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/06_gotoDevice_engl-1024x345.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/06_gotoDevice_engl-300x101.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/06_gotoDevice_engl-768x258.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/06_gotoDevice_engl.png 1266w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><figcaption>Blynk Quickstart Dashboard<\/figcaption><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"templates\">Templates <\/h2>\n\n<p>During the quick start, Blynk has not only created a sketch, but also a so-called template. This automatically created version is called &#8220;Quickstart Template&#8221;. You can access the templates via the menu on the left side of the window. If you select &#8220;Edit&#8221;, you can change, add or delete widgets. But first, leave things as they are:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/quickstart_template_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/quickstart_template_engl-1024x497.png\" alt=\"Blynk Quickstart Template\" class=\"wp-image-13447\" width=\"768\" height=\"383\"\/><\/a><figcaption>Blynk Quickstart Template<\/figcaption><\/figure><\/div>\n\n<p>The dashboard is created by applying the template to a device. The template determines what the dashboard looks like. Why do you need templates at all? Why aren&#8217;t the dashboards edited directly? The answer is: templates are reusable. Imagine using a dozen or more widgets for a device that you have carefully positioned and customized. If you later install another device to do the same thing, you can simply reuse the template. This is object-oriented work: the template is the class, the devices are the objects. <a id=\"quickstart_code\"><\/a><\/p>\r\n\n<h2 class=\"wp-block-heading\" id=\"der-quickstart-code\">The Quickstart Code <\/h2>\n\n<p>First, the code:<\/p>\r\n\n<div class=\"scroll-paragraph-long\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"blynk_quickstart.ino\" data-enlighter-title=\"blynk_quickstart.ino\">\/*************************************************************\r\n\r\n  This is a simple demo of sending and receiving some data.\r\n  Be sure to check out other examples!\r\n *************************************************************\/\r\n\r\n\/\/ Template ID, Device Name and Auth Token are provided by the Blynk.Cloud\r\n\/\/ See the Device Info tab, or Template settings\r\n#define BLYNK_TEMPLATE_ID           \"Your Template ID\"\r\n#define BLYNK_DEVICE_NAME           \"Your Device Name\"\r\n#define BLYNK_AUTH_TOKEN            \"Your Token\"\r\n\r\n\r\n\/\/ Comment this out to disable prints and save space\r\n#define BLYNK_PRINT Serial\r\n\r\n\r\n#include &lt;WiFi.h&gt;\r\n#include &lt;WiFiClient.h&gt;\r\n#include &lt;BlynkSimpleEsp32.h&gt;\r\n\r\nchar auth[] = BLYNK_AUTH_TOKEN;\r\n\r\n\/\/ Your WiFi credentials.\r\n\/\/ Set password to \"\" for open networks.\r\nchar ssid[] = \"Your WiFi Name\";\r\nchar pass[] = \"Your WiFi Password\";\r\n\r\nBlynkTimer timer;\r\n\r\n\/\/ This function is called every time the Virtual Pin 0 state changes\r\nBLYNK_WRITE(V0)\r\n{\r\n  \/\/ Set incoming value from pin V0 to a variable\r\n  int value = param.asInt();\r\n\r\n  \/\/ Update state\r\n  Blynk.virtualWrite(V1, value);\r\n}\r\n\r\n\/\/ This function is called every time the device is connected to the Blynk.Cloud\r\nBLYNK_CONNECTED()\r\n{\r\n  \/\/ Change Web Link Button message to \"Congratulations!\"\r\n  Blynk.setProperty(V3, \"offImageUrl\", \"https:\/\/static-image.nyc3.cdn.digitaloceanspaces.com\/general\/fte\/congratulations.png\");\r\n  Blynk.setProperty(V3, \"onImageUrl\",  \"https:\/\/static-image.nyc3.cdn.digitaloceanspaces.com\/general\/fte\/congratulations_pressed.png\");\r\n  Blynk.setProperty(V3, \"url\", \"https:\/\/docs.blynk.io\/en\/getting-started\/what-do-i-need-to-blynk\/how-quickstart-device-was-made\");\r\n}\r\n\r\n\/\/ This function sends Arduino's uptime every second to Virtual Pin 2.\r\nvoid myTimerEvent()\r\n{\r\n  \/\/ You can send any value at any time.\r\n  \/\/ Please don't send more that 10 values per second.\r\n  Blynk.virtualWrite(V2, millis() \/ 1000);\r\n}\r\n\r\nvoid setup()\r\n{\r\n  \/\/ Debug console\r\n  Serial.begin(115200);\r\n\r\n  Blynk.begin(auth, ssid, pass);\r\n  \/\/ You can also specify server:\r\n  \/\/Blynk.begin(auth, ssid, pass, \"blynk.cloud\", 80);\r\n  \/\/Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);\r\n\r\n  \/\/ Setup a function to be called every second\r\n  timer.setInterval(1000L, myTimerEvent);\r\n}\r\n\r\nvoid loop()\r\n{\r\n  Blynk.run();\r\n  timer.run();\r\n  \/\/ You can inject your own code or combine it with other sketches.\r\n  \/\/ Check other examples on how to communicate with Blynk. Remember\r\n  \/\/ to avoid delay() function!\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n<\/div>\r\n\n<p>The code is explained excellently in the documentation. To get there, click on the round icon in the menu bar on the left, which looks like a lifebuoy. Then go to Documentation \u2192 Quickstart \u2192 &#8220;Quickstart Device: Code Overview&#8221;.<\/p>\r\n<p>I would just like to highlight a few key points:<\/p>\r\n<ul>\r\n<li>In <code>loop()<\/code> you will find only two functions:\r\n<ul>\r\n<li><code>Blynk.run()<\/code> keeps connected to the Blynk Cloud. The function ensures that inputs in the dashboard are received and processed by the board.<\/li>\r\n<li><code>timer.run()<\/code> controls the previously defined timer, which calls the function <code>myTimerEvent()<\/code> every second in this sketch. There you can place all actions that are to be triggered at regular intervals. In this particular case, the system time in seconds is transmitted to Blynk in<code>myTimerEvent()<\/code>.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<li><code>BLINK_WRITE(V0)<\/code> is called every time you change the value of the virtual pin V0 in the dashboard (explanation follows).<\/li>\r\n<li><code>BLINK_CONNECTED()<\/code> is called when the device connects to the Blynk Cloud. Here you can make general settings.<a id=\"virt_pins\"><\/a><\/li>\r\n<\/ul>\r\n\n<h2 class=\"wp-block-heading\" id=\"das-konzept-der-virtuellen-pins\">The concept of virtual pins<\/h2>\n\n<p>You transfer data via virtual pins to or from your board. Once you understand this concept, the rest is simple. Virtual Pins are the interface for your data to the Blink Cloud. Or you can consider them to be containers in which you transport data to and from the Blink Cloud. The quick start sketch uses the V0, V1, V2, and V3 virtual pins. Which data is assigned to these pins can be found in the corresponding template under &#8220;Data streams&#8221;.<\/p>\r\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/07_qs_template_datastream_engl..png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/07_qs_template_datastream_engl.-1024x300.png\" alt=\"Blynk Quickstart Data Streams\" class=\"wp-image-13444\" width=\"768\" height=\"230\"\/><\/a><figcaption>Blynk Quickstart Data Streams<\/figcaption><\/figure>\n<p>Let&#8217;s take a closer look at Switch Control (V0). Depending on the state of the switch, V0 is either 0 or 1. In the quick start sketch, the function <code>BLYNK_WRITE(V0)<\/code> reacts to a change from V0. The statement <code>int value = param.asInt();<\/code> causes the value of V0 to be interpreted as an integer and assigned to the variable &#8220;value&#8221;. <code>Blynk.virtualWrite(V1, value);<\/code> is basically the reverse of this process: The virtual pin V1 (Switch Value) is assigned the value of &#8220;value&#8221; and reported back to the Blink Cloud. When you press the switch button in the dashboard and the switch value changes, you have confirmation that the process has been executed correctly. <\/p>\r\n<p>So that something visible finally happens on the microcontroller side, we extend the sketch a little. Define a pin that you call &#8220;ledPin&#8221;, for example, and set it in <code>setup()<\/code> to OUTPUT. Then extend <code>BLYNK_WRITE(V0)<\/code> at the end with <code>digitalWrite(ledPin, value)<\/code>. Now you can turn an LED connected to &#8220;ledPin&#8221; on and off from anywhere in the world.<\/p>\r\n<p>The system time in seconds is passed to the virtual pin V2 (Seconds) through <code>Blynk.virtualWrite(V2, millis() \/ 1000)<\/code>. This happens every second with the occurrence of the timer event in the function <code>myTimerEvent()<\/code>. The pin V3 is not used in the PC version of the quick start Dashboard, but only on the smartphone.<a id=\"templates_geraete\"><\/a><\/p>\r\n\n<h2 class=\"wp-block-heading\" id=\"weitere-templates-und-gerate-mit-blynk-kreieren\">Creating additional templates and devices with Blynk<\/h2>\n\n<h3 class=\"wp-block-heading\" id=\"entwicklermodus\">Developer mode <\/h3>\n\n<p>If you want to make changes in the Blink console, you must be in developer mode. If nothing works, then the problem could lie there. In this case, go to the user profile (in the menu on the left at the bottom) and flip the switch there. If you do not want to make any further adjustments, you can deactivate the developer mode and thus protect your template from changes.<\/p>\r\n\n<h3 class=\"wp-block-heading\" id=\"zusatzliches-template\">Additional template<\/h3>\n\n<p>To create another template, it is best to build on an existing one. To do this, navigate to the templates, select the Quick Start template and click on &#8220;Clone&#8221; in the upper right corner. Then you can make some general adjustments, such as changing the name, hardware, and connection type. A template ID is automatically created, and the name is adopted.<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"293\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl-1024x293.png\" alt=\"\" class=\"wp-image-13453\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl-1024x293.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl-300x86.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl-768x220.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl-1536x439.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl-1320x377.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/08_template_clone_engl.png 1896w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>Your new template will then appear in the list. You can see that it has not been applied to any device yet.<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/10_two_template_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/10_two_template_engl-1024x369.png\" alt=\"\" class=\"wp-image-13455\" width=\"768\" height=\"260\"\/><\/a><\/figure><\/div>\n\n<h3 class=\"wp-block-heading\" id=\"neues-gerat\">New device<\/h3>\n\n<p>There are several ways to create new devices. I find the following the easiest. Go to the devices (magnifying glass icon) and click on &#8220;New Device&#8221;.<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"188\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl-1024x188.png\" alt=\"\" class=\"wp-image-13457\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl-1024x188.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl-300x55.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl-768x141.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl-1536x282.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl-1320x242.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/11_new_device_engl.png 1908w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>Select &#8220;From template&#8221;:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/12_new_device_from_template_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/12_new_device_from_template_engl.png\" alt=\"\" class=\"wp-image-13459\" width=\"593\" height=\"382\"\/><\/a><\/figure><\/div>\n\n<p>Enter the template you want to use and click on &#8220;Create&#8221;:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/13_new_device_create_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/13_new_device_create_engl.png\" alt=\"\" class=\"wp-image-13461\" width=\"365\" height=\"290\"\/><\/a><\/figure><\/div>\n\n<p>The new device is created. On the right side you can see the template ID, the device name and the authentication token. You can easily copy this data to the clipboard and paste it into your sketch.<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"231\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl-1024x231.png\" alt=\"\" class=\"wp-image-13463\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl-1024x231.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl-300x68.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl-768x173.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl-1536x347.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl-1320x298.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/14_new_device_created_engl.png 1908w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>There is still the question of where to get the sketch for the new device. There are several options:<\/p>\r\n<ul>\r\n<li>You take an existing Blynk sketch and copy the template ID, device name and token into it. If you change your board (from ESP32 to ESP8266, for example), then you have to make further adjustments. In this case, I would recommend one of the next two options.<\/li>\r\n<li>Uses the &#8220;Blynk Example Browser&#8221;, here is the <a href=\"https:\/\/examples.blynk.cc\/?board=ESP8266&amp;shield=ESP8266%20WiFi&amp;example=GettingStarted%2FBlynkBlink\" target=\"_blank\" rel=\"noopener\">link<\/a>.<\/li>\r\n<li>You run through the quick start process again, but cancel it after the code creation and copy template ID, device name and token into it.<\/li>\r\n<\/ul>\r\n<p>Once you have created and adapted the sketch, you upload it to your microcontroller board. It should now appear in the device list.<a id=\"widgets\"><\/a><\/p>\r\n\n<h2 class=\"wp-block-heading\" id=\"widgets-hinzufugen\">Adding widgets<\/h2>\n\n<p>So far, we have been content with switching the LED and transmitting the system time. That&#8217;s still a bit boring. In the next step, we&#8217;ll add two more widgets:<\/p>\r\n<ul>\r\n<li>With a slider, the brightness of an LED is to be controlled remotely using PWM.<\/li>\r\n<li>The measured values of a sensor shall be output on the dashboard and displayed graphically. As a substitute for a sensor value, I take the voltage of a connected potentiometer.<\/li>\r\n<\/ul>\r\n<p>Here is the corresponding simple circuit:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"392\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring-1024x392.png\" alt=\"Example circuit\" class=\"wp-image-13467\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring-1024x392.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring-300x115.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring-768x294.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring-1536x587.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring-1320x505.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/ESP32_wiring.png 1540w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Example circuit<\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\" id=\"datenstrome-virtuelle-pins-erstellen\">Creating Data Streams \/ Virtual Pins<\/h3>\n\n<p>Since we want to transmit additional data, we must first define the corresponding data streams. To do this, go to the templates in the Blynk console, select the template to be changed, go to the tab &#8220;Data streams&#8221; and then &#8220;Edit&#8221;. Select New Datastream, and then select Virtual Pin.<\/p>\r\n<p>I named the data stream for reading the voltage &#8220;VoltRead&#8221; and assigned it the virtual pin V4. The data type is a floating-point number, and &#8220;double&#8221; is available for this. For the units, I could have put volts, but I just forgot and was too lazy to repeat everything. The minimum is 0 volts, the maximum 3.3 volts. Then you can choose how many decimal places you want to use. The default value is the start value if there is no measured data yet. When you have entered everything, click on &#8220;Create&#8221;.<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/15_new_datastream_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/15_new_datastream_engl-1024x454.png\" alt=\"Data stream settings\" class=\"wp-image-13469\" width=\"768\" height=\"338\"\/><\/a><figcaption>Data stream settings<\/figcaption><\/figure><\/div>\n\n<p>For the PWM control you proceed similarly. I named the data stream &#8220;PWM Value&#8221;. Since I set the PWM resolution in the sketch to 10 bits, the min\/max range is from 0 to 1024. &#8220;PWM Value&#8221; is an integer:<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"128\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl-1024x128.png\" alt=\"Additional data streams \" class=\"wp-image-13471\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl-1024x128.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl-300x37.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl-768x96.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl-1536x192.png 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl-1320x165.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/16_new_datastream_engl.png 1707w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Additional data streams <\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\" id=\"widgets-auswahlen-und-konfigurieren\">Selecting and configuring widgets<\/h3>\n\n<p>Now we have to assign the data streams to specific widgets. To do this, we switch to the template and edit it. On the left side are the widgets that you can select. For our &#8220;VoltRead&#8221; we take the widget &#8220;Gauge&#8221;. Click on the widget and drag it to the desired location. You can also adjust the size. Then click on the gear in the widget and adjust the widget. First of all, you can give the widget a new name. The next point is the most important: you assign the data stream to the widget. As a nice feature, you can change the color of the display depending on the measured value:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/17_new_widget_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/17_new_widget_engl-1024x591.png\" alt=\"Gauge setting\" class=\"wp-image-13473\" width=\"768\" height=\"427\"\/><\/a><figcaption> Gauge setting<\/figcaption><\/figure><\/div>\n\n<p>For the PWM value, we select a slider and assign virtual pin V5 to it. This is what the template looks like:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/19_new_widgets_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"567\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/19_new_widgets_engl-1-1024x567.png\" alt=\"Template for the second board\" class=\"wp-image-13506\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/19_new_widgets_engl-1-1024x567.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/19_new_widgets_engl-1-300x166.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/19_new_widgets_engl-1-768x425.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/19_new_widgets_engl-1.png 1187w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption> Template for the second board<\/figcaption><\/figure><\/div>\n\n<h3 class=\"wp-block-heading\" id=\"den-sketch-anpassen\">Customizing the Sketch<\/h3>\n\n<p>On Blynk console side, we are ready. Now we need to adjust the sketch a bit. We need a PWM pin, PWM settings for the LED and an analogRead pin for the voltage. Then we need to link the virtual pins to real data.<\/p>\r\n<p>For the PWM control, you will find the function BLYNK_WRITE(V5) in the extended sketch. The transferred value is read as an integer, stored in the variable &#8220;dutyCycle&#8221; and then applied to the PWM pin.&nbsp;<\/p>\r\n<p>VoltRead is a value that is regularly read and sent to the Blynk Cloud. To transfer VoltRead we simply extend myTimerEvent() accordingly.<\/p>\r\n<p>Here is the full sketch:<\/p>\r\n\n<div class=\"scroll-paragraph-long\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"blynk_additional_widgets.ino\" data-enlighter-title=\"blynk_additional_widgets.ino\">\/*************************************************************\r\n\r\n  This is a simple demo of sending and receiving some data.\r\n  Be sure to check out other examples!\r\n *************************************************************\/\r\n\r\n\/\/ Template ID, Device Name and Auth Token are provided by the Blynk.Cloud\r\n\/\/ See the Device Info tab, or Template settings\r\n#define BLYNK_TEMPLATE_ID \"Your Template ID\"\r\n#define BLYNK_DEVICE_NAME \"ESP32Nr2\"\r\n#define BLYNK_AUTH_TOKEN \"Your Authentification Token\"\r\n\r\n\r\n\/\/ Comment this out to disable prints and save space\r\n#define BLYNK_PRINT Serial\r\n\r\n\r\n#include &lt;WiFi.h&gt;\r\n#include &lt;WiFiClient.h&gt;\r\n#include &lt;BlynkSimpleEsp32.h&gt;\r\n\r\nchar auth[] = BLYNK_AUTH_TOKEN;\r\n\r\n\/\/ Your WiFi credentials.\r\n\/\/ Set password to \"\" for open networks.\r\nchar ssid[] = \"Your WiFi Name (SSID)\";\r\nchar pass[] = \"Your WiFi Password\";\r\nconst int ledPin = 16; \r\nconst int pwmPin = 15;\r\nconst int voltagePin = 34;  \r\nconst int freq = 1000;\r\nconst int pwmChannel = 0;\r\nconst int res = 10; \/\/ 2^10 = 1024 \r\n\r\nBlynkTimer timer;\r\n\r\n\/\/ This function is called every time the Virtual Pin 0 state changes\r\nBLYNK_WRITE(V0)\r\n{\r\n  \/\/ Set incoming value from pin V0 to a variable\r\n  int value = param.asInt();\r\n\r\n  \/\/ Update state\r\n  Blynk.virtualWrite(V1, value);\r\n  digitalWrite(ledPin, value); \/\/ manually added   \r\n}\r\n\r\nBLYNK_WRITE(V5)\r\n{\r\n  \/\/ Set incoming value from pin V5 to a variable\r\n  int dutyCycle = param.asInt();\r\n\r\n  \/\/ Update state\r\n  ledcWrite(pwmChannel, dutyCycle); \r\n}\r\n\r\n\/\/ This function is called every time the device is connected to the Blynk.Cloud\r\nBLYNK_CONNECTED()\r\n{\r\n  \/\/ Change Web Link Button message to \"Congratulations!\"\r\n  Blynk.setProperty(V3, \"offImageUrl\", \"https:\/\/static-image.nyc3.cdn.digitaloceanspaces.com\/general\/fte\/congratulations.png\");\r\n  Blynk.setProperty(V3, \"onImageUrl\",  \"https:\/\/static-image.nyc3.cdn.digitaloceanspaces.com\/general\/fte\/congratulations_pressed.png\");\r\n  Blynk.setProperty(V3, \"url\", \"https:\/\/docs.blynk.io\/en\/getting-started\/what-do-i-need-to-blynk\/how-quickstart-device-was-made\");\r\n  Blynk.setProperty(V1, \"color\", \"#D3435C\");\r\n}\r\n\r\n\/\/ This function sends Arduino's uptime every second to Virtual Pin 2.\r\nvoid myTimerEvent()\r\n{\r\n  \/\/ You can send any value at any time.\r\n  \/\/ Please don't send more that 10 values per second.\r\n  float voltage = analogRead(voltagePin)*3.3\/4095.0;\r\n  Blynk.virtualWrite(V2, millis() \/ 1000);\r\n  Blynk.virtualWrite(V4, voltage);\r\n  Serial.println(voltage);\r\n  \r\n}\r\n\r\nvoid setup()\r\n{\r\n  \/\/ Debug console\r\n  Serial.begin(115200);\r\n  pinMode(ledPin, OUTPUT);\r\n  ledcSetup(pwmChannel, freq, res);\r\n  ledcAttachPin(pwmPin, pwmChannel);\r\n\r\n  Blynk.begin(auth, ssid, pass);\r\n  \/\/ You can also specify server:\r\n  \/\/Blynk.begin(auth, ssid, pass, \"blynk.cloud\", 80);\r\n  \/\/Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);\r\n\r\n  \/\/ Setup a function to be called every second\r\n  timer.setInterval(1000L, myTimerEvent);\r\n}\r\n\r\nvoid loop()\r\n{\r\n  Blynk.run();\r\n  timer.run();\r\n  \/\/ You can inject your own code or combine it with other sketches.\r\n  \/\/ Check other examples on how to communicate with Blynk. Remember\r\n  \/\/ to avoid delay() function!\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n<\/div>\r\n\n<p>Upload the sketch to your board and go to the dashboard in the Blynk console. Now you can play with the PWM slider or turn the potentiometer and see how the values and color change.<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/20_all_widgets_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"480\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/20_all_widgets_engl-2-1024x480.png\" alt=\"Extended dashboard with VoltRead and PWM\" class=\"wp-image-13509\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/20_all_widgets_engl-2-1024x480.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/20_all_widgets_engl-2-300x140.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/20_all_widgets_engl-2-768x360.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/20_all_widgets_engl-2.png 1309w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption> Extended dashboard with VoltRead and PWM<\/figcaption><\/figure><\/div>\n\n<h3 class=\"wp-block-heading\" id=\"messwerte-uber-zeit-darstellen\">Display measured values over time<\/h3>\n\n<p>You want to display sensor data over time graphically? No problem. Go back to the template and add the widget &#8220;Chart&#8221; this time. Assign the desired data stream to the chart and apply further settings as desired. This is all self-explanatory. In the free version you can retrieve the data of the last 7 days.<a id=\"auto_notify\"><\/a><\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/21_chart_germ_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/21_chart_germ_engl.png\" alt=\"Blynk Diagram \" class=\"wp-image-13479\" width=\"635\" height=\"223\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/21_chart_germ_engl.png 846w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/21_chart_germ_engl-300x105.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/21_chart_germ_engl-768x270.png 768w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/a><figcaption> Blynk Diagram <\/figcaption><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"automatisierungen-und-benachrichtigungen-mit-blynk\">Automations and notifications with Blynk<\/h2>\n\n<p>So far, we have only read data or transmitted data to control things. Now it gets a bit more exciting with automation. Typical examples from home automation would be:<\/p>\r\n<ul>\r\n<li>If the daylight is less than x, close the blinds.<\/li>\r\n<li>Turn a lamp on and off at a certain time.<\/li>\r\n<li>Notify me when the motion detector is triggered.<\/li>\r\n<\/ul>\r\n<p>Here are two simple examples using my circuit above that you can easily transfer to other applications:<\/p>\r\n<ul>\r\n<li>Turn the LED on and off at specific times.<\/li>\r\n<li>If the voltage exceeds 2.2 volts, send me a notification on my smartphone.<\/li>\r\n<\/ul>\r\n<p>First, you need to expose the data streams to automation. To do this, go to your template \u2192 Data streams \u2192 Edit \u2192 Data stream \/ Virtual pin to be edited. In my example, the affected data streams or virtual pins are V0 and V4. Enable &#8220;Advanced Settings&#8221; and make your adjustments:<\/p>\r\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_led_automate_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"971\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_led_automate_engl.png\" alt=\"\" class=\"wp-image-13485\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_led_automate_engl.png 779w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_led_automate_engl-241x300.png 241w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_led_automate_engl-768x957.png 768w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/a><\/figure>\n\n\n<p>Enable Automation (Switch)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_vref_notify_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"978\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_vref_notify_engl.png\" alt=\"\" class=\"wp-image-13487\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_vref_notify_engl.png 771w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_vref_notify_engl-237x300.png 237w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/22_vref_notify_engl-768x974.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/a><\/figure>\n\n\n<p>Enable automation (VoltRead)<\/p>\n<\/div>\n<\/div>\n\n<p>Now go to the Automations section via the menu and select &#8220;Add Automation&#8221;. To switch on the LED, select the option &#8220;Schedule&#8221;:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/23_led_auto_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/23_led_auto_engl.png\" alt=\"\" class=\"wp-image-13493\" width=\"394\" height=\"254\"\/><\/a><\/figure><\/div>\n\n<p>In the next window, you then make settings of your choice:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/24_led_auto_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/24_led_auto_engl-1024x326.png\" alt=\"\" class=\"wp-image-13495\" width=\"768\" height=\"368\"\/><\/a><\/figure><\/div>\n\n<p>After you have selected the control device (i.e. your microcontroller board), you still have to specify the data stream. To activate, you must set the switch symbol behind Switch Control to &#8220;On&#8221;:&nbsp;<\/p>\r\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/25_led_auto_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/25_led_auto_engl.png\" alt=\"\" class=\"wp-image-13497\" width=\"765\" height=\"212\"\/><\/a><\/figure>\n<p>For the automated switch-off, repeat the whole procedure accordingly.<\/p>\r\n<p>To activate the notification, proceed similarly, but select the option &#8220;Device status&#8221; in the &#8220;Choose condition&#8221; window. The other settings are also self-explanatory again. A prerequisite for receiving the message is, of course, that you have stored your phone number in the settings.<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/26_volt_notification_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/26_volt_notification_engl-1024x539.png\" alt=\"\" class=\"wp-image-13499\" width=\"768\" height=\"350\"\/><\/a><\/figure><\/div>\n\n<p>This is what the overview of automations looks like:<\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/27_all_automations_engl.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/27_all_automations_engl-1024x299.png\" alt=\"\" class=\"wp-image-13501\" width=\"768\" height=\"161\"\/><\/a><\/figure><\/div>\n\n<p>And finally, the notification on the smartphone:<a id=\"remove_restr\"><\/a><\/p>\r\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning-1024x593.jpg\" alt=\"Blynk Notifications\" class=\"wp-image-13515\" width=\"512\" height=\"297\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning-1024x593.jpg 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning-300x174.jpg 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning-768x445.jpg 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning-1536x889.jpg 1536w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning-2048x1186.jpg 2048w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/voltage_warning-1320x764.jpg 1320w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Blynk Notifications<\/figcaption><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"die-geratebeschrankung-von-blynk-umgehen\">Bypass Blynk&#8217;s device limitation<\/h2>\n\n<p>With the two devices that Blynk allows to use in the free version, you may quickly reach your limits. I would like to show you how you can indirectly include other boards without having to pay for a subscription. However, you have to accept the restriction that you can no longer necessarily update your readings every second.<\/p>\r\n<p>I would like to explain this with a simple example. Voltage values that are determined with another board shall be sent to the board connected to Blynk. From there, the data is sent to Blynk. I use techniques that I explained in my article <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/using-wifi-with-the-esp8266-and-esp32\" target=\"_blank\" rel=\"noopener\">WLAN with ESP8266 and ESP32<\/a>. Look there if you don&#8217;t understand one or the other.<\/p>\r\n\n<h3 class=\"wp-block-heading\" id=\"einrichtung-des-zusatzlichen-boards\">Setting up the additional board<\/h3>\n\n<p>I&#8217;m using another ESP32 board in this example. I might as well have taken an ESP8266 or an Arduino board. The additional board is integrated into the home network as a web server. In the case of a GET request for the main path &#8220;\/&#8221;, the board sends the voltage measured at GPIO34 to the requesting client. This can be programmed with only a few lines:<\/p>\r\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"2nd_ESP32_sketch.ino\" data-enlighter-title=\"2nd_ESP32_sketch.ino\">#include &lt;WebServer.h&gt;\r\n\r\nconst char* ssid = \"Your WiFi Name (SSID)\";\r\nconst char* pass = \"Your WiFi Password\";\r\n\r\nIPAddress ip(192,168,178,111); \r\nIPAddress gateway(192,168,178,1);\r\nIPAddress subnet(255,255,255,0);\r\n\r\nWebServer server(80); \r\n \r\nvoid setup(){\r\n  WiFi.begin(ssid, pass);\r\n  WiFi.config(ip, gateway, subnet);\r\n  server.on(\"\/\",handleRoot);\r\n  server.begin();\r\n}\r\n\r\nvoid loop(){\r\n  server.handleClient();\r\n}\r\n\r\nvoid handleRoot(){\r\n  float measuredValue_1 = analogRead(34)\/4095.0 * 3.3;\r\n  String message = String(measuredValue_1, 2);\r\n  server.send(200, \"text\/html\", message);\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n\n<h3 class=\"wp-block-heading\" id=\"modifizieren-des-blynk-sketches\">Modifying the Blynk Sketch <\/h3>\n\n<p>The query of the additional ESP32 board is initiated in <code>myTimerEvent()<\/code> by calling the function <code>querySecondESP32()<\/code>. In this function, a client object is created with which the measured values are queried via a GET request. However, this takes a certain amount of time. And during this time, a new timer event may be triggered. The more additional devices you poll and the higher your timer frequency, the more &#8220;collisions&#8221; there will be. As a result, more values may be lost. In this example, you will see in the dashboard that the Uptime no longer counts up every second. And if you use the switch, you will see that it sometimes takes two seconds for the LED to react.<\/p>\r\n<p>For many applications, however, a certain delay will be acceptable. You just have to be aware that the delay effect will increase with every additional devices that you integrate in this way. I would lower the frequency of calling <code>myTimerEvent()<\/code>.<\/p>\r\n<p>For the additional voltage values, we use the virtual pin (V6).<\/p>\r\n\n<div class=\"scroll-paragraph-long\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-group=\"blynk_sketch_with_two_ESP32.ino\" data-enlighter-title=\"blynk_sketch_with_two_ESP32.ino\">#define BLYNK_TEMPLATE_ID \"Your Template ID\"\r\n#define BLYNK_DEVICE_NAME \"ESP32Nr2\"\r\n#define BLYNK_AUTH_TOKEN \"Your Authentification Token\"\r\n\r\n#define BLYNK_PRINT Serial\r\n\r\n#include &lt;WiFi.h&gt;\r\n#include &lt;WiFiClient.h&gt;\r\n#include &lt;BlynkSimpleEsp32.h&gt;\r\n\r\nchar auth[] = BLYNK_AUTH_TOKEN;\r\n\r\nchar ssid[] = \"Your WiFi Name (SSID)\";\r\nchar pass[] = \"Your WiFi Password\";\r\nconst char* host_ESP32 = \"192.168.178.111\"; \/\/ IP of the second ESP32\r\nconst int ledPin = 16; \r\nconst int pwmPin = 15;\r\nconst int voltagePin = 34;  \r\nconst int freq = 1000;\r\nconst int pwmChannel = 0;\r\nconst int res = 10; \/\/ 2^10 = 1024 \r\n\r\nBlynkTimer timer;\r\n\r\nBLYNK_WRITE(V0)\r\n{\r\n  int value = param.asInt();\r\n\r\n  Blynk.virtualWrite(V1, value);\r\n  digitalWrite(ledPin, value); \/\/ manually added   \r\n}\r\n\r\nBLYNK_WRITE(V5)\r\n{\r\n  int dutyCycle = param.asInt();\r\n\r\n  ledcWrite(pwmChannel, dutyCycle); \r\n}\r\n\r\n\/\/ This function is called every time the device is connected to the Blynk.Cloud\r\nBLYNK_CONNECTED()\r\n{\r\n  Blynk.setProperty(V3, \"offImageUrl\", \"https:\/\/static-image.nyc3.cdn.digitaloceanspaces.com\/general\/fte\/congratulations.png\");\r\n  Blynk.setProperty(V3, \"onImageUrl\",  \"https:\/\/static-image.nyc3.cdn.digitaloceanspaces.com\/general\/fte\/congratulations_pressed.png\");\r\n  Blynk.setProperty(V3, \"url\", \"https:\/\/docs.blynk.io\/en\/getting-started\/what-do-i-need-to-blynk\/how-quickstart-device-was-made\");\r\n  Blynk.setProperty(V1, \"color\", \"#D3435C\");\r\n}\r\n\r\n\/\/ This function sends Arduino's uptime every second to Virtual Pin 2.\r\nvoid myTimerEvent()\r\n{\r\n  float voltage = analogRead(voltagePin)*3.3\/4095.0;\r\n  float voltage2ndESP32 = querySecondESP32();\r\n  Blynk.virtualWrite(V2, millis() \/ 1000);\r\n  Blynk.virtualWrite(V4, voltage);\r\n  Serial.print(\"Voltage, this ESP32: \"); \/\/ just to check things on the Serial Monitor\r\n  Serial.println(voltage);\r\n  Serial.print(\"Voltage, second ESP32: \");\r\n  Serial.println(voltage2ndESP32); \/\/ get voltage from 2nd ESP32\r\n  Blynk.virtualWrite(V6, voltage2ndESP32);\r\n}\r\n\r\nvoid setup()\r\n{\r\n  Serial.begin(115200);\r\n  pinMode(ledPin, OUTPUT);\r\n  ledcSetup(pwmChannel, freq, res);\r\n  ledcAttachPin(pwmPin, pwmChannel);\r\n\r\n  Blynk.begin(auth, ssid, pass);\r\n  timer.setInterval(1000L, myTimerEvent);  \r\n}\r\n\r\nvoid loop()\r\n{\r\n  Blynk.run();\r\n  timer.run();\r\n}\r\n\r\nfloat querySecondESP32(){\r\n  String voltageString = \"none\";\r\n  WiFiClient client;\r\n  if (!client.connect(host_ESP32, 80)) {\r\n    Serial.println(\"connection failed to second ESP32\");\r\n    return 0.0;\r\n  }\r\n  String url = \"\/\";\r\n  client.print(String(\"GET \") + url + \" HTTP\/1.1\\r\\n\" +\r\n               \"Host: \" + host_ESP32 + \"\\r\\n\" + \r\n               \"Connection: close\\r\\n\\r\\n\");\r\n  unsigned long lasttime = millis();\r\n  while (!client.available() &amp;&amp; ((millis() - lasttime) &lt; 3000)){\r\n    delay(1);\r\n  }  \r\n  while (client.available()) {\r\n    String line = client.readStringUntil('\\r');\r\n    if(line != \"\"){\r\n      voltageString = line;\r\n    }\r\n  }\r\n  return voltageString.toFloat();\r\n}<\/pre>\r\n<p>&nbsp;<\/p>\r\n<\/div>\r\n\n<p>Of course, the virtual pin V6 and the data stream still have to be set up in the Blynk console. You also have to create an additional widget in the template. The easiest way is to copy the existing widget and adjust it.<\/p>\r\n<p>Here is the complete dashboard, including the additional board (ESP32Nr3):<\/p>\r\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/3rd_ESP32_dashboard_engl.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"498\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/3rd_ESP32_dashboard_engl-1024x498.png\" alt=\"Data from two ESP32 on one dashboard\" class=\"wp-image-13557\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/3rd_ESP32_dashboard_engl-1024x498.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/3rd_ESP32_dashboard_engl-300x146.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/3rd_ESP32_dashboard_engl-768x373.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/3rd_ESP32_dashboard_engl-1320x642.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/3rd_ESP32_dashboard_engl.png 1489w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Data from two ESP32 on one dashboard<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"danksagung\">Acknowledgement<\/h2>\n\n<p>I owe the basis for my post image to <a href=\"https:\/\/pixabay.com\/de\/users\/jeferrb-590530\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=782707\" target=\"_blank\" rel=\"noopener\">jeferrb<\/a> on <a href=\"https:\/\/pixabay.com\/de\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=782707\" target=\"_blank\" rel=\"noopener\">Pixabay<\/a>.<\/p>\r\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Blynk is an easy-to-use IoT platform that allows you to control microcontrollers remotely. This is an introduction.<\/p>\n","protected":false},"author":1,"featured_media":13525,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[575,548,1320,570],"tags":[1683,1680,1685,1681,1044,655,1173,1686,1682,1688],"class_list":["post-13789","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-and-tools","category-wireless","category-wireless-en-2","category-wlan-en","tag-automation","tag-blynk-en","tag-data-stream","tag-device-restriction","tag-esp32-en","tag-esp8266-en","tag-iot-en","tag-notification","tag-template-en","tag-virtual-pins-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Blynk - An Introduction &#8226; Wolles Elektronikkiste<\/title>\n<meta name=\"description\" content=\"Blynk is an easy-to-use IoT platform that allows you to control microcontrollers remotely. This is an introduction.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Blynk - An Introduction &#8226; Wolles Elektronikkiste\" \/>\n<meta property=\"og:description\" content=\"Blynk is an easy-to-use IoT platform that allows you to control microcontrollers remotely. This is an introduction.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction\" \/>\n<meta property=\"og:site_name\" content=\"Wolles Elektronikkiste\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-18T20:38:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-18T22:51:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/Beitragsbild_Blynk.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Wolfgang Ewald\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wolfgang Ewald\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction\"},\"author\":{\"name\":\"Wolfgang Ewald\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"headline\":\"Blynk &#8211; An Introduction\",\"datePublished\":\"2022-02-18T20:38:28+00:00\",\"dateModified\":\"2022-02-18T22:51:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction\"},\"wordCount\":2942,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"image\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Beitragsbild_Blynk.png\",\"keywords\":[\"automation\",\"Blynk\",\"data stream\",\"device restriction\",\"ESP32\",\"ESP8266\",\"IoT\",\"notification\",\"template\",\"virtual Pins\"],\"articleSection\":[\"Software and tools\",\"Wireless\",\"wireless\",\"WLAN\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction\",\"name\":\"Blynk - An Introduction &#8226; Wolles Elektronikkiste\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Beitragsbild_Blynk.png\",\"datePublished\":\"2022-02-18T20:38:28+00:00\",\"dateModified\":\"2022-02-18T22:51:18+00:00\",\"description\":\"Blynk is an easy-to-use IoT platform that allows you to control microcontrollers remotely. This is an introduction.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#primaryimage\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Beitragsbild_Blynk.png\",\"contentUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/Beitragsbild_Blynk.png\",\"width\":1200,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/blynk-an-introduction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blynk &#8211; An Introduction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#website\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\",\"name\":\"Wolles Elektronikkiste\",\"description\":\"Die wunderbare Welt der Elektronik\",\"publisher\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\",\"name\":\"Wolfgang Ewald\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"contentUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"width\":512,\"height\":512,\"caption\":\"Wolfgang Ewald\"},\"logo\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Blynk - An Introduction &#8226; Wolles Elektronikkiste","description":"Blynk is an easy-to-use IoT platform that allows you to control microcontrollers remotely. This is an introduction.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction","og_locale":"en_US","og_type":"article","og_title":"Blynk - An Introduction &#8226; Wolles Elektronikkiste","og_description":"Blynk is an easy-to-use IoT platform that allows you to control microcontrollers remotely. This is an introduction.","og_url":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction","og_site_name":"Wolles Elektronikkiste","article_published_time":"2022-02-18T20:38:28+00:00","article_modified_time":"2022-02-18T22:51:18+00:00","og_image":[{"width":1200,"height":1200,"url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/Beitragsbild_Blynk.png","type":"image\/png"}],"author":"Wolfgang Ewald","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Wolfgang Ewald","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#article","isPartOf":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction"},"author":{"name":"Wolfgang Ewald","@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"headline":"Blynk &#8211; An Introduction","datePublished":"2022-02-18T20:38:28+00:00","dateModified":"2022-02-18T22:51:18+00:00","mainEntityOfPage":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction"},"wordCount":2942,"commentCount":0,"publisher":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"image":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#primaryimage"},"thumbnailUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/Beitragsbild_Blynk.png","keywords":["automation","Blynk","data stream","device restriction","ESP32","ESP8266","IoT","notification","template","virtual Pins"],"articleSection":["Software and tools","Wireless","wireless","WLAN"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction","url":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction","name":"Blynk - An Introduction &#8226; Wolles Elektronikkiste","isPartOf":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#website"},"primaryImageOfPage":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#primaryimage"},"image":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#primaryimage"},"thumbnailUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/Beitragsbild_Blynk.png","datePublished":"2022-02-18T20:38:28+00:00","dateModified":"2022-02-18T22:51:18+00:00","description":"Blynk is an easy-to-use IoT platform that allows you to control microcontrollers remotely. This is an introduction.","breadcrumb":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#primaryimage","url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/Beitragsbild_Blynk.png","contentUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2022\/01\/Beitragsbild_Blynk.png","width":1200,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/wolles-elektronikkiste.de\/en\/blynk-an-introduction#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/wolles-elektronikkiste.de\/en"},{"@type":"ListItem","position":2,"name":"Blynk &#8211; An Introduction"}]},{"@type":"WebSite","@id":"https:\/\/wolles-elektronikkiste.de\/en#website","url":"https:\/\/wolles-elektronikkiste.de\/en","name":"Wolles Elektronikkiste","description":"Die wunderbare Welt der Elektronik","publisher":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wolles-elektronikkiste.de\/en?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46","name":"Wolfgang Ewald","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","contentUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","width":512,"height":512,"caption":"Wolfgang Ewald"},"logo":{"@id":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png"}}]}},"_links":{"self":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts\/13789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/comments?post=13789"}],"version-history":[{"count":0,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts\/13789\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/media\/13525"}],"wp:attachment":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/media?parent=13789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/categories?post=13789"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/tags?post=13789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}