ESP32

Como enviar dados de um sensor para o Blynk app?

Blynk Bridge | Como enviar dados de um sensor para o blynk

Acabei de ver a necessidade em um grupo. Pode ser que, apesar de relatado nesse outro artigo, ainda não tenha ficado claro como enviar dados de um sensor para o Blynk no smartphone. Por essa razão, resolvi colocar mais um exemplo, bem direto agora, mas não se esqueça que sempre é possível pegar um exemplo no site oficial.

Como o Blynk funciona?

Vamos tentar idealizar o funcionamento do Blynk. Se você tem algum conhecimento de MQTT, fica mais fácil ainda. Aqui no site tem “diversos” artigos a respeito, pode digitar no Google “MQTT dobitaobyte” e divirta-se.

Basicamente a comunicação se dá através de um broker; o broker é apenas um intermediário, um concentrador de mensagens. O que sua MCU manda para lá, pode ser lido por qualquer outro dispositivo ou pelo app do Blynk.

O MQTT é um protocolo M2M (Machine to Machine). A grande sacada do Blynk é que ele usa um token; todos que estiverem usando aquele token, tem acesso às mesmas informações. Daí no app ou no programa da MCU resta manipular essa informação.

Quando se usa Blynk, é possível trabalhar de duas maneiras; o programa da MCU pode enviar periodicamente (através de timer próprio, “sempre”) ou o programa da MCU pode enviar quando for requisitado através de um pino virtual. Vamos ver como o dispositivo ficaria enviando esses dados periodicamente.

Enviar dados de um sensor para o Blynk

Como citado anteriormente, o processo deve acontecer através de um timer, para não ser desconectado do servidor. Abaixo, o código de um sensor bmp280 enviando a temperatura para o broker. No caso, o broker foi configurado localmente, e como vantagem tenho 100.000 de energia para os projetos.

Configurar o app Blynk no Smartphone.

Nesse código, está claro que tem um timer na MCU, enviando dados para os pinos virtuais V0, V1V2. Desse modo, basta adicionar seu widget desejado e na configuração do pino adicionar Virtual e o pino correspondente para ler o dado enviado. E pode ter mais de um widget lendo o mesmo pino virtual, sem problemas:

Como enviar dados de um sensor para o blynk

Os estados dos pinos dos relés são lidos lá na MCU e conforme o resultado uma informação é enviada para o broker no tópico V0 e V2.

No gráfico estão sendo plotados os valores da leitura do sensor. Poderia ser qualquer sensor, poderia ser analógico, não importa. Seu código continua sendo o mesmo, apenas adiciona-se a manipulação do resultado desse sensor.

Talvez o artigo tenha ficado meio parco, mas acredito que seja informação suficiente para tirar aquela primeira dúvida quem vem na cabeça quando não estamos habituados à uma novidade específica.

Até a próxima!