物应1901 邓柱
基于 MQTT 的智能家居系统实现
3.1 实训目的
- 通过中移物联网平台注册创建 MQTT 设备;
- 使用官方 MQTT 工具模拟智能家居系统实现;
- 利用平台的 MQTT 消息服务能力,实现智能家居系统设备的实时受控;理解设备之间数据传递和平台命令下发/上传数据的异同。
3.2 实训步骤
3.2.1 创建基于 MQTT 协议的产品
步骤 1 进入中移物联网首页的“开发者中心”
选择多协议接入,产品信息可随意创建,联网方式选择wifi,操作系统:无
选择“MQTT(旧版)“的 Tab 页,点击“添加产品”按钮,进行添加。
3.2.2 创建基于 MQTT 的主控设备
步骤 1: 在之前创建的产品中添加设备
当我们在上一步成功建立产品后点击“立即添加设备”.
3.2.3 创建基于 MQTT 的受控设备
步骤 1: 添加设备
点击“添加设备”按钮,添加一个新的设备,名称输入“客厅顶灯”、鉴权信息输入“light1”,
继续点击“添加设备”按钮,添加另一个新的设备:设备名称输入“卧室落地灯”、鉴权信息输入“light2”,点击“添加”完成该设备的创建
添加完成后回到设备列表页面,可以看到有 3 个设备记录且他们的状态是“离线”
3.2.4 下载并使用官方提供的 MQTT 工具
步骤 1:通过文档中心找到官方工具在左侧菜单中,展开“设备开发指南”项,选择“测试工具”功能。
步骤 2:下载 MQTT 工具选择 MQTT 工具“点击下载”。下载后解压其中的 simulate-device.exe 文件到本地磁盘目录,双击运行该文件,能正常运行。完成即可进入下一步。
3.2.5 使用官方 MQTT 工具模拟设备接入
步骤 1: 记录 OneNET 平台中已经注册的产品ID及创建好的设备 ID
步骤2 :接入主控设备“灯光主控点”如下图所示界面,注意红色箭头所指的三个关键输入:
- DeviceID,即之前步骤查看的 “灯光主控点”的设备 ID;
- ProductID,即之前步骤查看的 MQTT 产品的 ID;
- AuthInfo,即之前步骤中“灯光主控点”在创建时填入的鉴权信息
(2)填入所需信息,检查无误后,点击“Connect”按钮,连接到 OneNET 平台。
(3)进入 OneNET 平台设备管理页面中。查看平台侧对于设备状态的刷新情况。可以看到,“灯光主控点”设备已上线。
步骤 3:接入受控设备“客厅顶灯”
(1)保持前一个 MQTT 工具窗口不关闭,另外新打开一个软件窗口,同样在红色箭头所指的三个关键输入框中填入“客厅顶灯”设备的各项信息:
(2)检查无误后,点击“Connect”按钮,连接到 OneNET 平台。查看平台侧对于设备状态的刷新情况。可以看到 “客厅顶灯”设备已上线。
(3)依次点击所有 MQTT 工具窗口中的 “Disconnect”按钮,断开工具的 MQTT 连接,刷新设备列表页面,查看显示的设备状态信息:可以看到其状态都变为离线。
3.2.6 为所有受控设备设置订阅
步骤 1: 对“客厅顶灯”设备设置一个“订阅”
(1)在 “客厅顶灯”设备所代表的 MQTT 工具窗口中部“订阅”tab 页里,填写一个订阅主题
(2)点击“订阅“按钮,告知 OneNET 平台该设备对“power”主题的相关数据感兴趣,有这方面的数据均要告知本设备。
3.2.7 主控设备发布消息,受控设备均获得消息
步骤 1: 在“灯光主控点”设备中发布一个数据消息,主题为“power”
(1)在 “灯光主控点”设备所在 MQTT 工具窗口中部“发布”tab 页里,发布一个主题,本次实训任务填写内容为“power“,在内容部分里可以填“Hello everyone, 关灯!”
(2)点击“Submit“按钮,发布一条“power”相关主题的数据到 OneNET 平台。
步骤 2: 分别在不同的受控设备上查看收到的平台推送消息
(1)在 “客厅顶灯”设备所在 MQTT 工具窗口中部“收到的 Topic”tab 页里,查看来自 OneNET
平台推送的信息,可以看到有一条推送,且内容正是“Hello everyone, 关灯!”。
步骤 3: 继续在“灯光主控点”设备上发布主题为 power 的不同内容的消息。查看在不同的受控设备上收到的平台推送消息,注意观察其推送时间。
3.3 拓展实训部分
3.3.1 OneNET 平台直接下发命令给接入的设备
步骤 1: OneNET 平台直接下发命令给接入的设备
(1)在 OneNET 平台上设备列表页面,对“客厅顶灯”设备记录所在的条目,点击右侧“更多操作”,在浮动窗口里点“下发命令”功能
(2)在右侧滑出的窗口中选择字符串格式,输入数据“芜湖”,点击下方的“发送”按钮。
(4)在命令列表页面可以看到下发命令数为 1,且状态为已发往设备。
3.3.2 接入的设备上报数据到 OneNET 平台
步骤 1: 接入的设备上报数据到 OneNET 平台
(1)在 “客厅顶灯”设备所在 MQTT 工具中部“[OneNET]上传数据点”tab 页里,选择“数据类型”下拉列表框:数据类型 7:分号间隔的 Float 数据(带时间戳)
(2)在下方切换的窗口里输入数据流 ID:1,数据:26.6;30.4;33.5;38.6;36.5;30.2;20.1;18.8。注意各个数据之间用英文分号“;”隔开,点击“上传数据”。
步骤 2:在 OneNET 平台上查看设备上报数据
在 OneNET 平台上设备列表页面,对“客厅顶灯”设备记录所在条目,点击右侧“数据流”,查看收到的数据流,可以看到数据 ID 为 2的数据集。
实训任务2 中移和物开发环境搭建
1、 实验目的
- 1、分析中移和物开发板套件硬件,了解各个组成部分作用;
- 2、熟悉开发板各个信号输入、输出点位置,了解其连接电脑的方式;
- 3、认识中移和物开发板的主要硬件及组成结构;
- 4、开发板上电方式、程序下载刷写方式;
- 5、简单的板级程序控制。
3.3智能家居系统端到端搭建
3.1实训目的
- 1.通过中移和物平台实现自定义的智能家居系统。
- 2.利用平台的数据接入以及应用能力,实现智能家居系统端的快速搭建和调试上线。
3.2、实训步骤
1.创建中移和物的智能家居产品
1.进入中移和物的平台
通过onenect平台“全部产品”,可选择进入中移和物平台
2.创建产品
进入首页点击加速智能进入产品管理
然后进行创建产品
选择产品类别选择其他
输入产品名称,然后根据下图进行创建
3.2.定义智能家居系统具备的功能
1.产品功能定义
先进行产品功能定义, 在自定义功能处进行添加(选择自由配置)
1.定义“温度”数据上报能力
2.继续添加“湿度”数据上报能力
3.添加“触控开关”数据上报能力
4.添加“彩虹灯色彩”控制能力
5.添加“彩虹灯亮度”控制能力
6.添加“智能窗帘”控制能力
7.添加“洗衣机”控制能力
8.添加“空调”控制能力
2.检查信息
全部添加完成后会呈现这种状态,记得进行对比检查数据是否相同。
3.APP界面设计
1.编辑app模板
点击此处进行APP界面设计
点进去以后点击编辑模板
模块大小设置为“中模块”,图标可按照下图或自行选择设计
点击保存以后返回APP配置界面
2.和物APP
在刚才的编辑模板界面中可以扫码下载和物APP。
安装以后可扫码查看APP的界面效果
4.接入设备
1.设备分配入网ID
打开user.c自行设置或默认一个唯一的设备号
2.按功能序号及字段名称配置设备的数据上报和下发点,与平台一致
3.设备配网及接入
1.通过和物平台进行配网点击设备接入测试,然后点击真实设备调试
此处点击添加设备,跳转出二维码后,手机进行扫描配置
手机端联网
<meta charset="utf-8">
2.真实设备进入配网模式
长按外设板上的普通按键2,约3秒钟后,蓝灯闪烁,设备自动进入配网模式,可以进行配网。
3.手机端发送WiFi配置给设备
和物APP 点击开始连接设备即可配网
配网成功界面如下图:
4.设置重启按新的WiFi网络接入平台
给设备重新上电,等待约5秒后,可以看到外设板普通LED灯3、灯4(均为蓝色)都已经点亮,表示设备板已经接入到和物平台。
6.智能家居系统中APP的使用
1.和物APP打开设备
在和物app设备列表页可可以看到新增了一个“智能家居系统”的设备,它不再是虚拟的,而是已映射到真实设备,我们点击该设备,进入到具体信息展示和控制页面
2.变更彩虹灯的颜色
点击APP界面彩虹灯色彩模块,选择绿色按钮,观察设备的状态变化。
还有一些效果图就不在演示了。
总结
- 总的来说,项目三的体验还是很丰富的,对MQTT协议有了详细认识,也了解了订阅。
- 对中移何物开发板的使用,和配网等操作有了一定的了解,能够独立完成实验,最终看到实验效果。
- 在操作方面一定要更加细心,仔细才能更好地完成实验,有时候实验的不成功也许就是很小的地方错了。