2021年4月18日日曜日

Raspberry Pi ZeroとDHT11センサーモジュールで、温度・湿度を取得する

Raspberry Pi ZeroとDHT11センサーモジュールで、温度・湿度を取得するには、以下の手順を実行します。

実装手順

Raspberry Pi ZeroとDHT11センサーモジュールで、温度・湿度を取得するには、以下の手順を実行します。
1. 部品の用意と配線
以下の部品を用意して、下記回路図に基づいて接続します。

・DHT11センサーモジュール
DHT11温湿度モジュール(Temperature and Humidity Sensor)
https://akizukidenshi.com/catalog/g/gM-07040/

〇Raspberry Pi ZeroとDHT11センサーモジュールを接続した写真

Raspberry Pi ZeroとDHT11は以下の様に接続します
Raspberry Pi 5Vピン(ピン2) -> DHT11の5Vへ(付属ケーブルの赤)
Raspberry Pi GPIO14ピン(ピン8) -> DHT11のDigitalピンへ(付属ケーブルの緑)
Raspberry Pi GNDピン(ピン6) -> DHT11のGNDへ(付属ケーブルの黒)

2. pipenvの導入
pipenvをインストールしていない場合は、以下のコマンドを実行します。
sudo apt-get update

sudo apt-get -y install python3-pip python3-distutils python3-dev

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

3. dht11モジュールがインストールされた仮想環境作成
pipenvを使用する場合は以下のコマンドで、dht11用の仮想環境を作成します。
mkdir -p ~/dht11

cd ~/dht11

pipenv --python 3

pipenv install dht11

pipenv shell

4. 温度・湿度取得プログラムの作成と実行
以下のプログラムを保存して実行します

get_temp_humidity.py
import RPi.GPIO as GPIO
import dht11

# initialize...
GPIO.setwarnings(True)
GPIO.setmode(GPIO.BCM)

# read data using pin 14
instance = dht11.DHT11(pin=14)
result = instance.read()
if result.is_valid():
  print("Temperature: {:.1f}(C)".format(result.temperature))
  print("Humidity: {:.1f}(%)".format(result.humidity))

GPIO.cleanup()

以下のコマンドでプログラムを実行して温度と湿度を表示します
python3 get_temp_humidity.py

関連情報

DHT11センサーを使ってREST APIでデータを提供したり、DBに保存したりすることもできます。以下の記事を参照してください。

Raspberry Pi ZeroとDHT11センサーモジュールで、温度・湿度の情報を返すREST APIを作成する

Raspberry Pi Zeroに接続したDHT11センサーの温度・湿度データをPostgreSQLに保存する

Raspberry Pi Zero上のEclipse Mosquittoとpaho MQTTで、DHT11の温度・湿度データを送受信する

0 件のコメント:

コメントを投稿