- Materiais requisitados:
- Diagrama de circuito:
- Programa Raspberry Python:
- Controlando LEDs com Raspberry Pi e bot Telegram:
Telegram é um aplicativo ideal para combinar com Raspberry Pi para todos os nossos fins de controle móvel. Ele tem um suporte de desenvolvedor muito bom e muitos recursos estão sendo planejados para serem lançados em breve para melhorar o desempenho dos Bots do Telegram. Em nosso tutorial anterior, aprendemos como podemos configurar um bot de telegrama para o raspberry pi e também aprendemos a ter um bate-papo com ele e compartilhar imagens, documentos e arquivos de áudio.
Agora, prosseguiremos para a próxima etapa aprendendo como podemos controlar os pinos GPIO em Raspberry Pins usando o Telegram, para que possamos fornecer algum suporte de hardware para nosso bot. Neste tutorial, conectaremos quatro LEDs aos pinos GPIO do Raspberry Pi e os alternaremos usando linguagem natural (como em bate-papo) do Telegram. Parece interessante, certo? Vamos começar.
Materiais requisitados:
- Quatro LEDs (qualquer cor)
- Raspberry Pi (com conexão à Internet)
- Tábua de pão
- Fios de conexão
Pré-requisitos:
Antes de prosseguir com o tutorial, certifique-se de que seu Raspberry Pi está conectado à Internet e de que você pode executar programas python em seu Pi. Leia também o tutorial anterior para saber como configurar o bot do Telegram com Raspberry Pi Pi, já que presumo que você esteja familiarizado com essas coisas para prosseguir com o projeto.
Se você é novo no Raspberry Pi, siga nosso artigo de introdução ao Raspberry Pi e outros tutoriais do Raspberry Pi.
Diagrama de circuito:
O diagrama de circuito para controlar LEDs usando Raspberry Pi e Telegram Android App nada mais é do que quatro LEDs e alguns fios de conexão. Não precisaremos dos resistores limitadores de corrente, pois os pinos GPIO do Raspberry Pi funcionam em 3.3V TTL. Siga o circuito abaixo e conecte seu LED.
A tabela a seguir o ajudará a determinar o número pin e o número GPIO para a conexão de quatro leds.
Terminal Led |
Número do PIN |
Número GPIO |
Ânodo verde |
Pino 31 |
GPIO 6 |
Ânodo vermelho |
Pino 33 |
GPIO 13 |
Ânodo amarelo |
Pino 35 |
GPIO 19 |
Ânodo branco |
Pin 37 |
GPIO 26 |
Cátodo de todos os quatro |
Pin 39 |
Terra |
Abaixo está o diagrama de circuito no qual quatro LEDs são conectados de acordo com a Tabela fornecida acima:
Depois de fazer as conexões, a configuração do hardware deve ser semelhante a esta abaixo.
Programa Raspberry Python:
Assim que o hardware estiver pronto, podemos prosseguir com o Programa Python. Neste programa, temos que ler os dados (mensagem) enviados do bot do Telegram e alternar o LED de acordo. Para torná-lo mais natural, em vez de verificar cada frase e codificá-las em nosso programa, podemos verificar as palavras e proceder de acordo.
Portanto, o programa verifica principalmente se há duas palavras, elas estão ativadas e desativadas. Depois de detectar qualquer uma dessas duas palavras, ele procurará outras palavras-chave como branco, amarelo, verde e vermelho. O respectivo LED de cor será alternado apenas se a palavra for detectada. Também atualizaremos uma string para as palavras detectadas para enviar uma mensagem de volta ao bot de telegrama.
O programa completo pode ser encontrado no final desta página; logo abaixo, expliquei o programa, dividindo-o em pequenos juncos significativos.
Para que este programa funcione, precisamos do telepot baixado e importado em nosso Raspberry Pi. Em nosso tutorial anterior, já baixamos o teletransporte dentro de nosso Raspberry Pi, então agora só temos que importá-lo em nosso programa junto com a biblioteca GPIO, conforme mostrado abaixo.
importar RPi.GPIO como GPIO importar telepot de telepot.loop importar MessageLoop
Estaremos controlando as luzes LED usando este programa e as cores dos LEDs serão Branco, Amarelo, Vermelho e Verde. Eles são conectados aos pinos mostrados no diagrama de circuito; vamos definir os nomes dos pinos para esses LEDs com base em sua cor para que sejam usados no programa.
branco = 26 amarelo = 19 vermelho = 13 verde = 6
A próxima etapa seria definir todos esses pinos de LED como pinos de saída e defini-los como desligados por padrão usando as linhas abaixo.
#LED Branco GPIO.setup (branco, GPIO.OUT) GPIO.output (branco, 0) # Desliga inicialmente #LED Amarelo GPIO.setup (amarelo, GPIO.OUT) GPIO.output (amarelo, 0) # Desliga inicialmente #LED Vermelho GPIO.setup (vermelho, GPIO.OUT) GPIO.output (vermelho, 0) # Desliga inicialmente #LED verde GPIO.setup (verde, GPIO.OUT) GPIO.output (verde, 0) # Desliga inicialmente
Como aprendemos em nosso tutorial anterior, todas as ações que devem ser feitas pelo bot Raspberry serão definidas dentro da ação da função. Aqui temos que fazer o bot ouvir a mensagem enviada do celular, compará-la com algumas palavras-chave e alternar o LED de acordo.
Para cada mensagem que enviamos do celular, haverá um id de chat e um comando. Este id de bate-papo é exigido pelo programa para responder ao remetente. Assim, salvamos o id do bate-papo e a mensagem conforme mostrado abaixo.
chat_id = msg command = msg
Agora, tudo o que enviarmos do telefone será salvo como string no comando variável. Então, tudo o que temos que fazer é verificar as palavras-chave nesta variável. Python tem um comando que facilita as coisas aqui. Por exemplo, se tivermos que verificar se a palavra “on” está presente na string armazenada na variável de comando , podemos simplesmente usar a linha abaixo.
if 'on' no comando:
Da mesma forma, verificamos todas as palavras-chave, assim que recebermos um “on”, passamos a verificar a cor que o usuário mencionou. Isso também é feito pelos mesmos comandos, comparando as mesmas palavras-chave. Também atualizamos uma string chamada mensagem que pode ser respondida ao usuário como uma mensagem de status.
if 'on' no comando: mensagem = "Ativado" if 'branco' no comando: mensagem = mensagem + "branco" GPIO.output (branco, 1) se 'amarelo' no comando: mensagem = mensagem + GPIO "amarelo".output (amarelo, 1) se 'vermelho' no comando: mensagem = mensagem + "vermelho" GPIO.output (vermelho, 1) se 'verde' no comando: mensagem = mensagem + "verde" GPIO.output (verde, 1) se 'tudo' no comando: mensagem = mensagem + "tudo" GPIO.output (branco, 1) GPIO.output (amarelo, 1) GPIO.output (vermelho, 1) GPIO.output (verde, 1) mensagem = mensagem + "luz (s)" telegram_bot.sendMessage (chat_id, mensagem)
Conforme mostrado acima, procuramos palavras-chave como 'verde', 'branco', 'vermelho', 'amarelo' e 'tudo' e 'Ligado' apenas aquele LED específico. Assim que o trabalho estiver concluído, enviamos uma mensagem de volta ao usuário sobre o que acabou de acontecer. O mesmo método pode ser usado para desligar bem as luzes.
if 'off' no comando: mensagem = "Desligado" if 'branco' no comando: mensagem = mensagem + "branco" GPIO.output (branco, 0) se 'amarelo' no comando: mensagem = mensagem + GPIO "amarelo".output (amarelo, 0) se 'vermelho' no comando: mensagem = mensagem + "vermelho" GPIO.output (vermelho, 0) se 'verde' no comando: mensagem = mensagem + "verde" GPIO.output (verde, 0) se 'all' no comando: mensagem = mensagem + "all" GPIO.output (branco, 0) GPIO.output (amarelo, 0) GPIO.output (vermelho, 0) GPIO.output (verde, 0) mensagem = mensagem + "luz (s)" telegram_bot.sendMessage (chat_id, mensagem)
Controlando LEDs com Raspberry Pi e bot Telegram:
Conecte seus LEDs e inicie seu programa em python. Certifique-se de ter alterado o endereço do Token do seu bot. E comece a digitar os comandos que desejar. Por exemplo, para ligar a luz vermelha e amarela, você pode usar qualquer um dos seguintes comandos.
1. Ligue a luz vermelha e amarela
2. Ligue as cores vermelha e amarela à direita
3. Em vermelho e amarelo
4.Please colocar no amarelo e vermelho luz
Como você pode ver, o bot procura apenas as palavras-chave e irá ignorar as outras palavras da frase, desta forma você pode falar com ele naturalmente. O funcionamento completo do projeto pode ser encontrado no Vídeo fornecido no final desta página.
Continue! brinque com seu projeto e divirta-se. Você pode levá-lo a um nível totalmente novo agora. Com ambos os tutoriais combinados, temos o poder de controlar qualquer hardware do nosso smartphone em qualquer lugar do mundo e também obter entradas / resultados do nosso Raspberry Pi em forma de mensagem, áudio, imagem e até mesmo como documento. Se você substituir os LEDs por relés e aparelhos AC, então poderia ser um Smart Phone controlado por Home Automation. Então, use sua criatividade e construa seus próprios projetos legais…
Espero que você tenha gostado do projeto e de construir algo semelhante. Deixe-me saber se você tiver qualquer problema através da seção de comentários e terei todo o gosto em ajudá-lo. Também compartilhe sua ideia legal comigo e deixe-nos ver o que podemos construir.