Conversando com o Arduino usando Telegram e JavaScript – Best Telegram

Conversando com o Arduino usando Telegram e JavaScript

Como usar a API do Telegram e o Johnny-Five para interagir com seu Arduino.

Em meus experimentos com a tal “internet das coisas” sempre acabei limitado à rede wi-fi de onde eu estava, até que eu vi este belo módulo para lidar com bots do Telegram em Node.js e agora posso me comunicar de qualquer lugar que tenha internet usando o app.

Um breve diálogo com o bot 🙂

Quando fiz uma palestra no Nodebots Day em Porto Alegre demonstrei como criar um servidor e associar rotas específicas a sensores/motores/leds. Isso permite que, ao digitar uma url num browser qualquer (não importa se é notebook, tablet, smartphone, etc), eu me comunique com o Arduino. Logo, algo como

http://192.168.0.3/servo/angle/90

seta o ângulo do servo para a posição de 90 graus. Ou

http://192.168.0.3/buzzer/300

toca a frequência de 300 hertz no buzzer por um tempo pré-determinado no código.

O código desse exemplo está aqui.

Isso é bem útil, mas eu ainda sentia a necessidade de saber o status de um sensor mesmo estando realmente longe dele. Existem alguns serviços e plataformas que resolvem esse problema, mas alguns precisam de hardware especial e eu não queria comprar nada. Eis que numa JavaScript Weekly eu vi o módulo citado acima e: *plim*. Temos uma interface muito simples!

Eu criei um repositório no Github chamado Johnny-Telegram (porque criatividade é mesmo meu forte) com alguns exemplos.

No primeiro caso vamos controlar um led. O código que deve ser rodado para controlar o Arduino é o seguinte:

E assim podemos enviar um comando pelo telegram

call led blink 500

chamando o método ‘blink’ com o parâmetro 500. A resposta deve ser

led.blink called with 500

E agora podemos chamar os métodos que a API do Johnny Five expõe!

No segundo exemplo, adicionaremos um sensor de proximidade:

Já que estamos chamando o método ‘setValue’ sempre que temos dados vindos do sensor, podemos acessar o valor atual com um comando no telegram:

value prox

E teremos a resposta:

18.522

Agora podemos enviar comandos e receber dados!

Mas talvez você queira receber uma mensagem se a distância estiver acima ou abaixo de um valor específico. Daí basta usar ‘majorthan’ ou ‘minorthan’:

majorthan prox 40cm 40 0.5

Esse comando adiciona um gatilho chamado “40cm” que checa se o valor do sensor é maior que 40 a cada 0.5 minutos. A resposta que confirma se foi bem-sucedido é:

added as 40cm

Caso o valor se encaixe nas condições, uma mensagem é enviada:

prox, 40cm = 42.348

Novamente, existem inúmeras outras formas de fazer essa comunicação, mas um módulo em Node para um app que eu uso todo dia me motivou a criar esse repositório! E por mais que pareça bizarro usar JavaScript para isso, lembre-se que até a IBM acha razoável!

Ten articles before and after

How to Create Telegram Bots Using Webhooks – Best Telegram

Mercor Finance Kicks Off Full Launch Month — Introducing Its Official Telegram Bot – Best Telegram

從入門到內行|Telegram 行銷這樣玩更到位!. 只看功能介紹文沒用,要搭配應用案例才有靈感啊~ – Telegram群組

Telegram bot to Track your Expenses in a Spreadsheet – Best Telegram

CURATE IEO, Binance Launchpad, 10k Members on Telegram, Solutions, Roadmap and About – Best Telegram

New Telegram Invite Program: Win Over 10,000 CENTUS ($ 100) – Best Telegram

New Crazy Telegram Update — Payments For Bots, Instant Views Platform & Telesco.pe ? ? – Best Telegram

Weekly Update #8: Voting Module Release, AVT Review, Facebook & Telegram – Best Telegram

data-rh=”true”>Important Notice! Change Of Telegram Group – Ravendex – Medium – Best Telegram

AMA recap from Apollo-X telegram group with REPRESENTDAO – Best Telegram