从网络获取湿度/温度
LAN Bottle 服务器,使用 Raspberry Pi 4、Adafruit DHT11 和 RGB LED 处理 HTTP 请求。
图>关于
项目的想法很简单。 访问网页后 ,您可以看到 实时什么温度 和湿度 位于DHT11区域内 Raspberry Pi 使用的传感器 .
向服务器发送请求将根据请求的路由以某种颜色点亮 LED。然后客户端将收到带有请求值的响应,并且他还可以在 HTML L.E.D. 中看到二极管的颜色。元素。
电路实现视图
图>访问网页
向服务器发送带有“/”的 GET 请求将自动点亮连接到板上的 R LED。
这就是请求后在董事会上发生的事情。
图>从服务器得到响应后,您将能够使用蓝色(湿度)或绿色(温度)按钮检查板周围的温度和湿度。按下其中一个按钮将导致每秒向服务器连续发送一次请求,直到按下停止按钮或页面关闭/重新加载为止。
按下蓝色按钮
将更改文本和 L.E.D.颜色变为蓝色并显示传感器周围的湿度。
图>按下绿色按钮
将更改文本和 L.E.D.颜色变为绿色并显示传感器周围的温度。
图>按下红色停止按钮
将改变 L.E.D.颜色为红色,将文本值设置为默认值,将停止接收有关温度/湿度的更新。
图>使用 Ctrl+C 停止服务器
服务器停止后,LED熄灭,清除GPIO引脚。
图>原理图
图>代码
从瓶子导入路由、运行、模板、请求导入 RPi.GPIO as GPIOimport Adafruit_DHT#setarea modului de citire a pinilorGPIO.setmode(GPIO.BCM)#setare pin senzor umiditate/temperaturatype =Adafruit_DHT.DHT11dht11 =25GPIO.setup(dht11, GPIO.IN)#setare pini leduriGPIO.setup(14, GPIO.OUT)GPIO.setup(15, GPIO.OUT)GPIO.setup(18, GPIO.OUT)#stabilirea rutelor @route('/')def index():setLedsOnLow() GPIO.output(14,GPIO.HIGH) 返回模板('index.html')@route('/umiditate')def umiditate():setLedsOnLow() GPIO.output(18,GPIO.HIGH) umiditate,temperatura=Adafruit_DHT.read(type, dht11) return {'umiditate':umiditate}@route('/temperatura')def temperatura():setLedsOnLow() GPIO.output( 15,GPIO.HIGH) umidiate,temperatura =Adafruit_DHT.read(type, dht11) return {'temperatura':temperatura}@route('/stop')def stop():setLedsOnLow() GPIO.output(14,GPIO. HIGH) return {'stop':'Nimic de afisat...'}def setLedsOnLow():GPIO.output(14,GPIO.LOW) GPIO.output(15,GPIO.LOW) GPIO.o utput(18,GPIO.LOW)#start serverrun(host ='0.0.0.0', port ='6789')#la stop server, stinge leduri si curata pinisetLedsOnLow()GPIO.cleanup()
来源:从网络获取湿度/温度
制造工艺