Índice:

Raspberry Pi / DHT11 - Medir umidade e temperatura: 4 etapas
Raspberry Pi / DHT11 - Medir umidade e temperatura: 4 etapas

Vídeo: Raspberry Pi / DHT11 - Medir umidade e temperatura: 4 etapas

Vídeo: Raspberry Pi / DHT11 - Medir umidade e temperatura: 4 etapas
Vídeo: Raspberry Pi + Sensor Temperatura e Umidade (DHT11) [PT-BR] 2024, Julho
Anonim
Raspberry Pi / DHT11 - Medir umidade e temperatura
Raspberry Pi / DHT11 - Medir umidade e temperatura

Eu queria medir a temperatura e a umidade usando meu Raspberry Pi. Escolhi um sensor DHT11 porque é robusto e barato. Configurá-lo também está bem documentado, mas há uma série de armadilhas nas quais eu gostaria de me concentrar.

O DHT11 possui 4 pinos. O mais à esquerda é para Vcc ou pino positivo (+) que é conectado ao pino Raspberry Pi 3.3V. O próximo pino é o pino de dados que deve ser conectado a um pino GPIO no Raspberry Pi. Esses dois pinos devem ser conectados usando um resistor de 4,7K.

O terceiro pino da esquerda não é usado. O pino mais à direita e o quarto é o pino de aterramento ou negativo que deve ser conectado a um dos pinos de aterramento no Raspberry Pi.

Etapa 1: componentes necessários

Componentes necessários
Componentes necessários

1. Raspberry Pi

2. DHT11

3. Resistor de 4,7k

4. Vários fios da placa de ensaio

5. Placa de ensaio

Etapa 2: Conectando as coisas

Conectando coisas
Conectando coisas
Conectando coisas
Conectando coisas

Conecte o Raspberry Pi e o DHT11 da seguinte maneira:

DHT11 (+ pino) RaspberryPi (pino 3,3 V)

DHT11 (pino de dados) RaspberryPi (pino GPIO - usei GPIO22)

DHT11 (3º pino) Sem conexão

DHT11 (- pino) ------ Raspberry Pi (pino gnd)

Etapa 3: Instalando o software

Na linha de comando do RaspberryPi, faça o seguinte: (OBSERVAÇÃO, não omita o SUDO)

sudo git clone

Você deve ver - Clonando em 'Adafruit_Python_DHT'… remoto: Contando objetos: 249, concluído. remoto: Total 249 (delta 0), reutilizado 0 (delta 0), embalagem reutilizada 249 Objetos recebidos: 100% (249/249), 77,01 KiB, concluído. Resolvendo deltas: 100% (142/142), concluído.

cd Adafruit_Python_DHT /

sudo apt-get update sudo apt-get install essencial para compilar python-dev python-openssl

ls

Você deve ver - exemplos de Adafruit_DHT ez_setup.py LICENSE README.md setup.py source

cd Adafruit_DHT /

Você deverá ver -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Observe, se você pular esta etapa, poderá ver um erro de encontro - Traceback (última chamada mais recente):

Arquivo "./AdafruitDHT.py", linha 24, na importação Adafruit_DHT ImportError: Nenhum módulo denominado Adafruit_DHT)

exemplos de cd

sudo./AdafruitDHT.py 11 22 (11 = DHT11 e 22 = GPIO22 que você selecionou anteriormente)

Você deve ver Temp = 18,0 * Umidade = 46,0% (ou seja, a temperatura e a umidade do seu ambiente)

Etapa 4: O que fazer com o resultado

Portanto, como vimos, a saída é "Temp = 18,0 * Umidade = 46,0%"

Existem várias maneiras pelas quais você pode aproveitar este outpu, por exemplo, usando este arquivo php de teste, arquivo test_dht11.php

Em primeiro lugar, mudei o script AdafruitDHT.py para / var / www /.

Para testar e executar o script php, mude para / var / www e sudo php test_dht11.php

A saída mostra dois números que representam a temperatura e a umidade. Esses números podem ser gravados em um banco de dados ou comparados aos limites de aviso e enviar um alerta, etc

// <? php // descomente a linha acima - instructables não gosta do comando php start //test_dht11.php

// executa o arquivo python para ler o sensor de temperatura DHT11

// e extrai os valores de temperatura e umidade $ temperature = 0; $ umidade = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // extrai a temperatura $ my_pos = strpos ($ test, "Temp =", 0); $ temperatura = substr ($ test, $ my_pos + 5, 4); echo "\ n". $ temperatura; // extrai a umidade $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ umidade = substr ($ test, $ my_pos + 9, 4); echo "\ n". $ umidade; ?>

Recomendado: