0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python Tkinterとラズパイで自分専用のダッシュボードアプリを作ってみる #4 室内の温湿度を計測する

Posted at

概要

デジタルダッシュボード作成 第四弾。
温度と湿度を測定するDHT22を購入したので、ラズパイと接続させ動作するのか確認します。

この記事はそのメモやまとめです。
すでに設定済みの項目がいくつかある。
試行錯誤しながらやったので、手順として不要かもしれない。あくまでメモ用。

実装したい内容とか整理

ここでは
・温度
・湿度
をラズパイ上できちんと計測してくれるかまでやります。

測定準備

の記事を参考にしました。
DHT22の接続は+/OUT/-になっているので、これをラズパイの2(5v)/7(GPIO4)/9(GND)に接続しました。

ラズパイ側の準備をします。

# 必要となるパッケージインストール
sudo apt-get install libgpiod2

# 仮想環境の作成
python -m venv .venv
. .venv/bin/activate

# adafruit-circuitpython-dht をインストール
pip install adafruit-circuitpython-dht

測定用のコードを準備します。
基本的にはそのままですが、board.D4と自分の環境に合わせたボード番号に変更しています。

sample.py
import time
import board
import adafruit_dht

dhtDevice = adafruit_dht.DHT22(board.D4)

while True:
    try:
        # Print the values to the serial port
        temperature_c = dhtDevice.temperature
        temperature_f = temperature_c * (9 / 5) + 32
        humidity = dhtDevice.humidity
        print(
            "Temp: {:.1f} F / {:.1f} C    Humidity: {}% ".format(
                temperature_f, temperature_c, humidity
            )
        )

    except RuntimeError as error:
        # Errors happen fairly often, DHT's are hard to read, just keep going
        print(error.args[0])
        time.sleep(2.0)
        continue
    except Exception as error:
        dhtDevice.exit()
        raise error

    time.sleep(2.0)

測定

準備ができたので実際に動かしてみます。

. .venv/bin/activate

python sample.py

 $ python sample.py
Temp: 79.3 F / 26.3 C    Humidity: 55.3%
Temp: 79.3 F / 26.3 C    Humidity: 55.5%
Temp: 79.3 F / 26.3 C    Humidity: 55.6%
Temp: 79.3 F / 26.3 C    Humidity: 55.7%
Temp: 79.3 F / 26.3 C    Humidity: 55.5%
Temp: 79.3 F / 26.3 C    Humidity: 55.4%
Temp: 79.3 F / 26.3 C    Humidity: 55.5%
Temp: 79.3 F / 26.3 C    Humidity: 58.4%
Temp: 79.5 F / 26.4 C    Humidity: 69.2%
Temp: 79.5 F / 26.4 C    Humidity: 77.7%
Temp: 79.7 F / 26.5 C    Humidity: 79.2%
Temp: 79.7 F / 26.5 C    Humidity: 71.9%
Temp: 79.9 F / 26.6 C    Humidity: 66.1%
Temp: 79.9 F / 26.6 C    Humidity: 61.9%
Temp: 79.9 F / 26.6 C    Humidity: 59.6%
Temp: 80.1 F / 26.7 C    Humidity: 57.9%
Temp: 80.1 F / 26.7 C    Humidity: 56.8%
....

いい感じに取れてそうです!
今自室にある温度計と湿度計は
温度:26.5
湿度:50%
でした。
そもそもこの2つのデバイスの位置がだいぶ離れているので数値が違っているようですが、温度についてはほぼほぼ同じ値でした。

次やりたいこと

  • 上記の測定結果を利用してダッシュボードに反映させる
  • ラズパイ1台で完結するタイプと計測結果をWindowsに転送してWindows上でダッシュボード表示させる2つのパターンを考えたい
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?