【Azure IoT の準備】温湿度センサ[DHT11]とラズパイで部屋の温度・湿度を測ってみる

はじめに

こんにちは、がんがんです。
今回はAzure IoT HubとRaspberry Piを用いたIoTの準備として温湿度センサの実行実験を行いました。

いろいろと調べてはいたものの、論より証拠ということでいろいろと遊んでみることにします。
今回はその時の備忘録です。

目的

  • 温湿度センサ[DHT11]を試してみる
  • 実際に測れることを確認する

実験

まずは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】を用いたセンサ動作実験を行ないました。
今回の結果を使って引き続き実験を進めていきます。