941浏览
查看: 941|回复: 0

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

[复制链接]
本帖最后由 zoey不种土豆 于 2025-3-31 10:42 编辑

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

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

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

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

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

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

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

17-2 获取天气数据

活动目标
学习目标

进一步认识网络接口返回数据格式的相关知识。
掌握利用网络接口获取天气数据的方法。
实操目标
实验盒运行程序后在屏幕上显示城市的名称和第二天的天气情况。
【义教指南】八年级 物联网 第17课 物联数据需采集图5

活动准备
硬件清单
【义教指南】八年级 物联网 第17课 物联数据需采集图6

软件使用
Mind+编程软件x1
下载地址:https://www.mindplus.cc
【义教指南】八年级 物联网 第17课 物联数据需采集图7

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

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

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

2. 准备软件
按照下图步骤,设置Mind+软件编程方式为Python代码编程,并完成实验盒连接。
【义教指南】八年级 物联网 第17课 物联数据需采集图9

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

3. 编写程序
首先,参考第9课方法,让实验盒连接无线网络。
【义教指南】八年级 物联网 第17课 物联数据需采集图10

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

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

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

核心程序如下图所示:
【义教指南】八年级 物联网 第17课 物联数据需采集图12

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

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

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

4. 运行程序
点击界面右上方的运行按钮,运行程序。
【义教指南】八年级 物联网 第17课 物联数据需采集图14

运行程序后我们观察实验盒显示的内容。
【义教指南】八年级 物联网 第17课 物联数据需采集图15

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/
注册并登录心知天气,点击“立即免费试用”
【义教指南】八年级 物联网 第17课 物联数据需采集图16

申请天气API,例如最左边的免费版(有访问频限 20次/分钟)
【义教指南】八年级 物联网 第17课 物联数据需采集图17

点击右上角的“工作台”,在左侧的产品管理一栏下找到申请的产品,就可以在对应界面中找到需要使用的接口密钥。
【义教指南】八年级 物联网 第17课 物联数据需采集图18

2)查询城市编码的方法——以心知天气为例
城市编码表格下载:https://seniverse.yuque.com/hyper_data/api_v3/sdnhw8
进入该网址后,点击下图标注位置进行下载
【义教指南】八年级 物联网 第17课 物联数据需采集图19

表格预览:
【义教指南】八年级 物联网 第17课 物联数据需采集图20


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

活动目标
学习目标

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

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

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

活动准备
硬件清单

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

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

注意:由于本单元可能会涉及SIoT数据自动爬取,所以需要提前升级开放接口的SIOTV2。
升级方法:电脑连接行空板,运行项目资料中的。
【义教指南】八年级 物联网 第17课 物联数据需采集图23

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

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

将土壤湿度传感器用3P线接到P21引脚。
【义教指南】八年级 物联网 第17课 物联数据需采集图25

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

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

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

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

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

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

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

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

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

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

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

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

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


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


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail