5460| 2
|
[M10教程] 信息科技实验——本地交互采集数据存储转发至服务器端 |
本帖最后由 hnyzcj 于 2023-10-23 16:42 编辑 【教学背景】 本课内容是南京市教研活动第九周内容中的部分片段,南京市教研活动通常以全双工连续量形式开展。所谓全双工也就是在同一时间有两位老师在不同教室上课;所谓连续量也就是为了保证教学的连续性,会安排内容相关的两节课。简单来说就是2个大主题,各两节课,而一个主题的两位老师内容相关,但目前从市里了解到的情况是开课学校(异校)机房有限,所以连续的两节课,只有一节课可以在机房上……为此,两位老师就将物联网主题的课程设计为两部分。第一节课安排为外出实地测量气温等数据,PS1:这里是没有办法连接到网络的,行空板制作的气象站只能将数据发送给自己架设的服务器上。第二节课老师设计是学生回到机房有网的环境下,将第一节课的测量的气温数据发送到教师端的服务器上,展开数据对比分析。很显然,上述问题在当前的SIOT服务器下很难实现……总结下来教学的需求如下。 【教学需求】 (1)第一节课无网络环境下实时采集气温数据,并能够本地存储。 (2)第一节课要求能够通过人机交互方式控制采集某些区域某些时段的气温数据。 (3)第二节课有网环境下将第一节课中采集的数据发送教师端服务器上,展开数据分析。 【解决方案】 对于上述问题,解决的方案有以下几种。 (1)第一节课采集的数据以csv格式存储,然后在第二节课中与服务器端数据通过EXCEL表格方式进行数据的统计分析。此方案被排除,老师们认为该种方式无法体现出物联网的优势。 (2)第一节课采集的数据除了上传到本地topic外,再建立一个存储文件的test.txt,以文件的形式存储数据。等到第二节课时,通过交互触发,上传文件中的数据到教师服务器的topic中,并形成图表分析。我最终采用的第二种方案,其整体架构如下图。 【制作过程】 (1)环境部署 步骤一:配置行空板 由于第一节课堂教学中,无网环境下本地采集数据上传SIoT,只需在程序编写中将初始化MQTT时候的SIoT地址设置为10.1.2.3;第二节课来到教室中,服务器端行空板连接热点获取相应IP,例如板子获取固定IP为:192.168.1.10,修改程序中SIoT地址设置为192.168.1.10。登陆SIOT服务器,建立主题topic分别为:“温度”、“湿度”、“气压”、“海拔”四个主题,在服务器端设置“STUA”作为存储学生A数据的主题。 步骤二:编程环境 打开Mind+编程软件进入后,将其切换至“python”模式,鼠标点击左下角“扩展”按钮,在官方库页面中添加“行空板”、“MQTT-py”库,在pinpong库页面中添加“pinpong初始化”和“BME280环境传感器”库。 步骤三:编写程序 ▲程序初始化(服务器设置和采集界面设置) ▲界面初始化 ▲主程序部分 步骤四:写入文件程序 按下A键打开文件“test.txt”写入采集的温度数据,每写入一行就换行。直至按下B键结束写入,并关闭文件。 【总结】:上述问题出现的情境也并非少数情况,将如果无线局域网环境能够满足,则不会出现本文中所出现的技术问题。 【关联文档】 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed