杨子煜 宋秀双
教学背景
随着物联网技术越来越受到创客及中小学校的重视,更多的物联网开发应用也应运而生。比起传统的网络上传数据应用,物联网技术应用具有全面感知、传递可靠、智能处理等特点,可将线下传感器获取的数据实时传输到云端并进行智能化处理及控制,是我国大力发展并具有美好前景的技术之一。本项目带领学生设计制作了“物联网云端计数器”,通过案例讲解能够充分发散学生思维并提升创造能力,为日后的互联网通信技术学习打下坚实基础。
教学目标
知识与技能
运用无线射频技术,了解如何获取多个简单信号数据,并将其通过ESP32 主板上传保存到物联网云端;学会多设备实时共享上传和信息互通的功能。
过程与方法
以小组合作的方式,运用学过的物联网知识与技能,开展物联网云端项目的学习与探究。
情感态度与价值观
通过较简单的物联网信息传输示例,为学生普及物联网通讯知识,并激发学生的创造力,从而发掘物联网传输的无限可能,培养学生的创新精神。
教学重点与难点
教学重点
利用Arduino 软件编写程序控制ESP32 主控板通过Wi-Fi 连接物联网。
教学难点
阿里云物联网参数配置及WEB 人机交互页面的制作。
教学实施
为便于学生理解,本课程仅设置2 个按钮作为信号源,根据教学难度作适当调整,将信号源连接到射频模块发射端发射射频信号后,由ESP32 主板作为主基站,连接射频模块接收端获取信号并上传到物联网,即可实现云端数据记录。
材料准备
数字射频无线开关套件(433 MHz)×1, 萤火虫ESP32 主控板×1, 萤火虫ESP32 扩展板×1,按钮×2,3.7 V 锂电池×1, 排线若干。
ESP32 主控板 为了降低实际操作难度,本课程采用ESP32 主控板(图1),其使用简单高效,可方便地通过Wi-Fi 连接到局域网,传输速度也较快,是常用的物联网项目主板。接线方面,使用扩展板引出主板IO 脚接线,学生也可以用公母头杜邦线作代替。
射频 本课程采用射频传输简单的信号(图2),相比于传统的蓝牙信号,具有操作简单、成本低、传输距离远的特点,加上高度的集成化设计,可以实现单个发射端采集四路信号(按钮的状态)的功能,便于在各种课堂环境下操作演示。
流程设计
如图3 所示, 学生将通过单主机多分机的模式进行数据采集, 并上传到云端记录。
硬件制作
教师: 引导学生按照图4(发射端接线方式)、图5(接收端接线方式)所示接线,引脚编号可根据课程实际需求自行更换或添加。操作过程中可以一并介绍单片机基本概念和工作原理。
学生:结合课后演示,提升项目美观程度,按钮可以嵌入海绵或玩偶等,根据自身喜好制作。
教师:演示操作。
● 点按一下接收器的按钮(按压时间小于0.5 秒),按钮旁边的蓝色指示灯亮起,此时进入等待配对状态。
● 6 秒内使发射器的任意一路持续发射信号,直到接收器的蓝色指示灯闪烁3 次,此时配对成功。
● 蓝色指示灯闪烁3 次,配对成功后会再次亮起,这时可进行下一个发射器的配对,如果没有下一个要配对的发射器,等待6 秒后会自动退出配对模式。射频模块默认为点动模式。即接收端收到信号就输出高电平,没有收到信号为低电平。
软件部分教师:本次课程使用阿里云物联网,演示具体的操作步骤,按照说明带领学生操作。
学生:登录DFRobot 社区查询“阿里云教程”获取详细的图文说明,结合教师演示,完成物联网配置。
● 进入阿里云平台,注册并实名认证后进入企业物联网平台。
● 点击进入“公共实例”并创建产品,设置产品名称及参数,选择自定义产品,并设置Wi-Fi 连接及ICA 数据格式。
● 在创建好的产品中选择功能定义并添加自定义功能,设置数据类型为int 读写类型,创建完成后将功能发布上线,并记录功能标识符以便后续在代码中进行更替。
● 同理,需要在“设备”中添加新的设备,并在设备证书中获取设备名称、密钥等信息,用于之后的代码改写。
● 将设备上线后点击“在线调试”,分别调节设备状态为0 和1 并点击设置,随后即可在“Topic 类列表”中的“物模型通信Topic”获取该设备的属性上报和设置的Topic 类。
● Arduino 编程。打开示例代码(https://mc.dfrobot.com.cn/thread-311485-1-1.html), 根据之前获取的设备密钥等信息,分别在示例代码中修改Wi-Fi 名称(SSID)、Wi-Fi 密码、“ProductKey”“ClientId”“DeviceName””DeviceSecret”“Identifier”
的字符串内容(图6)。设置完基本参数,需要根据硬件接线方式更改代码中引用的引脚编号,将初始计数值设置为0,然后上传到ESP32 主控板。
● 按照上述步驟上传修改好的代码后,就能基本实现本课程需要的功能,即按下按钮后阿里云物联网云端的相应数值就增加1。
实际操作前可先向学生介绍目前主流的物联网平台及其区别,包括但不限于阿里云、百度云及腾讯云等,可让学生分组操作,每组4 人,分别设计不同的数据信号源用于上传。
人机交互学生:点击进入物联网平台,新建Web 应用,在菜单栏导入背景及文字卡片等,并将卡片数字与计数器数值绑定。此外,也可以自行DIY 一些组件丰富的Web 界面,提高交互性,设置完成后点击发布,线下的计数可在设计好的云端界面直接显示(图7)。
教师:对学生的Web 界面及交互性能进行评分。
交流分享
教师邀请各小组学生代表上台演示本组作品并介绍作品亮点,说一说亮点是如何实现的,讲一讲在制作过程中遇到的问题及解决方法。
教师对学生的演示进行点评,并进一步扩展,使用功能各异的多种传感器采集数据,对上传到云端的数据进行逻辑判断,通过发送短信或控制其他执行器进行反馈操作。
教学反思
通过教师指导,该物联网远程计数器功能便可完整实现,但该课程仅简单为学生演示了物联网技术的一角,还可在此基础上进一步开发,比如用于远程监测家中温湿度数据、操控智能插座打开空调、远程监测某地水质数据并及时自动发送报警信息等。虽然这些功能在市面上已经有很多产品可以实现,但依旧留下了非常多的创作空间,教师可引导学生开发更多或实用或富有创造力的物联网设备,并思考物联网在日常生活中还有哪些妙用,从而举一反三,锻炼学生的思维发散能力。