2354| 5
|
[M10项目] 信息科技实验——验证实测温度和天气预报温度的差异 |
本帖最后由 hnyzcj 于 2023-10-23 16:36 编辑 【实验目的】 生活中我们常常会对天气预报中的“气温”预报产生了疑问:身体感受到的气温以及用自己的方式测出的气温,比天气预报中的气温要高或者低……于是老师们就设计了一个课堂环节要验证这样一个结论。 【实验方案】 通过行空板实时采集温度数据,并通过网络获取和显示城市的气温数据同屏显示进行对比;并在一张折线图中可视化方式显示两组数据的对比。 【教学需求】 (1)实时采集温度、湿度、气压等数据屏幕读取。 (2)通过网络获取当地气温数据。 (3)实现上述两组数据的对比图表。 【解决方案】 对于本地采集屏幕显示数据在前面的课程中已经详细介绍;通过网络获取只需从天气API网站等相关气象网站上抓取下来同步显示在屏幕上;两组数据对比图表通过可视化组件设计一张对比折线图方式展现。以SIoT为数据平台,本地采集建立一个“本地温度”的topic,网络抓取建立一个“预测温度”的topic,最后再建立一个“对比数据”的topic,分别传输三项数据,其中最后一项数据用于制作对比图表。
【知识拓展】 气温测量有标准环境 气象台测出的“气温”不是大家的体感温度,它代表着自然状态下,不受干扰的标准空气温度。按照世界气象组织规定,测量气温的百叶箱须设在草坪上,离地面1.5米,周围比较开阔,无高大建筑、树木等阻挡风或阳光。百叶箱的四壁用玻璃钢做成百叶窗,不但能够防止太阳直射、地面反射、大风大雨的影响,同时保证空气流通,排除干扰后测得大气真实的温度。 数字化资源 ——功能实现技术文档 【制作过程】 (1)环境部署 步骤一:配置行空板 由于课堂教学中,既需要本地采集数据上传SIoT,还需要从网络上抓取。这里天气数据需要通过“接口”获得,本课我们使用“天气API”获取。通过访问天气API网站(https://tianqiapi.com/),获取天气信息。为此我们需要行空板连接热点获取相应IP。成功连接热点后,此时板子获取固定IP为:10.6.124.30。登陆SIOT服务器,建立主题topic分别为:“温度”、“湿度”、“气压”、“预测温度”、“对比数据”。 步骤二:登陆注册 首先,访问天气API网站(https://tianqiapi.com/),完成注册和登录;登陆后点击“返回网站主页”然后选择“API文档”查询免费天气接口;免费天气信息在API文档左边栏的“免费基础实况天气”(图中①处),另外,在右边的“请求示例”下方就是要使用的接口网址(图中②处)。 直接复制访问该网址,可以查看到当前所在城市的天气数据,如下图所示。 另外,如果你想更换城市的天气数据,只需要在接口网址末尾加上“&city=某城市”,比如,杭州天气的接口网址为: 步骤三:编程环境 打开Mind+编程软件进入后,将其切换至“python”模式,鼠标点击左下角“扩展”按钮,在官方库页面中添加“行空板”、“MQTT-py”和“Requests”库,在pinpong库页面中添加“pinpong初始化”和“BME280环境传感器”库。 步骤四:编写程序 ▲程序初始化(服务器设置和采集界面设置) 从MQTT、pingpong、BME680指令集中拖着指令如下图8所示,程序指令“初始化MQTT”设置如下所示:MQTT平台选择SIoT,SIoT地址为上述行空板子获取的IP地址,SIoT Port端口为1883,用户名为siot,密码为dfrobot。其中服务器端SIoT服务器地址为:10.6.124.30。MQTT订阅消息分别为“温度”、“湿度”、“气压”、“预测温度”、“对比数据”。 ▲抓取部分初始化 下面就可以利用“Requests”分类的指令,向天气API发起一个GET请求“” ,再解析请求内容为 JSON格式 将获取数据转化成刚才网页中看到的样子。建立 url、response以及data 、天气图片四个变量来分别储存接口网址、请求响应、天气数据、天气图片。 天气图片数据格式应用为字典形式,若返还结果为“晴”,则屏幕对应显示晴天的图片。 ▲屏幕初始化及赋值 对象“P”为背景图片;对象W、S、Q分别对应由BME280实时采集到的温、湿度等数据;t_c、t_t、t_w、t_tem、img分别对应从天气网站抓取的城市、日期、天气、温度、及对应的天气情况的图标。 ▲主程序部分 屏幕显示部分: 数据发送部分: 期中“对比数据”的主题中实际上发送两组数据,对于两组不同类型的数据发送,我们进行连接时,用“,”进行隔离。 步骤五:数据对比图表 点击打开在可视化组件,添加2个标签文字,分别修改其组件标题为“实测温度和预测温度”、Topic分别为“siot/温度和siot/预报温度”对应如下图所示;选取折线图组件,修改其组件标题“实测与预报气温对比”、Topic为“siot/对比数据”、折线配置1为“实测数据”、折现配置2为“预报数据”对应如下图所示, 关联文档: (1)低成本打造移动数字气象站 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed