【Azure IoT の準備】温湿度センサ[DHT11]とラズパイで部屋の温度・湿度を測ってみる
はじめに
こんにちは、がんがんです。
今回はAzure IoT HubとRaspberry Piを用いたIoTの準備として温湿度センサの実行実験を行いました。
いろいろと調べてはいたものの、論より証拠ということでいろいろと遊んでみることにします。
今回はその時の備忘録です。
目的
- 温湿度センサ[DHT11]を試してみる
- 実際に測れることを確認する
環境
- Raspberry pi 3 Model B+
- 温湿度センサ【DHT11】
購入元:KKHMF DHT11 湿度センサーモジュール 温度センサー モジュール Arduinoと互換 デュポンラインと付属
参考記事
ライブラリのGitHub
GitHub - szazo/DHT11_Python: Pure Python library for reading DHT11 sensor on Raspberry Pi
実験
まずはGItHubに上がっているPython用のライブラリをクローンします。
GitHubは参考記事の方にも置いておきます。
git clone https://github.com/szazo/DHT11_Python.git
フォルダ構成としては以下の通りです(mdは除く)。
__init__.py
dht11_example.py
dht11.py
dht11.py
はDHT11を動作させるうえで必要なクラスが書かれています。
__init__.py
は特に何も書かれていませんが後々追記する用でしょう。
基本的にはdht11_example.py
をいじっていけば良いように出来ていますね。
コードは以下の通りです。変更したところは使用ピンを変更したくらいです。
import RPi.GPIO as GPIO import dht11 import time import datetime # initialize GPIO GPIO.setwarnings(True) GPIO.setmode(GPIO.BCM) # read data using pin 4 instance = dht11.DHT11(pin=4) try: while True: result = instance.read() if result.is_valid(): print("Last valid input: " + str(datetime.datetime.now())) print("Temperature: %-3.1f C" % result.temperature) print("Humidity: %-3.1f %%" % result.humidity) time.sleep(6) except KeyboardInterrupt: print("Cleanup") GPIO.cleanup()
出力結果はこんな感じでした。
$ python dht11_example.py Last valid input: 2019-07-17 01:52:09.663420 Temperature: 27.5 C Humidity: 75.0 % Last valid input: 2019-07-17 01:52:15.752113 Temperature: 28.2 C Humidity: 66.0 % Last valid input: 2019-07-17 01:52:21.837711 Temperature: 28.4 C Humidity: 63.0 % Last valid input: 2019-07-17 01:52:27.923125 Temperature: 28.4 C Humidity: 61.0 %
まとめ
今回はAzure IoT Hubを用いたIoTの実験の前準備として温湿度センサ【DHT11】を用いたセンサ動作実験を行ないました。
今回の結果を使って引き続き実験を進めていきます。