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

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

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)

if resp=="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'])

def add_data(): #终端上传最新采集的数据

#代码略

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

#以下为温度报警

if sensorvalue 1 > maxtemp or sensorvalue 1 < mintemp :

return '1'

else:

return '0'

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

if __name__ == '__main__' :

app.run (host="202.101.190.111", port=8080)

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