组卷题库 > 高中信息技术试卷库
试题详情
小方在学习了信息化系统搭建知识后,很想为家乡做点实事,考虑到家乡每年都会防汛抗旱,她在市应急支援局做了调研,开发了本地的“数字智讯”系统,实现通过互联网获取各采样点的温度、湿度、风力等数据,并根据一定的阅值自动触发调节系统和报警装置,该系统的架构如图所示:

 

信息采集终端部分代码如下:

IP="202. 101. 190. 111";PORT="8080";SSID="yzzx1";PASSWORD="yzzx@2017" # 设 置

连接参数

uart. init(baudrate=9600, bits=8, parity=None, stop=1, tx=pin2, rx=pin1) while Obloq. connectWifi(SSID,PASSWORD,10000) != True:

display. show(". ")

display. scroll(Obloq. ifconfig())

Obloq.httpSet(IP,PORT)     #根据ip和port建立连接

while True:

temp=round(pin1.read_analog()/1024*3000/10.24,1)    #读取温度

hum=round(pin2.read_analog(),1)     #读取湿度

rain=round(pin3. read_analog(),1)  #读取雨量

winpower= round(pin4. read_analog(),1)    #读取风力

errno,resp=Obloq. get("input?t="+str(temp)&"h="+str(hum) &"r="+str(rain)&"w="+str(winpower),10000)

if errno ==200:

    display. scroll(resp) ifresp=="1":

    music. pitch(1000, 3000)

    display. scroll("SOS")

    #其他各种报警设备驱动代码

else:

    display. scroll(str(errno)) sleep(10000*5)      #设置采集间隔时间

WEB 服务器部分代码如下所示:

from flask import Flask app = Flask(name) @app. route('/')

def index():

#读取终端最近一次的温度、湿度、雨量、风力存入 temp 、 hum、rain、winpower, 代码略

return "当前温度"+str(temp)+ "当前湿度"+str(hum)+ "当前雨量"+str(rain)+ "当前风力"+str(winpower)

@app. route('/input',methods=['POST', 'GET'])

defadd_data():         #终端上传最新采集的数据#代码略

#maxtemp,mintemp,maxhum,minhum,maxrain,minrain,maxwinpower,minpower,变量分别为温度、湿度、雨量、风力的最大、最小的报警阀值

#以下为温度报警

if sensorvalue1 > maxtemp or sensorvalue1 < mintemp:

    return'1'

else:

    return '0'

#湿度、雨量、风力报警代码略

if name     == 'main':

    app. run(host="202. 101. 190. 111", port=8080)

知识点
参考答案
采纳过本试题的试卷
教育网站链接