Índice:
- Suprimentos
- Etapa 1: Preparando o Hardware
- Etapa 2: Instalando Cloud4RPi
- Etapa 3: Conectando o Sensor
- Etapa 4: envio de leituras de sensor para a nuvem
- Etapa 5: gráficos e alarmes
Vídeo: Umidade na nuvem: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
O verão está chegando, e quem não tem ar-condicionado deve estar preparado para controlar a atmosfera dentro de casa manualmente. Neste post, estou descrevendo a forma moderna de medir os parâmetros mais importantes para o conforto humano: temperatura e umidade. Esses dados coletados são enviados para a nuvem e processados lá.
Suprimentos
Estou usando uma placa Raspberry Pi e o sensor DHT22. Você pode fazer o mesmo em qualquer computador que tenha Internet, GPIO e Python. O sensor DHT11 mais barato também funciona bem.
Etapa 1: Preparando o Hardware
Vamos começar do início, já que eu não usei meu Raspberry Pi por um longo tempo.
Nós vamos precisar:
- Placa Raspberry Pi (ou outra plataforma orientada para IoT).
- Cartão SD ou microSD (dependendo da plataforma).
- 5V / 1A via cabo micro-USB. LAN, que fornece conexão com a Internet.
- Monitor HDMI, monitor RCA ou porta UART (para habilitar SSH).
O primeiro passo é baixar o Raspbian. Eu escolhi a versão Lite, pois vou usar SSH em vez de display.
As coisas mudaram desde a última vez que fiz: agora existe um ótimo software de gravação chamado Etcher, que funciona perfeitamente e tem um design deslumbrante.
Depois que a gravação da imagem foi concluída, inseri o cartão SD no meu Pi, conectei os cabos LAN e de alimentação e, depois de um tempo, meu roteador registrou o novo dispositivo.
Excelente! Vamos continuar e SSH para isso.
Segurança está bem, eu gosto, mas isso torna as coisas um pouco mais difíceis. Vou usar o adaptador UART-USB para acessar o shell e habilitar o SSH …
Usar um display em vez do UART torna isso muito mais fácil.
Depois de reiniciar, finalmente estou dentro.
Comecemos pelo princípio, vamos atualizar:
sudo apt update && sudo apt upgrade -y
Agora vamos conectar este novo dispositivo à nuvem.
Etapa 2: Instalando Cloud4RPi
Decidi experimentar a plataforma de nuvem chamada Cloud4RPi, que é projetada para IoT.
De acordo com a documentação, precisamos dos seguintes pacotes para fazê-lo funcionar:
sudo apt install git python3 python3-pip -y
A biblioteca cliente pode ser instalada em um único comando:
sudo pip3 install cloud4rpi
Agora precisamos de algum código de amostra.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
O script executável é control.py.
Precisamos de um token, que permite ao Cloud4RPi vincular os dispositivos às contas. Para obter um, crie uma conta em cloud4rpi.io e clique no botão Novo dispositivo nesta página. Substitua a string _YOUR_DEVICE_TOKEN_ no arquivo control.py pelo token do seu dispositivo e salve o arquivo. Agora estamos prontos para o primeiro lançamento.
sudo python3 control.py
Abra a página do dispositivo e verifique se os dados estão lá.
Agora vamos passar para os dados do mundo real.
Etapa 3: Conectando o Sensor
Nós vamos precisar:
- Sensor de umidade DHT22 ou DHT11
- Resistência de pull-up (5-10 KΩ)
- WiresThe
O sensor DHT22 mede temperatura e umidade simultaneamente. O protocolo de comunicação não é padronizado, então não precisamos habilitá-lo no raspi-config - um simples pino GPIO é mais do que suficiente.
Para adquirir os dados, usarei a ótima biblioteca da Adafruit para sensores DHT, mas pode não funcionar como está. Certa vez, encontrei um estranho atraso constante no código, que não funcionava para o meu hardware e, depois de dois anos, minha solicitação de pull ainda estava pendente. Também mudei as constantes de detecção de placa porque meu Raspberry Pi 1 com BCM2835 foi surpreendentemente detectado como Raspberry Pi 3. Gostaria que fosse verdade … Portanto, recomendo usar meu garfo. Se você tiver algum problema com ele, tente o repositório original, talvez funcione para alguém, mas eu não sou um deles.
git clone https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Como a biblioteca é escrita em C, ela requer compilação, então você precisa dos pacotes build-essential e python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Enquanto os pacotes estão sendo instalados, conecte o DHT22 conforme mostrado na imagem.
E teste:
cd ~ python -c "importar Adafruit_DHT como d; imprimir d.read_retry (d. DHT22, 4)"
Se você vir algo como (39.20000076293945, 22.600000381469727), você deve saber que esta é a umidade em porcentagens e a temperatura em Celsius.
Agora, vamos montar tudo!
Etapa 4: envio de leituras de sensor para a nuvem
Vou usar o control.py como base e adicionar a interação DHT22 nele.
cp cloud4rpi-raspberrypi-python / control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python / rpi.py./rpi.pyvi cloud_dht22.py
Remova o código de amostra como na imagem acima.
Como o DHT22 retorna temperatura e umidade em uma única chamada, irei armazená-los globalmente e atualizar apenas uma vez em uma solicitação, supondo que o atraso entre eles seja de mais de 10 segundos. Considere o seguinte código, que adquire os dados DHT22:
importar Adafruit_DHT
temp, hum = Nenhum, Nenhum
last_update = time.time () - 20
def update_data ():
last_update, hum, temp global if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time ()
def get_t ():
update_data () return round (temp, 2) se temp não for None else None def get_h (): update_data () return round (hum, 2) se hum não for None else None
Insira este código após as importações existentes e edite a seção de variáveis para que ela use as novas funções:
variáveis = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'tipo': 'numérico', 'vincular': cpu_temp}}
Se você achar que as manipulações são confusas, pegue a versão final deste arquivo. Pressione o botão vermelho para iniciar a transferência de dados:
Então você pode verificar a página do dispositivo.
python3 cloud_dht22.py
Então você pode verificar a página do dispositivo.
Pode deixar como está, mas prefiro ter um serviço para tudo. Isso garante que o script esteja sempre em execução. Criar um serviço com o script totalmente automatizado que você já possui no diretório cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Iniciando o serviço:
sudo service cloud4rpi start
E verificando:
pi @ raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service - Cloud4RPi daemon Carregado: carregado (/lib/systemd/system/cloud4rpi.service; habilitado) Ativo: ativo (em execução) desde Quarta-feira 5-17 20: 22: 48 UTC; 1min atrás PID principal: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560 / usr / bin / python /home/pi/cloud_dht22.py
17 de maio 20:22:51 raspberrypi python [560]: Publicando iot-hub / messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]}
17 de maio 20:22:53 raspberrypi python [560]: Publicando iot-hub / messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 de maio 20: 22:53 raspberrypi python [560]: Publicando iot-hub / messages: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Se tudo funcionar como esperado, podemos continuar e usar os recursos da plataforma Cloud4RPi para manipular os dados.
Etapa 5: gráficos e alarmes
Em primeiro lugar, vamos representar graficamente as variáveis para ver como elas mudam. Isso pode ser feito adicionando um novo painel de controle e colocando nele os gráficos necessários.
Outra coisa que podemos fazer aqui é definir um Alerta. Este recurso permite que você configure o intervalo seguro para uma variável. Assim que o intervalo é ultrapassado, ele envia uma notificação por e-mail. Na página de edição do Painel de controle, você pode alternar para Alertas e configurar um.
Em seguida, a umidade do meu quarto começou a diminuir rapidamente sem nenhum motivo perceptível, e o alarme logo seguiu.
Você pode usar o Cloud4RPi gratuitamente com qualquer hardware capaz de executar Python. Quanto a mim, agora sempre sei quando devo ligar o umidificador de ar, e posso até conectá-lo a um relé para controle remoto via Cloud4RPi. Estou preparado para o calor! Bem-vindo verão!
Com o Cloud4RPi, você pode controlar seu Raspberry Pi e outros dispositivos IoT remotamente em tempo real. Visite nosso site e conecte dispositivos ilimitados gratuitamente.
Recomendado:
Nuvem de cores controlada por aplicativo: 7 etapas (com imagens)
App Controlled Color Cloud: Olá, neste instrutível, mostro como construir uma iluminação ambiente a partir de uma grade de caminho de cascalho. Tudo pode ser controlado via WLAN com um app.https: //youtu.be/NQPSnQKSuoUTHavia alguns problemas com o projeto. Mas no final você pode fazer sagacidade
Automatizando uma estufa com LoRa! (Parte 1) -- Sensores (temperatura, umidade, umidade do solo): 5 etapas
Automatizando uma estufa com LoRa! (Parte 1) || Sensores (Temperatura, Umidade, Umidade do Solo): Neste projeto irei mostrar como automatizei uma estufa. Isso significa que vou mostrar como construí a estufa e como conectei a eletrônica de energia e automação. Além disso, mostrarei como programar uma placa Arduino que usa L
Registro de temperatura e umidade do Raspberry PI, estação climática na nuvem, estatísticas de wi-fi e móveis: 6 etapas
Registro de temperatura e umidade do Raspberry PI, estação climática em nuvem, estatísticas de wi-fi e móveis: Com o dispositivo Raspberry PI, você pode registrar dados de temperatura e umidade externos, na sala, estufa, laboratório, sala de resfriamento ou em qualquer outro lugar totalmente gratuito. Este exemplo usaremos para registrar a temperatura e a umidade. O dispositivo será conectado à internet v
Monitor de Umidade sem fio (ESP8266 + Sensor de Umidade): 5 etapas
Monitor de Umidade sem fio (ESP8266 + Sensor de Umidade): compro salsa em maconha e, na maior parte do dia, o solo estava seco. Então eu decido fazer esse projeto, sobre detectar a umidade do solo no vaso com salsa, para verificar, quando preciso deitar terra com água. Acho que esse sensor (sensor capacitivo de umidade v1.2) é bom porque
Como conectar o sensor de umidade do solo e o ESP8266 à nuvem AskSensors IoT: 10 etapas
Como conectar o sensor de umidade do solo e ESP8266 à nuvem AskSensors IoT: Este instrutível mostra como conectar seu sensor de umidade do solo e ESP8266 à nuvem IoT. Para este projeto, usaremos um módulo WiFi MCU ESP8266 e um sensor de umidade do solo que mede o conteúdo volumétrico de água dentro do