当前位置: 高中信息技术 / 综合题
  • 1. (2023·浙江模拟) 小范参加“科学玩家”绿色植物生态缸制作比赛,为此他搭建了“生态缸温度控制系统”。系统可以采集生态缸的气温,通过Wi-Fi传输到服务器并存储到数据库,当气温过高或过低时通过执行器控制温控设备为生态缸维持合适的气温。请回答以下问题。

    1. (1) 系统架构简图如上所示,图中①处连接的设备是(选填:服务器 / 智能终端 /路由器 / 防火墙)。
    2. (2) 生态缸采集并发送气温数据的部分程序代码如下所示:

      from microbit import *; import Obloq

      #uart串口配置和初始化,并用Obloq连接Wi-Fi,准备发送数据,代码略

      while True:

          value = pin0.read_analog()       # 获取1号温度传感器数据,注意这是模拟值

          t = round(value * 330 / 1024, 1)    # 将模拟值转换成摄氏温度值

          errno, resp = Obloq.get(② , 10000)     # 向服务器发送数据

          # 根据服务器反馈信息控制执行器进行温控,代码略

          sleep(1000 * 5)

      若某一时刻传感器获取到的温度值是27℃,它向服务器发送数据时使用的URL是//192.168.113.5/data?id=1&v=27,请将划线处②的语句补充完整。

    3. (3) 服务器端采用 Flask 框架搭建,其部分程序如下:

      import sqlite3; from flask import Flask, request, render_template

      app = Flask(__name__)

      @app.route('/')

      def index():

          #连接并读取数据库,获取传感器编号为1的所有气温值,用变量result保存,代码略

          tmp = result[-1][2]    #获取最后一条记录中的气温值,保存在变量tmp中

         

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

      def add():

          #获取智能终端传输的传感器编号id和气温v的值,并插入到相应数据表中

          #最后根据数据库中存储的气温临界值向智能终端发送反馈信息,代码略

      if __name__ == '__main__':

          app.run(host="192.168.113.5", port="80")

      在add()视图函数中,需要将数据插入到数据表中,其操作语句如下:

      sql = "Insert Into sensorlog (sensorid, sensorvalue) values ('%s', '%s')" % (id, v)

      ①cur = db.cursor()                   ② db.commit()

      ③db = sqlite3.connect("temp.db")    ④cur.execute(sql)

      cur.close(); db.close()

      那么其中①~④条语句正确的顺序是: 。

    4. (4) 在上述程序的index()视图函数中,加框处语句试图用view.html模板渲染网页内容,并将tmp的值传递给网页模板变量temperature,但语句有误,正确的应该是(   )(单选,填字母)
      A . return temperature B . return render_template('view.html', temperature) C . return render_template('view.html', tmp = temperature) D . return render_template('view.html', temperature = tmp)

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