![](/jyzk/upload_201311_pic/images/20240104/B6REN.png)
康留元
河南省汝州市信息科技学科高级教师,全国中小学生创·造大赛裁判员,DF创客社区IoT物联网版主,吴俊杰老师创客教育普惠课程掌控板mPython基础课程合伙人。
教学背景
随着社会新型智慧城市建设的推进,智能化的技术手段被应用到城市各个领域,智慧公交也开始出现在各个城市街头。智慧公交不仅可以实现公交语音播报站点,还可以实现实时查询公交车的位置,方便出行。本节课学生将学会利用Easy IoT物联网平台,模仿设计公交车语音播报系统,实现公交语音播报和位置查询的功能。
教学目标
1.通过了解语音合成原理,学习Easy IoT物联网平台MQTT(消息队列遥测传输)相关知识。
2.经历根据需求,设计和搭建简单的应用系统,解决实际生活问题的过程。
3.感受万物互联给人们的生活带来的改变,提高学生计算思维和解决问题的能力。
教学重点与难点
教学重点:体验物联网系统的数据采集、网络传输和反馈的过程。
教学难点:学会利用Mind+ 实时模式下“广播”传递数据的方法,能根据实际需要利用物联网解决问题。
教学准备
硬件:掌控板(国产开源硬件);中英文语音合成模块V2.0(Gravity);IO扩展板。
软件:Mind+(编程环境)。
教学过程
一、观看视频,导入主题
师:这是一个万物互联的全新时代,物联网技术正渐行渐近地走进我们的生活。什么是物联网?物联网这个名词听起来很专业,似乎离我们很远,但其实它已经融入人们的日常生活。同学们,一起来观看视频,我们可以看到人们用手机解锁共享单车,用手机上的“百度地图”实时查询公交车的位置,智慧公交车已经进入我们的生活。智慧公交车不仅开拓了人性化的服务模式,而且构建了智慧生活与生态和谐共美的人居环境。今天我们一起学习设计与搭建基于Easy IoT平台的公交车语音播报系统,目标是实现公交语音播报和位置查询的功能。
学生观看视频后,已经对今天将要学习的内容有了最初的印象。
二、学习新知,创建项目
Easy IoT是一个常用的国际化物联网服务平台,可以对联网的传感器和执行器数据进行实时监控和反馈,并且对接收到的数据进行统计和分析,并向传感器和执行器发回数据,实现控制效果。它的操作简单明了,学生能够迅速掌握技巧,搭建一个物联网项目。
学生登录Easy IoT网站,在线注册账号,然后点击“工作间”,新建一个设备,默认名字为“设备一”。一个账号默认有10000条信息的储存容量,这些容量能够实现所有设备共享。如果设备上方显示“0/1000”,那意味着此设备最大可储存1000条信息,已使用0条信息的储存空间,当收发的信息超过1000条,新信息将不再存入系统中。每个设备默认每隔1秒储存一次消息。学生们可以观察到设备唯一识别码Topic以及用户信息,点击“眼睛”图标可以将隐藏的Iot_id和Iot_pwd显示出来。
三、动手实践
1.认识广播
在Mind+ 编程中,广播—消息机制就是编程的全局事件。当一个消息被广播时,所有角色(包含广播者自身)都会接收到该消息。广播可以在不同角色中传递消息,以站点“汝瓷小镇”三条指令为例。
(1)接收到汝瓷小镇:意味着当角色接收到消息时,触发该脚本。
(2)广播汝瓷小镇:向包含自身在内的所有角色发送该消息。发送结束后,会立即继续向下执行脚本。
(3)广播汝瓷小镇并等待: 消息发送后,等到所有接收消息的脚本执行完成后才继续向下执行脚本。
2.测试物联网平台数据
打开Mind+ 右上角“实时模式”,再点击界面左下角“扩展”,添加网络服务MQTT,测试物联网数据传输是否正常。登录Easy IoT物联网平台,设置公交车报站主题,发送启动或者运行命令。学生需要在 Mind+ 实时模式下,测试创建的角色“小麦”是否能接收到相关命令,保证物联网平台数据畅通。
四、程序编写
1.明确程序算法思路
(1)当按下掌控板A键,掌控板显示公交车语音播报系统,语音播放:“乘客您好,欢迎乘坐汝州市七路公交车,请站稳扶好。”同时,Easy IoT物联网平台发出“运行”命令,小麦接收命令后显示“iot连接成功”,继续等待掌控板B键按下的命令。
(2)当按下掌控板B键,Easy IoT物联网平台会发出“启动”命令,电脑接收到命令后,小麦变身一名公交车司机,驾驶“汝河号公交车”,带领大家一起去体验智慧公交车之旅。
(3)小麦依次发出公交车站点“风穴寺”“市二高”“汝瓷小镇”“沙滩公园”“市标”“中大街”的报站提示音,MQTT发出等待六站的信息,掌控板通过Easy IoT物联网平台收到“风穴寺”等六站信息命令后,播放公交车语音报站信息。
2.编写程序
公交车语音报站A端:打开Mind+ 右上角“实时模式”,点击界面左下角“扩展”,添加网络服务MQTT以及相关角色和舞台。小麦角色初始化程序如图1所示,公交车角色编程如图2所示。
![](/jyzk/upload_201311_pic/images/20240104/B6-1%202.png)
公交车语音报站B端:打开Mind+ 连接设备COM12,打开界面右上角“上传模式”, 左下角点击“扩展”,添加掌控板和语音合成模块以及网络服务MQTT和 Wi-Fi;继续点击“执行器”代码块,添加语音合成对应指令。
为了保证通信稳定,建议使用硬串口进行通信。模块循环发出合成的声音(注意中英文语音合成模块V2.0的开关是否拨到了UART方向)。如果使用到大量的文字播放,可调用“使用flash存储”功能将文字存储到Flash上减少内存。公交车语音报站B端主程序如图3所示。
![](/jyzk/upload_201311_pic/images/20240104/B6-3.png)
当行空板收到公交车语音报站A端MQTT发送的指令,会播放相关站点提示语音。“风穴寺”站点智能语音报站提示相关程序图如图4所示,其他站点程序可参考此程序。
![](/jyzk/upload_201311_pic/images/20240104/B6-4.png)
五、小组展示
学生以小组为单位共同完成项目,最后由各小组代表分享本组的公交车语音播报系统,并进行组内自评,小组之间互评。学生通过电子教室上交作业,教师给予指导与评价。
六、课外拓展
教师可以让学生开展课外拓展,结合温湿度传感器和气压传感器设计一个Easy IoT校园数字气象站,制作校园气象数据远程观测在线系统。
教学反思
学生通过设计Easy IoT物联网平台的公交车语音播报系统,知道了物联网MQTT数据传输过程,认识了语音合成原理。本课例不仅综合了开源硬件知识,还涉及了广播相关的编程知识,让学生根据实际问题的需要,培养自觉、主动寻求恰当的方式解决问题的能力以及获取与处理信息的信息意识,让学生养成数字化学习与创新的习惯。
![](/jyzk/upload_201311_pic/images/20240104/B6MA.png)