zoey不种土豆 发表于 3 天前

【义教指南】八年级 物联网 第17课 物联数据需采集

本帖最后由 zoey不种土豆 于 2025-3-31 10:42 编辑

【义务教育信息科技教学指南】八年级 物联网实践与探索模块 第17课中要求学生获取网络天气数据,同时利用传感器获取不同地方的数据,理解物联网系统中的数据组成并动手体验数据获取方法。描述原文如下图:





实验设计
结合指南课程中对于物联网系统数据获取的实践要求,我们利用行空板M10信息科技实验盒(后称“实验盒”)上内置的WiFi模块以及接口,落地实操,分别设计了获取天气数据和采集并传输传感器数据两个实验,实验仅需要阅读、修改并运行程序,即可帮助学生直观的理解物联网数据组成,体验数据获取过程,同时通过创建主题和查看物联网平台,学习下载、汇集物联网数据方法。

>>实验1(17-1、2):获取天气数据
>>实验2(17-3):采集并传输传感器数据

17-2 获取天气数据
活动目标
学习目标
进一步认识网络接口返回数据格式的相关知识。
掌握利用网络接口获取天气数据的方法。
实操目标
实验盒运行程序后在屏幕上显示城市的名称和第二天的天气情况。

活动准备
硬件清单

软件使用
Mind+编程软件x1
下载地址:https://www.mindplus.cc

活动过程
本次活动是通过调用网络接口获取天气数据,在第二单元第九课中我们也学习过调用接口的相关知识,这次不同的是在调用时需要对接口的内容进行修改并且要理解返回的数据格式并进行处理。

1. 硬件连线
长按ON/OFF按钮启动实验盒,使用USB连接线将实验盒连接到计算机。


2. 准备软件
按照下图步骤,设置Mind+软件编程方式为Python代码编程,并完成实验盒连接。

同时需要准备好天气API接口的网址以及对应的密钥。准备好之后查询接口提供商的资料获取自己所在城市的编码。
注意:具体获取方法见附录。

3. 编写程序
首先,参考第9课方法,让实验盒连接无线网络。

程序中需要改写城市编号、接口密钥以及解析返回接口返回的数据。

在程序运行前先通过浏览器观察一下接口返回数据的内容和格式。以心知天气为例,返回的原始数据如下图所示:返回的数据是字典和列表相互嵌套的结构。results的值是一个包含多个字典的列表。列表中的第一个数据是包含 location、daily键的字典,而位置信息在location键对应的值中,日期和天气数据在daily键对应的值中。


核心程序如下图所示:

由上面的程序可以看到,其中 ["results"] 、 ["daily"] 和 ["text_day"] 是三个键,而 和 指的是列表的索引。

注意:可直接将第四单元第十七课资源文件夹中对应的程序文件拖入“项目中的文件”使用。


4. 运行程序
点击界面右上方的运行按钮,运行程序。

运行程序后我们观察实验盒显示的内容。

5. 测试及活动记录
接下来,同学们可以根据实践记录表操作一下并将结果记在表中。
[实践操作]填写实践记录表:
(1) 我所在的城市是         ,对应的城市编码是                           。
(2) 我将如下两句程序改为了:。
city=u_gui.draw_text(text=("城市名称:" +
data                                                            ),
x=30,y=40,font_size=17, color="#000000")
wea=u_gui.draw_text(text=("明天天气:" +
data                                                            ),
x=30,y=80,font_size=17, color="#000000")
最后屏幕上显示的第二天天气是                        。

附录
1)注册申请天气API的方法——以心知天气为例
互联网上有许多可供调用的免费天气预报数据接口。
心知天气是一个第三方气象服务方案提供商,提供了许多不同的天气API。
网址:https://www.seniverse.com/
注册并登录心知天气,点击“立即免费试用”

申请天气API,例如最左边的免费版(有访问频限 20次/分钟)

点击右上角的“工作台”,在左侧的产品管理一栏下找到申请的产品,就可以在对应界面中找到需要使用的接口密钥。

2)查询城市编码的方法——以心知天气为例
城市编码表格下载:https://seniverse.yuque.com/hyper_data/api_v3/sdnhw8
进入该网址后,点击下图标注位置进行下载

表格预览:


17-3采集并传输传感器数据

活动目标
学习目标
了解传感器在感知周围环境过程中起到的作用。
熟悉物联网中传感器采集、上传数据的过程。

实操目标
利用实验盒传感器将土壤温湿度数据上传至SIoT服务器上,并在服务平台实时查看土壤湿度等植物生长环境数据。


活动准备
硬件清单

软件使用
Mind+编程软件x1
下载地址:https://www.mindplus.cc

注意:由于本单元可能会涉及SIoT数据自动爬取,所以需要提前升级开放接口的SIOTV2。
升级方法:电脑连接行空板,运行项目资料中的。

活动过程
本次活动重点关注传感器采集数据以及传输数据的过程,这次不同传感器采集的数据要发送到对应的主题而不是单一的一个主题。
1. 硬件连接
长按ON/OFF按钮启动实验盒,使用USB连接线将实验盒连接到计算机。


将土壤湿度传感器用3P线接到P21引脚。

温度和光照传感器都集成在了实验盒上面,分别位于“home”按钮下方和屏幕的右上方。


2. 准备软件
按照下图步骤,设置Mind+软件编程方式为Python代码编程,并完成实验盒连接。


搭建SIoT服务器,创建三个主题,分别为:“土壤湿度”、“温度”和“光线”。


3. 编写程序
程序主要分为两部分:用传感器读取数据和将数据处理后发送到服务器。核心程序如下图所示:


可以看到程序是一直在读取数据并且发布数据的,由于温度和湿度不会快速变化,所以可以每隔一段时间读取一次(如3秒),一方面可以减小设备的能耗,另一方面可以减轻服务器的压力。
注意:可直接将第四单元第十七课资源文件夹中对应的程序文件拖入“项目中的文件”使用。


4. 运行程序
点击界面右上方的运行按钮,运行程序。

运行程序后我们可以在服务器的数据管理界面看到实验盒上传的数据。

分别点击主题下方的“查看详情”看具体接收到的数据,如“siot/土壤湿度”。


5. 测试及活动记录
接下来,同学们可以根据活动过程操作一下并将结果记在表中。
[实践操作]通过将土壤湿度传感器放入土壤,手电照射,手捂温湿度传感器等方式改变传感器读数,待数据稳定后在下表中记录数据:


页: [1]
查看完整版本: 【义教指南】八年级 物联网 第17课 物联数据需采集