Raspberry Pi sempre foi divertido e fácil de construir projetos. Sua poderosa arquitetura ARM e sistema operacional baseado em Linux de código aberto nos ajudou muito a colocar nossos projetos online em nenhum momento. Neste tutorial, aprenderemos outra maneira interessante de compartilhar dados (arquivos / fotos / vídeos / áudios / texto) entre o Raspberry Pi e nosso telefone celular por meio de um aplicativo de bate-papo popular chamado Telegram.
Para quem é novo no Telegram, é um aplicativo baseado em chat disponível na play store para Android (também disponível para Iphone e windows) muito semelhante ao Whatsapp. Tem mais de 100 milhões de downloads (como em 5-10-2017) na Play Store e as pessoas afirmam que é mais rápido e mais funcional do que o Whatsapp (dedos cruzados). Um recurso especial desse aplicativo é que ele oferece suporte a bots. Isso significa que este aplicativo de smartphone não pode ser usado apenas por humanos, mas também por máquinas. No nosso caso, a máquina será Raspberry Pi. Depois de treinar o Raspberry Pi sobre como agir como um bot, qualquer pessoa (se você torná-lo público) pode conversar com o seu Raspberry Pi como se fosse uma pessoa normal e até mesmo compartilhar fotos, imagens, documentos e arquivos de áudio. Você pode até treiná-lo para ser seu próprio assistente pessoal, parece legal, certo? Vamos aprender como construir umRobô de telegrama pi de framboesa.
Materiais requisitados:
- Qualquer Raspberry Pi conectado à Internet
- Um aplicativo Telegram em execução móvel.
Não há muito hardware envolvido neste projeto, então relaxe em sua cadeira com seu Pi e siga as etapas abaixo. Se você é novo no Raspberry Pi, siga nosso artigo de introdução ao Raspberry Pi e outros tutoriais do Raspberry Pi.
Etapa 1: Instalando o Telegram no seu celular
O primeiro passo seria instalar o Telegram no seu celular. O Telegram está disponível para Android, IOS e até mesmo para a plataforma Windows, então vá em frente e baixe seu aplicativo Telegram. Assim como em todos os aplicativos, haverá um pequeno procedimento de inscrição para começar a usar o Telegram, continue até chegar à tela inicial.
Passo 2: Fale com o pai do robô
A próxima etapa seria solicitar ao Pai do Bot que crie um novo Bot para nós. No canto superior direito da tela inicial haverá um ícone de pesquisa, clique nele para pesquisar o nome “botfather”. Botfather é um Bot por si só, ele irá guiá-lo para criar um novo bot para você. Clique em iniciar e selecione / newbot como mostrado na imagem abaixo. Agora, o bot solicitará alguns detalhes como o nome do seu bot e o nome de usuário do bot. Preencha esses detalhes e lembre-se do nome de usuário, pois precisaremos dele no futuro.
Etapa 3: Obtendo seu token para acesso
Nomeei bot como circuitdigest e o nome de usuário como circuitdigestBot. Após esse processo, o botfather lhe dará um Token para acesso. É como a senha do seu bot, as pessoas podem controlar o programa do seu bot usando esta chave de token. Portanto, mantenha-o seguro e não o compartilhe com ninguém. Depois de receber essa chave de token, é hora de passar para o Raspberry Pi.
Etapa 4: Telepot para instalar o Telegram no Raspberry Pi
O uso do Telegram Bot no Raspberry Pi é possível graças ao pacote python chamado Telepot. Precisamos instalar este pacote no Raspberry Pi usando os seguintes comandos no terminal Lx
sudo apt-get install python-pip sudo pip install telepot
Assim que o Telepot for importado para o Raspberry, podemos usar este pacote em nosso programa python para nos comunicarmos com nosso Telegram Bot.
Etapa 5: Programando seu Raspberry Pi
O bot que acabamos de criar no Telegram é como um bebê, ele não pode fazer nada sozinho, a menos que ensinemos o que e como fazer as coisas. Este ensino pode ser feito por meio de Raspberry Pi e script Python. Neste tutorial, programei o bot para realizar algumas ações básicas, como enviar uma mensagem, foto, áudio e documento. Então, quando você diz um determinado comando ele irá responder com uma determinada ação o comando e a ação estão listados na tabela abaixo
Comando do Telegram |
Resposta de Raspberry Pi |
/Oi |
Responde com uma string “Oi! CircuitDigest ” |
/Tempo |
Respostas com a hora atual |
/logotipo |
Respostas com uma imagem (logotipo da CircuitDigest) |
/Arquivo |
Respostas com um arquivo (que contém o programa atual) |
/ audio |
Respostas com um arquivo de áudio de demonstração |
O programa completo para realizar as ações acima é fornecido no final desta página. Mas logo abaixo, eu expliquei os trechos importantes do programa para ajudá-lo a entender como o programa funciona.
O primeiro passo é importar todas as bibliotecas, aqui obviamente precisaremos da biblioteca de teletransporte para usar o bot do Telegram. Também utilizamos a biblioteca de tempo e data para ler a hora atual do Raspberry pi. Em seguida, criamos um objeto agora no qual o valor é armazenado.
import time, datetime import telepot from telepot.loop import MessageLoop now = datetime.datetime.now ()
A próxima etapa é criar uma função para realizar ações com base nos comandos de entrada do aplicativo Telegram no Mobile. Aqui, o nome da função é ação. É dentro dessa função que o bot ganha vida. Nosso bot não pode iniciar uma conversa por conta própria, ele só pode responder se perguntarmos algo. Portanto, cada vez que perguntamos algo, haverá um id de bate-papo. Este id de chat é algo semelhante a um endereço, apenas usando este id de chat um bot pode nos responder. Portanto, o primeiro passo é ler o id do bate-papo e a mensagem que ele está tentando nos dizer. Também imprimimos a mensagem recebida para fins de depuração.
ação def (msg): chat_id = msg command = msg print 'Recebido:% s'% comando
Mais abaixo dentro da função, comparamos este comando com um texto predefinido e executamos tarefas específicas. Este primeiro comando será / hi ao qual respondemos “Oi! CircuitDigest ”
if command == '/ hi': telegram_bot.sendMessage (chat_id, str ("Hi! CircuitDigest"))
O próximo comando será / time , ao qual respondemos a hora atual. Já temos a hora e a data agora, aqui simplesmente divida com base na hora e minuto e adicione-o usando a função str .
comando elif == '/ time': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
O próximo comando será / logo , para o qual o bot buscará uma imagem de uma url e a enviará para nós. Uma imagem pode ser enviada de um URL ou do disco rígido. Acabei de usar o URL que exibe o logotipo da CircuitDigest.
comando elif == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
O próximo comando será / file , que enviará o arquivo denominado Aisha.py do disco rígido. Você pode enviar qualquer arquivo que desejar alterando o endereço do diretório
comando elif == '/ arquivo': telegram_bot.sendDocument (chat_id, document = open ('/ home / pi / Aisha.py'))
O último comando será / audio . Isso pode enviar qualquer arquivo mp3 do disco rígido, acabei de usar um arquivo de áudio chamado test.mp3 como uma demonstração aqui
comando elif == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
Ok, agora vem a etapa mais importante, é aqui que damos acesso ao nosso bot do Telegram ao script Python. Aqui, nomeamos o bot como telegram_bot e atribuímos a ele o endereço de token fornecido por nosso botfather na etapa 3. Na linha abaixo, removi os últimos dígitos do meu token por questão de privacidade. Também usamos o print get me para exibir os detalhes do Bot na tela do shell, isso nos ajudará a perceber que as coisas estão funcionando.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') print (telegram_bot.getMe ())
Espero que você tenha entendido como o programa funciona, agora vamos passar para a próxima etapa.
Etapa 6: executando o programa em seu Raspberry Pi
Como dito anteriormente o programa completo é fornecido no final desta página, você também pode baixar o mesmo aqui. Depois de abrir o código, certifique-se de alterar o endereço de token do programa para o seu endereço de token.
Agora execute o código python e você deve ver os detalhes do seu bot na janela do shell como este
Aqui, meu nome de usuário de bot é circuitdigestBot. Se você conseguir o nome do seu bot aqui, significa que está tudo bem.
Depois de ver “ instalado e funcionando ”, significa que seu bot está pronto para a ação e agora pode responder aos seus comandos.
Etapa 7: Aproveitando o resultado
Agora, tudo o que resta é verificar o quão bem o seu bot está respondendo ao seu programa. Procure pelo nome do seu bot, no meu caso é “circuitdigestBot”. Procure por nome de usuário e não por nome de bot, seu nome de usuário deve terminar com bot.
Depois de abrir seu bot, clique em iniciar e digite qualquer comando como / hi, / time, / file, / logo ou / audio e você deve ser respondido de acordo.
Você pode usar o script de shell para ver a que seu script está respondendo no momento. O trabalho completo pode ser encontrado no vídeo fornecido no final desta página.
Etapa 8: Dê-me mais cinco
Espero que você tenha entendido o tutorial e agora seja capaz de criar este bot de telegrama Raspberry pi e se comunicar com Raspberry Pi usando o aplicativo Telegram. Ai de mim! Se você tiver qualquer problema, deixe-me saber através da seção de comentários e tentarei entrar em contato com você. Além disso, diga-me se gostou deste projeto ou o que gostaria que eu construísse usando isso em projetos futuros.
Além disso, em nosso próximo tutorial. Vamos deixar isso mais legal mudando a maneira como enviamos comandos e para algo mais relacionado ao hardware no Raspberry Pi.