Se você é usuário de smartphone, com certeza sabe que um dos aplicativos mais parecidos e famosos do WhatsApp é o Telegram, um cliente de mensagens muito versátil que apresenta várias particularidades como a possibilidade de poder utilizar o mesmo número de telefone em diferentes dispositivos simultaneamente. Justamente graças a este recurso, hoje quero apresentar a vocês um pequeno tutorial com o qual você pode enviar mensagens de texto e até arquivos multimídia para seus contatos a partir de um Raspberry Pi.
Tão ou mais interessante é o facto de podermos configurar o nosso Raspberry Pi para que, antes de um determinado comando recebido pelo Telegram, o nosso cartão possa exercer algum desempenho adicionalEm outras palavras, vamos imaginar que enviamos a palavra «foto»E isso nos dá uma imagem de qualquer cômodo da casa,«luz»Para ligar automaticamente qualquer luz ou«abrir»Para abrir automaticamente o portão da garagem.
Certamente esta funcionalidade adicional chamou sua atenção. Nesse caso, começamos a trabalhar, mas não sem antes dizer que precisaremos de um Raspberry Pi B ou Raspberry Pi B + para realizar o projeto, bem como um cartão microSD Classe 8 de 10 GB com versão mais recente do Raspbian pré-instalado.
Assim que tivermos todos os itens acima, começamos e de um terminal Começamos com a atualização e configuração básica. Certamente haverá muitos usuários que não precisarão disso, mas é melhor fazermos tudo passo a passo e em um bom ritmo para não pular nada. Começamos executando e atualizando os pacotes com:
sudo apt-get update
sudo apt-get upgrade
Continuamos com a instalação e atualização de várias bibliotecas essenciais onde o sistema encontrará todas as bibliotecas que precisamos
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 li-blua5.2-dev libevent-dev make
Mudança do repositório GitHub
git clone --recursive https://github.com/vysheng/td.git && cd tg
./configure
make
Assim que tivermos tudo instalado, é hora de configurar lua, uma linguagem de script poderosa e rápida. A sintaxe é muito simples, em nosso Terminal executamos:
sudo nano /home/pi/tg/action.lua
e adicionamos o seguinte conteúdo:
function on_msg_receive (msg) if msg.out then return end if (msg.text=='ping') then send_msg (msg.from.print_name, 'pong', ok_cb, false) end end function on_our_id (id) end function on_secret_chat_created (peer) end function on_user_update (user) end function on_chat_update (user) end function on_get_difference_end () end function on_binlog_replay_end () end
Com o exposto, teríamos praticamente tudo configurado para que, ao enviarmos o texto «sibilo»Isso retornará«pong".
Nós nos movemos para o diretório tg
cd /home/pi/tg
Executamos a seguinte ordem
bin/telegram-cli -k tg-server.pub -W -s action.lua
Agora é a hora de começar a testar e enviar nosso «sibilo»Ao telegrama, imediatamente a seguir e como podem ver na imagem a resposta é a que esperávamos«pong«. Devemos levar em consideração se usamos letras maiúsculas ou não, pois o sistema é sensível ao seu uso.
Se o que queremos é que, em vez de "pong", nosso Raspberry Pi retorne uma imagem, na função para a qual enviamos a resposta, só teríamos que diga ao sistema para tirar uma foto usando uma câmera previamente instalada e envie para nós.
Link: Instructables
Vendo as possibilidades disso, ocorreu-me que talvez fosse bom poder enviar com segurança qualquer comando para o meu raspberry (ou para qualquer servidor Linux) de telegrama e obter a saída. Até crie apelidos de comando para evitar ter que digitar muito, gerencie usuários que podem fazer o mesmo na mesma máquina para que ninguém possa fazer o que quiser ... etc
Comecei a fazer e hoje publiquei 'Obediência'.
Se alguém quiser brincar e experimentar, vá em frente
https://github.com/GuillermoPena/obedience
Oi Guillermo,
Não tive muito tempo para revisar tudo, mas devo dizer que parece muito bom. Se eu tiver tempo neste final de semana, vou tentar de tudo para ver como funciona.
Muito obrigado pelo seu trabalho!!!
Olá, excelente post, adorei! Só quero saber se existe uma maneira de executar o script .lua automaticamente na inicialização, saudações!