Blynk Bridge – comunicação entre tokens diferentes

Uma das coisas que podemos fazer é utilizar o mesmo token em mais de um lugar. O problema é que isso pode acabar gerando conflito ou loop. Quando queremos enviar um comando do dispositivo A para o dispositivo B, devemos utilizar o widget Blynk Bridge.

Aproveite para configurar seu próprio Blynk Server (grátis e começa com 100.00 de energia).

Blynk Widgets

Utilizando esse widget Blynk Bridge, temos a possibilidade de passar um token diferente daquele cujo dispositivo de origem enviará dado para o destino. Outra vantagem é que além de enviar comandos para um dispositivo específico, múltiplos dispositivos podem ser acionados. Ainda, podemos ter dispositivos operando de forma exatamente igual, por isso poderiam usar o mesmo token. Fantástico, hum?

Como utilizar o Blynk Bridge

Sua utilização é simples e é por essa e outras que recomendo a utilização da IDE Atom com PlatformIO para desenvolver para qualquer plataforma (pegue-o no site oficial através desse link). Seu recurso de auto-completação nos permite ver os recursos oferecidos por uma biblioteca, incluindo os parâmetros que ela recebe.

Indo direto ao assunto, tudo o que precisamos fazer para usar o Blynk Bridge é seguir os passos descritos:

1 – Instanciar o widget no nosso código.

2 – Criar um timer, caso haja repetibilidade.

3 – Criar uma função para atuar sobre o segundo dispositivo.

4 – Conectar ao dispositivo remoto.

5 – Ajustar o timer, caso o esteja utilizando.

6 – Rodar o timer no loop, após o Blynk.run().

Vejamos:

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "token_local";

char ssid[] = "seu_ssid";
char pass[] = "sua_senha";

// 1 - instanciar o widget bridge
WidgetBridge bridge1(V1);

// 2 - criar o timer
BlynkTimer timer;

static bool value = true;

//3 - criar uma função para atuar sobre o dispositivo B
void blynkDispositivoB(){
  if (value) {
    bridge1.digitalWrite(9, HIGH);
    bridge1.virtualWrite(V5, 1);
  }
  else{
    bridge1.digitalWrite(9, LOW);
    bridge1.virtualWrite(V5, 0);
  }
  value = !value;
}

//4 - conectar ao dispositivo B
BLYNK_CONNECTED() {
  bridge1.setAuthToken("outro_token");
}

void setup()
{
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,2), 8080);

  //5 -  ajustar o timer
  timer.setInterval(1000L, blynkDispositivoB);
}

void loop()
{
  Blynk.run();
  //6 - rodar o timer!
  timer.run();
}

Mais uma vez, aproveite para experimentar o PlatformIO e se liberte da terrível IDE do Arduino. Que tal começar a digitar e apertar Ctrl+Space para ver as opções? Ou Ctrl+/ para comentar um bloco de código selecionado? Experimente!

blynk bridge

Pronto,  mais um passo com Blynk. Espero que tenha gostado da singela dica e até a próxima!

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Um comentário em “Blynk Bridge – comunicação entre tokens diferentes

Fechado para comentários.