ラズパイで温湿度測定
だいぶ間が空いてしまいましたが、
少しずつ水耕栽培器の立ち上げを進めて行きたいと思います。
今日は、温湿度センサの立ち上げを行います。
室内環境の植物への影響を検討する際に使用予定です。
いつかは、温湿度をトリガとして空調を操作するなどの
応用も行ってみたいと思っています。
温湿度センサ DHT22
SODIAL(R) DHT22 AM2302 デジタル温度湿度センサーモジュール
- 出版社/メーカー: SODIAL(R)
- メディア:
- この商品を含むブログを見る
DHT11という廉価版もあるようですが、
こちらのほうが精度が高いようなので、こちらにしました。
どちらにせよ、大した額ではないです。
あと、本体のみで4端子のものと、
プルアップ抵抗などが載った基板に実装されている3端子のものが、
巷に出回っているようです。
今回は後者を購入。
前者の場合、端子間に抵抗を噛ませる必要あり。
ラズパイに接続
3.3V電源とGPIOポートにつなぎます。
センサ端子(左) ー ラズパイ端子1(3.3V)
センサ端子(中) ー ラズパイ端子15(GPIO22)
センサ端子(右) ー ラズパイ端子6(GND)
ラズパイでデータ取得
DHT制御用のライブラリを入手します。
$ sudo git clone https://github.com/adafruit/Adafruit_Python_DHT.git $ cd Adafruit_Python_DHT $ sudo python setup.py install
データ取得用のpythonコードを作成。
# coding: UTF-8 import Adafruit_DHT as DHT from decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN # センサー種類 SENSOR_TYPE = DHT.DHT22 # GPIOポート DHT_GPIO = 22 # 測定 h,t = DHT.read_retry(SENSOR_TYPE, DHT_GPIO) # 四捨五入 h = Decimal(h).quantize(Decimal('0.1'), rounding=ROUND_HALF_UP) t = Decimal(t).quantize(Decimal('0.1'), rounding=ROUND_HALF_UP) ## 結果表示 print ('温度:' + str(t) + '℃') print ('湿度:' + str(h) + '%')
結果
まあ、妥当なところでしょうか。
今後
残ったCO2センサで一旦、センサ取り付けは終了。
そのあとは、データ蓄積の仕組み構築に移りたいです。
参考
コードなど、ほぼそのまま使わせていただきました。 qiita.com