1. 程式人生 > >樹莓派DHT22感測器設定

樹莓派DHT22感測器設定

樹莓派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;