DHT11 溫濕度傳感器 取值


引腳 功能圖示

 

 

 

濕度檢測范圍 : 20-80% (5% 精度)

溫度檢測范圍 : 0-50°C (±2°C 精度)

 

 

 

 

接線 用了 引腳 1,18,20  。

引腳 1 -- 3.3V正極,

引腳 18 -- 數據,

引腳 10 -- 負極,

 

 

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

cd Adafruit_Python_DHT

 

 

 

sudo python3 setup.py install

 

輸入 python3 AdafruitDHT.py 11 24 ,調取信息, 參數 11為DHT11 ,24為 引腳的  GPIO 編號

 

 

 

也可以自己寫個 循環的

 

import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 24
while True:
  humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
  print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity))

 

為了方便 遠程 查看與 獲取 數據,寫個可被http 用get 訪問的 接口

 

from http.server import HTTPServer, BaseHTTPRequestHandler

import json

import urllib

import datetime

import Adafruit_DHT

 

sensor = Adafruit_DHT.DHT11

pin = 24

host = ('',8787)

 

def getData():   

    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

    return {"value":'%d'%temperature +","+'%d'%humidity ,"time":datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}

 

class Resquest(BaseHTTPRequestHandler):

    def do_GET(self):

        self.send_response(200)

        self.send_header('Content-type', 'application/json')

        self.end_headers()

        self.wfile.write(json.dumps(getData()).encode())

 

    def do_POST(self):

        length = int(self.headers['Content-Length'])

        post_data = json.loads(self.rfile.read(length))

        #print(post_data)

 

if __name__ == '__main__':

    server = HTTPServer(host, Resquest)

    print("service is running..")

    server.serve_forever()

 

網頁查看

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM