当前位置: 高中信息技术 / 综合题
  • 1. (2023高二下·浙江期中) 某智慧家居方案中,包含一个“室内光线智能监控系统”,户主可以随时随地通过浏览器查看家中光线亮度,通过网站平台可以直接控制灯光设备。如图所示的结构实现通过网络控制灯光:

    1. (1) 下列选项标注了图中虚线框内的智能终端与传感器、执行器之间数据传输关系,其中合理的是       (单选,填字母)
      A . B . C . D .
    2. (2) 该网络应用采用的程序架构是(选填: A .B/S 架构 / B .C/S 架构)
    3. (3) 使用 BXY 软件给终端编写数据传输的程序, 部分代码如下:

      #导入函数库代码略

      #设置智能终端连接服务器的参数

      IP= "10.33.1.80"

      PORT= "8080" #设置传输的端口

      SSID = "zdjf"

      PASSWORD = "20221010"

      Uart.init(baudrate=115200,bits=8,parity=None,stop=1,tx=pin2, rx=pin1)#网络连接 while Oboq.connectWifi(SSID,PASSWORD,10000)! = True:

      display.show (".")

      display.scroll(Obloq.ifconfig( ))

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

      #采集传感器数据, 并设置传输模式

      while True:

      light = pin0.read_analog()

      errno,resp = Obloq.get(“input?id=1&val=”+str(light),10000)#设置传输的数据的模式 if errno = = 200:

      display.scroll(resp)

      else:

      display.scroll(str(errno))

                  #设置采集间隔时间

      用于查看当前实时光线强度的网页代码如下所示:

      from flask import Flask

      import serial

      app = Flask(__name__)

      @app.route('/')

      def index():  #读取终端最近一次的亮度存入temp

      return '当前亮度: %d'%temp

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

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

      #代码略

      if __name__ == '__main__':

      app.run (host=“ 10.33.1.80”,port=8080)

      ①若每隔1分钟传输一次数据,则划线处的代码为

      ②若某时刻光线数值是300,则传输数据时使用的URL是(单选,选填字母)

      A.//10.33.1.80/input?val=300

      B.//10.33.1.80:8080/input&id=1&val=300

      C.//10.33.1.80:8080/input?id=1&val=300

      D.//10.33.1.80/input?id=1&val=300

    4. (4) 为了研究室内光照强度数据,小明从服务器数据库导出了某白天12小时内的全部光照数据,查找当日室内光照强度连续不低于设定阈值的最长时间段(若含有多段长度相同的最大值,输出最早的一个时间段)。实现上述功能的部分Python程序如下,请在划线处填入合适的代码。

      #获取时间点和对应的光照强度值存储于数组a 中, 代码略。

      #数组 a 存储结构如:[[1,300],[2,203],[3,305],[4,300],[5,306]]

      #例如:a[0][0]存储第一个监测时间点, a[0][1]存储该时间点的室内光照强度值 s = 300   #s 为设定阈值

      maxlen = 0;n = len(a) ;i = 0

      p = 0 ;m = 1

      while i < n:

      if a[i][1] >= s :

      m = 1

      for j in range(i + 1,n):

      if a[j][1] >= s :

      m = m + 1

      else:

      break

      if m  >  maxlen:

      p = i

      else:

      i = i + 1

      print("最长时间段为",a[p][0] , "至" ,  )

微信扫码预览、分享更方便