Sensor de Presença Integrado Com Bot do Telegram

Neste artigo iremos utilizar uma biblioteca, compatível com Arduino, que possibilita a comunicação de maneira fácil e rápida de um microcontrolador(no caso deste artigo o ESP32) com um robô(ou bot) criado com o aplicativo de mensagens Telegram. A ideia é utilizar um sensor de presença que através de uma interrupção configurado no ESP32, informa ao microcontrolador a detecção de movimento e o mesmo comunica-se, por uma conexão com a internet, com o bot e a mensagem pode ser visualizada pelo usuário.

Telegram

O Telegram é um aplicativo de mensagens disponível para Android e IOS. Para prosseguir, você pode baixar o aplicativo na loja de aplicativos do seu sistema operacional e criar uma conta. Uma funcionalidade bastante interessante presente no Telegram é a possibilidade de criação e programação de Bots que podem realizar diversas tarefas como: informar valor de algum ativo na bolsa de valores, enviar lembretes, Tweetar mensagens e etc…

O Bot utilizado neste artigo apenas replicará a mensagem recebida pelo microcontrolador. A seguir apresentaremos o procedimento para a criação e configuração do Bot utilizado.

Criação do Bot do Telegram

Os Bots são criados a partir de uma ferramenta chamada botfather. Após abrir o aplicativo, utilize a ferramenta de busca para encontrar o “@BotFather”.

bot do Telegram
Figura 1: Busca pelo @botfather no aplicativo do telegram.

A seguir envie o comando “/newbot”, na próxima mensagem forneça o nome do Bot e depois escolha um username para o bot(este nome deve necessariamente terminar com “bot”).

bot do Telegram
Figura 2: Configurando um nome e um “username” para o bot.

Após a criação um token será disponibilizado, salve-o, pois ele será necessário para a inicialização da biblioteca que fará a comunicação com o Bot. A figura a seguir ilustra onde localizar o Token gerado.

bot do Telegram
Figura 3: Token do bot.

Pronto! Seu Bot já está criado e pronto para ser utilizado. A seguir apresentaremos o microcontrolador utilizado para a comunicação com o Bot.

ESP32/8266 + Arduino IDE

A biblioteca utilizada para a comunicação com o Bot é compatível com o Arduino IDE e foi desenvolvida para microcontroladores das famílias ESP32 e ESP8266. Para que seja possível a programação dessas famílias de microcontroladores pelo ambiente Arduino, algumas configurações são necessárias, para isto basta seguir a sessão “Instalação do pacote ESP32 para Arduino” deste artigo do Embarcados: https://embarcados.com.br/franzininho-wifi-primeiros-passo-na-arduino-ide/ .

Para este tutorial utilizaremos a placa de desenvolvimento DO IT DEVKIT WROOVER.

Figura 4: Módulo ESP32 utilizado.


Sensor de Presença

Para a detecção de movimento utilizaremos o módulo HC-SR501 que utiliza um sensor PIR, capaz de detectar a variação de emissão de luz infravermelha emitida por um corpo.


Figura 5: Módulo sensor de movimento(HC-SR501) utilizado

O módulo pode ser alimentado com 5V e gera uma saída em 3V3, portanto compatível com o nível lógico utilizado pelo ESP32/ESP8266(3V3).

Diagrama das Conexões

O circuito utilizado é relativamente simples, a placa de desenvolvimento será alimentada pela USB(5V) e o pino “Vin” irá alimentar o módulo HC-SR501 e sua saída será ligada ao pino 27 da placa que será configurado como interrupção.

Figura 6: Esquema de conexões entre o Sensor de presença e o módulo ESP32.

Firmware

A seguir serão descritas as bibliotecas necessárias para o correto funcionamento do código e o próprio código explicado linha a linha.

Bibliotecas

A biblioteca utilizada para o gerenciamento do Bot pode ser baixada pelo link https://github.com/shurillu/CTBot ou pelo gerenciador de bibliotecas da própria Arduino IDE, como indicado na próxima imagem.

Figura 7: Download da biblioteca CTBot pelo gerenciador de bibliotecas da Arduino IDE.

Outra biblioteca necessária para o correto funcionamento da aplicação é a ArduinoJson que pode ser baixada pelo link https://github.com/bblanchon/ArduinoJson ou pelo gerenciador de bibliotecas da Arduino IDE. Neste tutorial está sendo utilizada a versão 5.13.5 desta biblioteca, mas como indicado na descrição da biblioteca “CTBot” ela possui suporte tanto para a versão 5 quanto para a versão 6 da ArduinoJson.

Figura 8: Download da biblioteca JSon pelo gerenciador de bibliotecas da Arduino IDE.

Código

Em linhas gerais o código apresentado envia mensagens ao Bot quando uma interrupção é detectada, indicando a presença ou movimento no cômodo. O código-fonte completo segue abaixo, leia com atenção os comentários para o completo entendimento do mesmo.

Saiba mais

Criando um bot com Telegram na Intel Edison

Dialogflow – Plataforma para desenvolvimento de ChatBots

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Home » Arduino » Sensor de Presença Integrado Com Bot do Telegram
Comentários:
Notificações
Notificar
guest
4 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Marcelo
Marcelo
14/07/2022 15:38

Muito bom, rodou aqui legal.
Ele só se comunica com um usuário? Tem como se comunicar com mais?

Breno Carvalho
Breno
03/05/2022 08:11

Muito bom! Uma versão 2 desse projeto poderia ser o uso do ESP32 cam (com Câmera) para envio de foto pro Telegram no momento de detecção do sensor de presença…. Seria ou não seria ótimo!? Parabéns pelo belo trabalho! 🙂

Talvez você goste:
Nenhum resultado encontrado.