关注
0
粉丝
1
帖子
66666
05月29日

基于物联网制作的 IOT对讲机

【掌控未来制造营】

课程名称:IOT对讲机

教师姓名:陈厚节

年级:初三及以上的学生。

课时安排:2课时,每课时45分钟。

一、学生分析:

物联网是21世纪最具有前景,最火爆的研究领域之一,‘万物互联’是未来的趋势,因此很有必要让学生提前了解这个一热门领域,所以我们利用掌控板制作了一个可以利用IOT进行通信的对讲机。

二、教学目标:

 知识与技能

1. 了解MQTT、及其通信机制;

2. 了解常见物联网平台以及账号申请;

3. 了解计算机中断的概念;

4. 学习掌控中板中MQTT的使用及编程方式;

5. 学习掌控中板中语音识别的使用及编程方式;

6. 学习掌控板上连接wifi、按键和OLED的使用和编程方式;

7. 学习掌控版上触摸按键、蜂鸣器的使用和编程方式;

8. 学习编程语句一直重复执行与如果执行的区别和使用方式;

 过程与方法

1. 通过学生制作IOT对接机的过程,让学生体会、熟悉MQTT的通信机制;

2. 项目设计中实现多学科交叉融合。

 情感态度与价值观

1. 培养学生发现问题、解决问题的能力;

2. 培养学生自主探究学习能力、动手实践能力。

三、重难点:

 教学重点

1. MQTT 发布-订阅消息传递模式;

2. 掌控板中发布、订阅主题的使用方法;

3. 掌控版中语音识别模块的使用方法;

 教学难点

1. MQTT 发布-订阅消息传递模式;

2. 掌控板中订阅主题的使用方法;

四、课前准备:

 硬件

掌控板、数据线。

 软件

Mpython: :https://steamaker.oss-cn-shenzhen.aliyuncs.com/autoUpdate/mpython-pro/mPython%20Setup%200.3.10.exe

教学过程:

1. 时间管理

本课程共分为两个课时,每课时45分钟。第一节课:项目引入、物联网平台账号申请以及基本使用方法。第二节课:使用掌控板实现IOT对讲机项目。

2. 课程导入

(1) MQTT


MQTT是一种基于发布 - 订阅的“轻量级”消息传递协议,用于在TCP / IP协议之上使用,它适用于需要“小代码占用”或网络带宽有限的远程位置的连接。 能实现一对多通信(人们称之为发布或订阅型)的协议。它由3 种功能构成,分别是中介(broker)、发布者(publisher)和订阅者(subscriber)。

(2) MQTT的通信方式


中介承担着转发MQTT 通信的服务器的作用。相对而言,发布者和订阅者则起着客户端的作用。发布者是负责发送消息的客户端,而订阅 者是负责接收消息的客户端。MQTT 交换的消息都附带“主题”地址,各个客户端把这个“主题”视为收信地址,对其执行传输消息的操作。 形象地比喻一下,跟现实生活中的房地产中介是一样的。业主(发送者)将房屋上架高新区二手房板块(主题),然后二手房app(中介)会自动将信息推送给关注了高新区二手方的买家(订阅者)。这就是 MQTT 的发布订阅模型。

(3) 物联网平台介绍

OneNet 中国移动物联网平台:https://open.iot.10086.cn/

优点:支持多种通讯协议,如MQTT,HTTP等;可编辑应用功能,可制作数据显示和开关控件的页面UI。

缺点:平台操作较为复杂、与官方的MQTT稍有不同,对入门者比较不好理解。

DFRobot Easy IoT 物联网平台:https://iot.dfrobot.com.cn/index.html

优点:操作简单,适合入门者学习。

缺点:不能自定义topic;缺少应用端的UI界面编辑,无法呈现数据。

Adafruit IO 物联网平台:https://io.adafruit.com/

优点:操作简单,适合MQTT教学;有丰富的dashboard编辑功能,可以很好的呈现数据;支持IFTTT,可关联很多的互联网服务,玩法多样。

缺点:国外服务器,连接不稳定,经常连接不上

(4) DFRobot Easy IoT 申请与配置

①注册账号



输入手机号,获取验证码,输入验证码,初始密码即可。

②添加新主题


点击添加新设备即可生成新的主题;可以通过点击发送消息,直接给主题发送消息;查看该主题消息记录可以通过查看详情来实现。

③ IOT关键信息


可以通过点击这个按钮,显示Iot的两个关键信息-用户名和密码。

(5) MQTT的简单应用-MQTT对接机


图中为传统的对讲机,这种对讲机依靠无线电来传输信号,实现短距离传输。不能进行超远距离传输,前面我们一起学习了一些物联网的基础知识,加上人工智能领域的语音识别-能够自动将语音转换为文字的技术,来完成一个能够实现超远传输的IOT对讲机。

3. 获取新知识

(1) 如果执行与一直重复执行


如果执行是选择结构,用于判断给定的条件,根据判断的结果来控制程序的流程。常见的有单分支选择结构、双分支选择结构、多分支选择结构以及嵌套的分支结构,形式比较灵活多变。


一直重复执行代码块内部的程序

(2) 文本拼接;


功能:将两个文本进行拼接在一起。

(3) 变量的声明和使用;



功能:声明一个变量,用来存储数据。

(4) 触摸按键;


功能:当触摸按键被触摸/释放时,执行何种操作。触摸按键可以触发中断,中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行 。

(5) OLED显示使用;


功能:控制OLED屏幕显示相应内容

(6) 播放音调使用;


功能:控制掌控板输出某种音调的音乐,P6引脚就是掌控板上面蜂鸣器正极接的管脚。

(7) 语音识别;


功能:语音识别,生成文字。

(8) 连接wifi;


功能:输入wifi名称,密码。


功能:可以判断是否连接WiFi

(9) 设置连接MQTT;


功能:Easy IoT的基本配置

(10) MQTT发送信息至某主题;


功能:向指定主题发送消息。

(11) MQTT订阅某主题接收消息;


功能:等待主题消息,当接受到消息,执行某种操作

4. 程序实现(Mixly)

项目目标:制作能够发送、接受消息的IOT对讲机。

(1) 连接wifi、MQTT服务器,连接成功后给予操作提示;


(2) 设置订阅主题,接收到消息后,鸣笛并且显示内容;


(3) 当P键被触摸后,开始语音识别,并且显示转换结果;


(4) 当N键被触摸后,发送语音识别结果,并且显示发送状态;


完整流程图、程序:




注意事项:上程序是对讲机A的程序;对讲机B的程序只需要将MQTT配置的client ID 做一个修改,将订阅主题 与 发送信息的主题对换。这样就不会出现,对讲机接收到自己消息的情况了。

五、演示视频:


4

点赞

264 次阅读2 条评论4 人赞1 人订阅
2条评论