Manual
do
Maker
.
com
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).
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?
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!
Pronto, mais um passo com Blynk. Espero que tenha gostado da singela dica e até a próxima!
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.