基于 MQTT 的智能家居系统实现

1.1 实训目的

1、通过中移物联网平台注册创建 MQTT 设备;

2、使用官方 MQTT 工具模拟智能家居系统实现;

3、利用平台的 MQTT 消息服务能力,实现智能家居系统设备的实时受控;理解设备之间数据传递和

平台命令下发/上传数据的异同。

1.2 实训步骤

1.2.1 创建基于 MQTT 协议的产品

步骤 1 进入中移物联网首页的“开发者中心”

点击左上角红框内标记,从“全部产品”下各级功能中找到“基础服务”类别,点选“多协议接入”

功能点进入。

步骤 2: 创建产品

选择“MQTT(旧版)“的 Tab 页,可以看到目前没有产品,则点击“添加产品”按钮,进行添加。


在右侧滑出的页面中添加必要的产品信息:如本次实训任务中,产品名称输入“智能家居”,行业选

择“智能家居”,类别选择“家用电器”->”厨房电器”->“电热饭盒”等信息。


步骤 3:继续完善产品有关信息,如下图所示:


最后点击确定,保存各项信息,稍等页面提示产品创建成功,可以创建设备了。


1.2.2 创建基于 MQTT 的主控设备

步骤 1: 在之前创建的产品中添加设备

当我们在上一步成功建立产品后点击“立即添加设备”,页面即进入设备列表管理页面。我们也可以

点击左侧的“设备列表”菜单,同样进入该管理页面。我们点击右侧的“添加设备”按钮:


步骤 2: 配置主控设备的信息

在右侧滑出的添加设备页面中,设备名称输入“灯光主控点”,鉴权信息输入“publish”,其他保持默认。最后点击“添加”保存第一个设备的信息。


1.2.3 创建基于 MQTT 的受控设备

步骤 1: 添加设备

点击按钮添加设备,添加一个新的设备,名称输入“客厅顶灯”、鉴权信息输入“light1”,

点击“添加”完成第二个设备的创建。


步骤 2: 继续添加设备

继续点击按钮添加设备,添加另一个新的设备:设备名称输入“卧室落地灯”、鉴权信息输入

“light2”,点击“添加”完成该设备的创建。


添加完成后回到设备列表页面,可以看到有 3 个设备记录,且他们的状态是“离线”


1.2.4 下载并使用官方提供的 MQTT 工具

步骤 1:通过文档中心找到官方工具


在当前设备列表页面的右上部分,我们可以随时进入“文档中心”查看有关帮助,那么官方提供的

MQTT 测试工具也可以从这里进入获取到。在左侧菜单中,展开“设备开发指南”项,选择“测试工具”功能。


步骤 2:下载 MQTT 工具

选择 MQTT 工具“点击下载”。下载后解压其中的

文件到本地磁盘目录,双击运行该文件,能正常运行。完成即可进入下一步。

1.2.5 使用官方 MQTT 工具模拟设备接入

步骤 1: 记录 OneNET 平台中已经注册的产品及创建好的设备 ID

提示:该步目的用于填入到工具中,使得发起的 MQTT 连接里可以携带正确的信息,使其请求能被

OneNET 平台正确认证,作为一个设备顺利接入。本次实训任务里,查看到的设备信息应该类似如下,注意设备 ID,分别对应不同的设备。

步骤 2:查看产品的 ID

步骤 3:查看设备的 ID

步骤 4:接入主控设备“灯光主控点”

(1)打开如下图所示界面,注意红框内所指的三个关键输入:

DeviceID,即之前步骤查看的 “灯光主控点”的设备 ID;

ProductID,即之前步骤查看的 MQTT 产品的 ID;

AuthInfo,即之前步骤中“灯光主控点”在创建时填入的鉴权信息


(2)填入所需信息,检查无误后,点击“Connect”按钮,连接到 OneNET 平台。

提示:OneNET 平台的 MQTT 服务接入地址及端口,工具已经默认填入,不需更改。


(3)进入 OneNET 平台设备管理页面中。查看平台侧对于设备状态的刷新情况。可以看到,“灯光

主控点”设备已上线。



1.2.6 为所有受控设备设置订阅

步骤 1: 对“客厅顶灯”设备设置一个“订阅”

(1)在 “客厅顶灯”设备所代表的 MQTT 工具窗口中部“订阅”tab 页里,填写一个订阅主题,

本次实训任务填写内容为“power“;

(2)点击“订阅“按钮,告知 OneNET 平台该设备对“power”主题的相关数据感兴趣,有这方面

的数据均要告知本设备。


1.2.7 主控设备发布消息,受控设备均获得消息

步骤 1: 在“灯光主控点”设备中发布一个数据消息,主题为“power”

(1)在 “灯光主控点”设备所在 MQTT 工具窗口中部“发布”tab 页里,发布一个主题,本次实训

任务填写内容为“power“,在内容部分里可以填“Hello everyone, 关灯!”

(2)点击“Submit“按钮,发布一条“power”相关主题的数据到 OneNET 平台。


步骤 2: 设备上查看收到的平台推送消息

(1)在 “客厅顶灯”设备所在 MQTT 工具窗口中部“收到的 Topic”tab 页里,查看来自 OneNET

平台推送的信息,可以看到有一条推送,且内容正是“Hello everyone, 关灯!”。



1.3.1 OneNET 平台直接下发命令给接入的设备

步骤 1: OneNET 平台直接下发命令给接入的设备

(1)在 OneNET 平台上设备列表页面,对“客厅顶灯”设备记录所在的条目,点击右侧“更多操作”,

在浮动窗口里点“下发命令”功能。


(2)点击右侧的“下发命令”按钮。


(3)在右侧滑出的窗口中选择字符串格式,输入数据“跟我一起做 ABC”,点击下方的“发送”按

钮。


(4)在命令列表页面可以看到下发数量,且状态为已发往设备。



步骤 2:查看对应设备接受命令情况

在“客厅顶灯”设备所在 MQTT 工具窗口中部“[OneNET]平台指令接收”tab 页里,查看来自 OneNET

平台下发的指令,可以看到有一条指令,且内容正是“跟我一起做 ABC”。



1.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 为 1 的数据集。



点击该数据集,可以看到之前上传的数据展开成为一个折线图。



1.4 实训小结

实训小结:

1、中移物联网平台创建 MQTT 产品的入口、注册 MQTT 设备的注意点;

2、官方 MQTT 协议工具的使用技巧,如何正确将智能家居系统场景映射到 MQTT 设备客户端中;

3、利用平台的 MQTT 消息服务能力,实现设备之间的数据实时传递,以及平台与设备之间的命令下

发和数据上传。

你可能感兴趣的:(基于 MQTT 的智能家居系统实现)