มีใครเคยใช้ 2 Arduino กับ 1 ปุ่มของBlynk บ้างครับ


(Pongsakorn Phonarong) #1

คือผมจะให้ปุ่ม V0 ของ blynk รับค่าจาก NodeMCU 2 ตัวในปุ่มเดียวนะครับ แต่พอผมทำ NodeMCU อีกตัวกลับส่งoutputมาให้ปุ่มV0 ไม่ได้ รบกวนผู้รู้ชี้ทางสว่างทีครับ :innocent:
วิธีทำผมตั้งค่าให้ใช้ร่วมกันตามนี้ครับไม่ทราบถูกหรือไม่



(Permpol Thanapunnamas) #2

หมายถึงยังไงครับ จะให้มัน on พร้อมกันหรือว่ายังไง ดูหน้า ui ด้วยครับ


(Pongsakorn Phonarong) #3


พร้อมกันครับ
สมมุติว่า เรากดเปิดประตูที่บอร์ดA หรือกดที่ปุ่มV0โดยตรง
ปุ่มV0 ก็จะ ทำงาน แล้วไปสั่งบอร์ดBให้เปิดประตู
ในทางกลับกัน ถ้าเราเปิดประตูโดยไม่ได้เปิดผ่านปุ่มV0หรือบอร์ดA ปุ่มV0
ก็จะทำงาน
ทำยังไงให้มันต่อลักษณะนี้ได้ครับ


(Permpol Thanapunnamas) #5

เราสามารถใช้ Widget bridge ครับสามารถเชื่องสองบอร์ด สั่งข้ามกันได้แบบไร้สาย แต่ผมยังไม่ค่อยได้ใช้ widget นี้สักเท่าไหร่ ลองไปเทสแล้วเอามาคุยกันต่อได้ครับ

image

นี้คือตัวอย่างที่ Device A ส่งค่าเพื่อไปสั่งงาน Device B

WidgetBridge bridge1(V1); //Initiating Bridge Widget on V1 of Device A

    void setup() {
        Blynk.begin(...);
        while (Blynk.connect() == false) {
            // Wait until Blynk is connected
        }
        bridge1.digitalWrite(9, HIGH); // will trigger D9 HIGH on Device B. No code on Device B required
        bridge1.analogWrite(10, 123);
        bridge1.virtualWrite(V1, "hello"); // you need to write code on Device B in order to receive this value. See below
        bridge1.virtualWrite(V2, "value1", "value2", "value3");
    }

    BLYNK_CONNECTED() {
      bridge1.setAuthToken("OtherAuthToken"); // Token of the hardware B
    }

(Pongsakorn Phonarong) #6

ใช้แล้วมันไม่ได้ครับอาจจะยากเกินไปสำหรับผม
แต่มันใช้วิธีตามลิงค์นี้ http://www.geekstips.com/blynk-bridge-another-way-to-communicate-between-two-esp8266/?fbclid=IwAR2Js9pUGGp_gl33EmMJQMHgYeeO-EEys9SCdtSrZ76dzAoTsVKM0g768BA

ใช้ได้ครับ


(Permpol Thanapunnamas) #7

ติดตรงไหนครับ กดแล้วมันไม่เชื่อมกันหรอ


(Permpol Thanapunnamas) #8

ใช่ครับตัวที่หนึ่งไม่ต้องมีคำสั่งอะไร

/**************************************************************
   Blynk Bridge - Communication between ESP8266
   Sketch code for the receiver module (module which is controlled)
   www.geekstips.com
 **************************************************************/

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "XXXXXXXX";
char pass[] = "********";

// This code will update the virtual port 5
BLYNK_WRITE(V5) {
  int pinData = param.asInt();
}

void setup(){
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
}

void loop(){
  Blynk.run();
}

อีกอย่างคือ token key ต้อง add อยู่ใน Project เดียวกันด้วยนะครับ