樹莓派使用Python獲取DHT22的溫溼度資料
阿新 • • 發佈:2019-01-03
說明
樹莓派系統使用的是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如下圖
樹莓派引腳圖
安裝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!")