{"id":3916,"date":"2020-09-18T18:47:24","date_gmt":"2020-09-18T16:47:24","guid":{"rendered":"https:\/\/arduino.net.pl\/?p=3916"},"modified":"2020-10-22T19:31:33","modified_gmt":"2020-10-22T17:31:33","slug":"blynk-bridge-widget-czyli-przeplyw-danych-miedzy-dwoma-urzadzeniami","status":"publish","type":"post","link":"https:\/\/arduino.net.pl\/index.php\/blynk-bridge-widget-czyli-przeplyw-danych-miedzy-dwoma-urzadzeniami\/","title":{"rendered":"Blynk Bridge Widget czyli przep\u0142yw danych mi\u0119dzy urz\u0105dzeniami"},"content":{"rendered":"\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:33% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"376\" height=\"445\" src=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2020\/09\/Zrzut-ekranu-2020-09-26-o-20.33.53.png\" alt=\"\" class=\"wp-image-3990\" srcset=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2020\/09\/Zrzut-ekranu-2020-09-26-o-20.33.53.png 376w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2020\/09\/Zrzut-ekranu-2020-09-26-o-20.33.53-253x300.png 253w\" sizes=\"auto, (max-width: 376px) 100vw, 376px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size\"><strong>Bridge<\/strong> <strong>Widget<\/strong> to \u015bwietne narz\u0119dzie do komunikacji mi\u0119dzy r\u00f3\u017cnymi urz\u0105dzeniami IoT w ramach projektu BLYNK. <\/p>\n\n\n\n<p class=\"has-large-font-size\"> Pobiera on wirtualny pin (dowolny, kt\u00f3ry zadeklarujemy) i zamienia go w kana\u0142 do sterowania innym urz\u0105dzeniem. Oznacza to, \u017ce mo\u017cemy z jednej p\u0142ytki sterowa\u0107 dowolnymi cyfrowymi, analogowymi lub wirtualnymi pinami drugiej. Trzeba tylko zna\u0107 jej kod autentyczno\u015bci. Kody s\u0105 banalnie proste. Podobno to najrzadziej u\u017cywany widget. Nie mam poj\u0119cia dlaczego.<\/p>\n<\/div><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Komunikacja master -&gt; slave<\/h4>\n\n\n\n<p><strong>KOD dla master:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; light: false; title: Kod:; toolbar: true; notranslate\" title=\"Kod:\">\n\/*************************************************************\n\n  Control another device using Bridge widget!\n\n  Bridge is initialized with the token of any (Blynk-enabled) device.\n  After that, use the familiar functions to control it:\n    bridge.digitalWrite(8, HIGH)\n    bridge.digitalWrite(&quot;A0&quot;, LOW) \/\/ &lt;- target needs to support &quot;Named pins&quot;\n    bridge.analogWrite(3, 123)\n    bridge.virtualWrite(V1, &quot;hello&quot;)\n *************************************************************\/\n\n\n#define BLYNK_PRINT Serial\n\n#include &lt;ESP8266WiFi.h&gt;\n#include &lt;BlynkSimpleEsp8266.h&gt;\n\n#include &quot;config2.h&quot; \/\/auth, ssid, pass\n\n\/\/ The first bridge widget on virtual pin 51\nWidgetBridge bridge1(V51);\n\/\/ The second bridge widget on virtual pin 52\nWidgetBridge bridge2(V52);\n\n\/\/ Timer for blynking\nBlynkTimer timer;\n\nstatic bool value = true;\nvoid blynkAnotherDevice() \/\/ Here we will send HIGH or LOW once per second\n{\n  \/\/ Send value to another device\n  if (value) {\n    bridge1.digitalWrite(2, HIGH);  \/\/ Digital Pin 2 (LED) w\u0142\u0105czona na pierwszym urz\u0105dzeniu\n    bridge1.virtualWrite(V5, 1); \/\/ Sends 1 value to BLYNK_WRITE(V5) handler on receiving side.\n    bridge2.digitalWrite(13, HIGH); \/\/ Digital Pin 13 - stan wysoki na drugim urz\u0105dzeniu\n  } else {\n    bridge1.digitalWrite(2, LOW); \/\/ Digital Pin 9 on the second board will be set LOW\n    bridge1.virtualWrite(V5, 0); \/\/ Sends 0 value to BLYNK_WRITE(V5) handler on receiving side.\n    bridge2.digitalWrite(13, LOW); \/\/ Digital Pin 13 - stan niski na drugim urz\u0105dzeniu\n  }\n  \/\/ Toggle value\n  value = !value;\n}\n\nBLYNK_CONNECTED() {\n  bridge1.setAuthToken(&quot;...........&quot;); \/\/ Wpisz AuthToken pierwszego urz\u0105dzenia\n  bridge2.setAuthToken(&quot;...........&quot;); \/\/ Wpisz AuthToken drugiego urz\u0105dzenia\n}\n\nvoid setup()\n{\n  \/\/ Debug console\n  Serial.begin(9600);\n\n  Blynk.begin(auth, ssid, pass);\n\n  \/\/ Call blynkAnotherDevice every second\n  timer.setInterval(1000L, blynkAnotherDevice);\n}\n\nvoid loop()\n{\n  Blynk.run();\n  timer.run();\n}\n<\/pre><\/div>\n\n\n<p><strong>KOD dla slave:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; light: false; title: Kod:; toolbar: true; notranslate\" title=\"Kod:\">\n#define BLYNK_PRINT Serial\n#include &amp;lt;ESP8266WiFi.h&gt;\n#include &amp;lt;BlynkSimpleEsp8266.h&gt;\n\n#include &quot;config.h&quot; \/\/auth, ssid, pass\n\n\/\/ This code will update the virtual port 5\nBLYNK_WRITE(V5) {\n  int pinData = param.asInt();\n  Serial.print(pinData);\n}\n\nvoid setup(){\n  Serial.begin(9600);\n\n  Blynk.begin(auth, ssid, pass);\n\n}\n\nvoid loop(){\n  Blynk.run();\n}\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">Komunikacja w obie strony<\/h4>\n\n\n\n<p><strong>Urz\u0105dzenie A<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; light: false; title: Kod:; toolbar: true; notranslate\" title=\"Kod:\">\n\/\/ Urz\u0105dzenie A\n\n\/*************************************************************\n\n  Control another device using Bridge widget!\n\n  Bridge is initialized with the token of any (Blynk-enabled) device.\n  After that, use the familiar functions to control it:\n    bridge.digitalWrite(8, HIGH)\n    bridge.digitalWrite(&quot;A0&quot;, LOW) \/\/ &amp;lt;- target needs to support &quot;Named pins&quot;\n    bridge.analogWrite(3, 123)\n    bridge.virtualWrite(V1, &quot;hello&quot;)\n *************************************************************\/\n\n#define BLYNK_PRINT Serial\n\n#include &amp;lt;ESP8266WiFi.h&gt;\n#include &amp;lt;BlynkSimpleEsp8266.h&gt;\n\n#include &quot;config.h&quot; \/\/auth, ssid, pass\n\n\/\/ Bridge widget on virtual pin 100\nWidgetBridge bridge1(V100);\n\n\/\/ Timer for blynking\nBlynkTimer timer;\n\nstatic bool value = true;\nvoid blynkAnotherDevice() \n{\n  \/\/ Send value to another device\n  if (value) {\n    bridge1.digitalWrite(2, HIGH);  \/\/ D1 mini zapala LED na pinie 2 gdy dostaje niski poziom\n    bridge1.virtualWrite(V5, &quot;Wy\u0142\u0105czone \\n&quot;); \n  } else {\n    bridge1.digitalWrite(2, LOW); \/\/ Digital Pin 9 on the second board will be set LOW\n    bridge1.virtualWrite(V5, &quot;W\u0142\u0105czone \\n&quot;); \n  }\n  \/\/ Toggle value\n  value = !value;\n}\n\nBLYNK_CONNECTED() {\n  bridge1.setAuthToken(&quot;A4GDZ4YWnRfmGTQlebAEUV1hghRMlSk-&quot;); \/\/ Place the AuthToken of the second hardware here\n}\n\nBLYNK_WRITE(V8) {\n  String pinData = param.asString();\n  Serial.print(pinData);\n}\n\nvoid setup()\n{\n  \/\/ Debug console\n  Serial.begin(9600);\n\n  \/\/Blynk.begin(auth, ssid, pass);\n\n  Blynk.begin(auth, ssid, pass, IPAddress IPA); \/\/ serwer lokalny\n\n  \/\/ Call blynkAnotherDevice every 3 second\n  timer.setInterval(3000L, blynkAnotherDevice);\n}\n\nvoid loop()\n{\n  Blynk.run();\n  timer.run();\n}\n<\/pre><\/div>\n\n\n<p><strong>Urz\u0105dzenie B<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; light: false; title: Kod:; toolbar: true; notranslate\" title=\"Kod:\">\n\/\/ Urz\u0105dzenie B\n\n\n#define BLYNK_PRINT Serial\n\n#include &amp;lt;ESP8266WiFi.h&gt;\n#include &amp;lt;BlynkSimpleEsp8266.h&gt;\n\n#include &quot;config.h&quot; \/\/auth, ssid, pass\n\n\nWidgetBridge bridge1(V100);\n\nBlynkTimer timer;\n\nstatic bool value = true;\nvoid sendMessage(){\n  if (value){\n  bridge1.virtualWrite(V8, &quot;Komunikat &quot;);\n  }else{\n  bridge1.virtualWrite(V8, &quot;zwrotny.\\n&quot;);  \n  }\n  value=!value;\n}\n\n\/\/ This code will update the virtual port 5\nBLYNK_WRITE(V5) {\n  String pinData = param.asString();\n  Serial.print(pinData);\n}\n\nBLYNK_CONNECTED() {\n  bridge1.setAuthToken(&quot;ekkoLIeyEgwhbMJ0KW53Hhk4X4q3nJ8R&quot;); \/\/ Place the AuthToken of the second hardware here\n}\n\nvoid setup(){\n  Serial.begin(9600);\n\n  \/\/Blynk.begin(auth, ssid, pass, IPAddress(192,168,0,5), 8080);\n    Blynk.begin(auth, ssid, pass, IPAddress IPA);\n\n    timer.setInterval(3000L, sendMessage);\n\n}\n\nvoid loop(){\n  Blynk.run();\n  timer.run();\n}\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Blynk Example<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/examples.blynk.cc\/?board=ESP32&amp;shield=ESP32%20WiFi&amp;example=Widgets%2FBridge\">Bridge dla ESP32 z Blynk Example Browser<\/a><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">LINK<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.sparkfun.com\/tutorials\/blynk-board-bridge-widget-demo\/all\" target=\"_blank\">Blynk Board Bridge Widget Demo<\/a><\/li><li><strong><span style=\"color:#FFFDFF\" class=\"tadv-color\"><span style=\"background-color:#2f6e8e\" class=\"tadv-background-color\">Community.blynk<\/span><\/span><\/strong><ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/community.blynk.cc\/t\/c-blynk-code-examples-for-basic-tasks-work-in-progress\/22596\/22\" target=\"_blank\">https:\/\/community.blynk.cc\/t\/c-blynk-code-examples-for-basic-tasks-work-in-progress\/22596\/22<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/community.blynk.cc\/t\/quick-question-about-bridge-widget\/23360\/45\" target=\"_blank\">https:\/\/community.blynk.cc\/t\/quick-question-about-bridge-widget\/23360\/45<\/a><\/li><\/ul><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/solarduino.com\/how-to-combine-values-from-different-nodemcu-using-blynk-app-for-online-monitoring\/\" target=\"_blank\">How to combine values from 2 NodeMCU using Bridge Widget using Blynk App for Online Monitoring<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.geekstips.com\/blynk-bridge-another-way-to-communicate-between-two-esp8266\/\" target=\"_blank\">BLYNK BRIDGE \u2013 ANOTHER WAY TO COMMUNICATE BETWEEN TWO ESP8266 MODULES<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/community.blynk.cc\/t\/solved-bridge-widget-arduino-to-arduino-on-local-server\/3450\/22\" target=\"_blank\">Problem z bridge<\/a> rozwi\u0105zany<\/li><li><a href=\"https:\/\/blynk.pl\/systemy-rozproszone-blynk-rzadzi-cz-i\/#more-948\" target=\"_blank\" rel=\"noreferrer noopener\">Systemy rozproszone \u2013 BLYNK rz\u0105dzi cz. I<\/a><\/li><\/ul>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Bridge Widget to \u015bwietne narz\u0119dzie do komunikacji mi\u0119dzy r\u00f3\u017cnymi urz\u0105dzeniami IoT w ramach projektu BLYNK. Pobiera on wirtualny pin (dowolny, kt\u00f3ry zadeklarujemy) i zamienia go w kana\u0142 do sterowania innym&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2,95,66,80,5],"tags":[],"class_list":["post-3916","post","type-post","status-publish","format-standard","hentry","category-arduino","category-blynk","category-elektronika","category-esp32","category-esp8266"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/3916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/comments?post=3916"}],"version-history":[{"count":27,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/3916\/revisions"}],"predecessor-version":[{"id":4011,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/3916\/revisions\/4011"}],"wp:attachment":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/media?parent=3916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/categories?post=3916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/tags?post=3916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}