1. 程式人生 > >樹莓派使用Python獲取DHT22的溫溼度資料

樹莓派使用Python獲取DHT22的溫溼度資料

說明

    樹莓派系統使用的是Raspbian 9,Python版本是Python3,感測器使用DHT22,PC端使用Putty通過SSH協議連線樹莓派,埠為預設的22。還用到了Windows下的mstsc工具,用來影象化登入樹莓派,不習慣使用命令的操作可以用滑鼠完成。

硬體連線

    實物可參考下面圖片,DHT22有三個引腳,兩端分別是VCC和GND,中間是資料引腳。DHT22的工作電壓範圍為3.3V~5.5V,我將它接入了3.3V,即樹莓派引腳圖中BOARD編碼為1的引腳。負極隨意挑一個GND引腳插上。資料引腳連線樹莓派的GPIO.2,即BOARD編碼為13的引腳。
DHT22如下圖
DHT22


樹莓派引腳圖
樹莓派引腳圖

安裝Adafruit_DHT

#sudo apt-get update

#sudo apt-get install build-essential python-dev

#git clone https://github.com/adafruit/Adafruit_Python_DHT.git

#cd Adafruit_Python_DHT

#sudo python setup.py install

編寫Python程式碼

#引入Adafruit_DHT
import Adafruit_DHT
#定義sensor型號為DHT22
sensor = Adafruit_DHT.DHT22
#定義引腳為27(BOARD編碼為13)
pin = 27
#迴圈
while True:
	try:
		#讀取溫溼度資料到temp和hu兩個變數中
		hu, temp = Adafruit_DHT.read_retry(sensor, pin)
		#打印出結果
		print('temp:{0:0.1f} hu:{1}'.format(temp,hu))
		#迴圈延遲設為3秒
		time.sleep(3)
	except RuntimeError as e:
		print("error\n{0}".format(e))
	except:
		print("error\nFailed to read sensor data!")