樹莓派DHT22感測器設定
阿新 • • 發佈:2019-01-03
樹莓派DHT22感測器
DHT22為溫溼度感測器,本人的DHT22感測器是已經整合好的感測器。
樹莓派主控系統使用nginx+nodeJS搭建的伺服器系統,部分nodejs無法實現的功能使用python指令碼實現,並用nodeJS讀取python的結果
讀取DHT22溫溼度感測器資料的python指令碼
注意: DHT22感測器直接讀取的資料無法是一串高低電平的資料值,需要進行相關處理才能轉換為實際的溫溼度值,本系統直接舒勇adafruit庫,可以忽略資料的處理過程,直接讀取出溫溼度的實際值。使用前務必先安裝adafruit庫。
sudo apt-get update
sudo apt-get install build-essential python-dev
sudo python setup.py install
#!/usr/bin/python
import Adafruit_DHT
sensor = Adafruit_DHT.DHT22
pin = 4
try:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
print '{0:0.1f}\n{1}'.format(temperature, int(humidity))
except RuntimeError as e:
print 'error\n{0}'.format(e)
except:
print 'error\nFailed to read sensor data'
nodeJS獲取python指令碼結果的程式碼
var execSync = require('child_process').execSync;
var sensor = {
getCurrent: function() {
var result = execSync('/usr/src/dht22/current.py').toString().split('\n');
if(result[0] === 'error' ) {
return {
success: false,
error: result[1]
};
} else {
return {
success: true,
temperature: result[0],
humidity: result[1]
};
}
}
};
module.exports = sensor;