Monitor de Temperatura com Raspberry via Telegram – Montagem e Programação

Sharing is caring!

O esquemático do projeto Telegram Bot com Raspberry Pi 3 pode ser visto na figura abaixo:

Agora vamos criar o nosso programa executável. Para criar o arquivo, digite o seguinte comando dentro do terminal:

sudo nano <nome_arquivo>.py

Agora, cole o código abaixo diretamente no terminal:

import sys
import time
import random
import datetime
import telepot
import time
import board
import busio
import adafruit_am2320
import picamera

 

# Comandos que vem do software Telegram e sao processados pela Raspberry PI
 
def handle(msg):
    # pega o id do usaruio que mandou mensagem e qual comando
    chat_id = msg['chat']['id']
    command = msg['text']
    
    # usado para jogar no terminal o comando dado
    print ('Comando Informado: %s' % command)

    # se comand for temperatura 
    if command == 'Temperatura':
    
        # abre a porta e pega os dados da temperatura
        i2c = busio.I2C(board.SCL, board.SDA)
        am = adafruit_am2320.AM2320(i2c)
        # joga na janela a temperatura
        print("Temperatura: ", am.temperature)
        # joga no telegram(ainda nao envia) a temperatura
        bot.sendMessage(chat_id=chat_id, text=am.temperature)

    # se comand for Umidade
    elif command =='Umidade':
        # abre a porta e pega os dados da umidade
        i2c = busio.I2C(board.SCL, board.SDA)
        am = adafruit_am2320.AM2320(i2c)
        # joga na janela a umidade
        print("Umidade: ", am.relative_humidity)
        # joga no telegram(ainda nao envia) a umidade
        bot.sendMessage(chat_id=chat_id, text=am.relative_humidity)

    # se comand for foto 
    elif command =='Foto':


        if chat_id == <id do usuario> :
            
           #Habilita disparo da camera através da Raspberry PI
           camera = picamera.PiCamera()
           camera.capture('./Capture.jpg')
           camera.close()        
           bot.sendPhoto(chat_id=chat_id, photo=open('./Capture.jpg', 'rb'))
        else:
           bot.sendMessage(chat_id=chat_id, text="Usuario não permitido para fotos")

    else:
        bot.sendMessage(chat_id=chat_id, text="Digite Umidade ou Temperatura ou Foto")

        
# Permite que os comandos digitados no telegram sejam enviados a Raspberry PI
bot = telepot.Bot('<token>')
bot.message_loop(handle)

#fica esperando comando no telegram de novo
print('Esperando Comando...')

# loop infinito para aplciacao ficar sempre rodando
while 1:
    time.sleep(10)

Agora pressione Ctrl+X e depois Y (Inglês) ou S (Português) para sair e salvar o arquivo.

Pronto! O arquivo foi gerado, é possível executa-lo a qualquer momento, utilizando o seguinte comando:?

python3 <nome_arquivo>.py

Abra novamente o software Telegram e clique na página de comando criada anteriormente “t.me/username_bot.”

Abaixo a tela no telegram do funcionamento:

<<< Post Anterior: Configuração

Wagner Salvi

Trabalho há mais de 20 anos com Desenvolvimento de Sistemas, incluindo ERP’s (Enterprise Resource Planning). Atualmente atuo como Gerente de Produtos coordenando a equipe de desenvolvimento em implementações de novas funcionalidades e tecnologias. Neste momento estudando sobre novas tecnologias iOT usando RaspBerry, desenvolvimento para plataformas móveis, como Android.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.