小明模拟搭建了“室内烟雾实时监控系统”,实现如下功能:
⑴利用micro:bit结合烟雾传感器对室内烟雾浓度进行监测。
⑵通过串口采集传感器的数据变化,实时传输到Web服务器并保存到数据库中,以便后续进行分析。
⑶使用者可对监测系统进行相关的设置,限定室内烟雾浓度的临界值。一旦指标高于所限定的临界值,系统将自动发出警报并开启水泵浇水。
系统通过智能终端每隔1分钟采集一次室内环境烟雾浓度数据。其架构示意图如图所示:
智能终端的部分程序代码如下:
#设置连接服务器参数并与智能终端建立无线连接,代码略
while True:
① = pin0.read_analog()
errno,resp = Obloq.get("input?id=1&val="+str(fog),10000)
if errno == 200:
display.scroll(resp)
if resp == '1':
pin8.write_digital(1) #打开蜂鸣器发出警报
pin16.write_digital(1) #打开继电器开启水泵浇水
else:
pin8.write_digital(0) #关闭蜂鸣器
pin16.write_digital(0) #关闭继电器
else:
display.show (str(errno))
② #设置数据采集间隔时间
服务器端部分程序代码如下:
from flask import Flask, request
import sqlite3
DATABASE ='tdata.db'
app = Flask(__name__)
@app.route("/")
def index():
#代码略
@app.route("/input",methods=["GET"])
def mytest():
#获取传感器 id 值和环境烟雾浓度值并存储在数据库中
#烟雾浓度超过最大值返回“1” ,否则返回“0”,代码略
if __name__ == '__main__':
app.run (host="192.168.1.8",port=8080,debug=True)