实训任务 1 基于 MQTT 的智能家居系统实现
1.1 实训目的
1、通过中移物联网平台注册创建 MQTT 设备;
2、使用官方 MQTT 工具模拟智能家居系统实现;
3、利用平台的 MQTT 消息服务能力,实现智能家居系统设备的实时受控;理解设备之间数据传递和
平台命令下发/上传数据的异同。
1.2 实训步骤
1.2.1 创建基于 MQTT 协议的产品
步骤 1 进入中移物联网首页的“开发者中心”
选择多协议接入,产品信息可随意创建,联网方式选择wifi,操作系统:无
选择“MQTT(旧版)“的 Tab 页,点击“添加产品”按钮,进行添加
1.2.2 创建基于 MQTT 的主控设备
步骤 1: 在之前创建的产品中添加设备
当我们在上一步成功建立产品后点击“立即添加设备”,页面即进入设备列表管理页面。我们也可以
点击左侧的“设备列表”菜单,同样进入该管理页面。
目前因为是新产品,当前设备数为 0,我们点击右侧的“添加设备”按钮。
1.2.3 创建基于 MQTT 的受控设备
步骤 1: 添加设备
点击“添加设备”按钮,添加一个新的设备,名称输入“客厅顶灯”、鉴权信息输入“light1”,
点击“添加”完成第二个设备的创建。
步骤 2: 继续添加设备
继续点击“添加设备”按钮,添加另一个新的设备:设备名称输入“卧室落地灯”、鉴权信息输入
“light2”,点击“添加”完成该设备的创建
添加完成后回到设备列表页面,可以看到有 3 个设备记录,且他们的状态是“离线”
1.2.4 下载并使用官方提供的 MQTT 工具
步骤 1:通过文档中心找到官方工具
在左侧菜单中,展开“设备开发指南”项,选择“测试工具”功能。
步骤 2:下载 MQTT 工具
选择 MQTT 工具“点击下载”。下载后解压其中的 simulate-device.exe 文件到本地磁盘目录,双击运行该文件,能正常运行。完成即可进入下一步。
1.2.5 使用官方 MQTT 工具模拟设备接入
步骤 1: 记录 OneNET 平台中已经注册的产品ID及创建好的设备 ID
步骤2 :接入主控设备“灯光主控点”
(1)打开
如下图所示界面,注意红色箭头所指的三个关键输入:
DeviceID,即之前步骤查看的 “灯光主控点”的设备 ID;
ProductID,即之前步骤查看的 MQTT 产品的 ID;
AuthInfo,即之前步骤中“灯光主控点”在创建时填入的鉴权信息
(2)填入所需信息,检查无误后,点击“Connect”按钮,连接到 OneNET 平台。
(3)进入 OneNET 平台设备管理页面中。查看平台侧对于设备状态的刷新情况。可以看到,“灯光主控点”设备已上线。
步骤 3:接入受控设备“客厅顶灯”、“卧室落地灯”
(1)保持前一个 MQTT 工具窗口不关闭,另外新打开一个软件窗口,继续按照上面的方法使其他两个设备都在线。
(2)(3)依次点击所有 MQTT 工具窗口中的 “Disconnect”按钮,断开工具的 MQTT 连接,刷新设备列表页面,查看显示的设备状态信息:可以看到其状态都变为离线。
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, 关灯!”。
步骤 3: 继续在“灯光主控点”设备上发布主题为 power 的不同内容的消息。查看在不同的受控设备上收到的平台推送消息,注意观察其推送时间。
1.3 拓展实训部分
1.3.1 OneNET 平台直接下发命令给接入的设备
步骤 1: OneNET 平台直接下发命令给接入的设备
(1)在 OneNET 平台上设备列表页面,对“客厅顶灯”设备记录所在的条目,点击右侧“更多操作”,在浮动窗口里点“下发命令”功能
(2)在右侧滑出的窗口中选择字符串格式,输入数据“跟我一起来”,点击下方的“发送”按钮。
(4)在命令列表页面可以看到下发命令数为 1,且状态为已发往设备。
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 为 2的数据集。
实训任务2 中移和物开发环境搭建
1、 实验目的
1、分析中移和物开发板套件硬件,了解各个组成部分作用;
2、熟悉开发板各个信号输入、输出点位置,了解其连接电脑的方式;
3、认识中移和物开发板的主要硬件及组成结构;
4、开发板上电方式、程序下载刷写方式;
5、简单的板级程序控制。
2、实验步骤
2.1、开发板上电
1.安装CP2102 驱动程序(位于工具包内)
根据向导点击安装即可
给设备上电后,打开设备管理器,查看端口,发现端口后,进入下一步
2.2、开发环境准备
1.启动Keil uVision 5 软件**
2.装载和物开发配套工程**
打开Project菜单下“open project” 命令,打开“project”文件夹,双击HEWU_Standard.uvprojx进入工程文件
3.工程编译
点击左上角的编译按钮开始编译,没有错误即可
2.3、开发板程序刷写
1.运行串口刷写工具
拷贝配套资料目录中“工具“目录里
文件到本地目录,双击运行。
2.匹配串口,选择目标文件,点击搜索串口进行匹配
依次选择点击
3.设置开发板进入待下载状态
开发板上电后默认不是等待下载状态,需按住Boot0按键,不要松开,同时按一下复位键,这时开发板会进入下载状态,才可烧写代码。
4.下载目标程序文件
点击开始编程按钮,上述操作完成后便可刷写完成。
如果刷写失败可理解第三步的做法,多次尝试拷录。
下载完成以后请按复位键或者重新上电,使开发板进入程序运行状态。
3.3智能家居系统端到端搭建
3.1实训目的
1.通过中移和物平台实现自定义的智能家居系统。
2.利用平台的数据接入以及应用能力,实现智能家居系统端的快速搭建和调试上线。
3.2、实训步骤
1.创建中移和物的智能家居产品
1.进入中移和物的平台
通过onenect平台“全部产品”,可选择进入中移和物平台
使用OneNET平台账号登录
2.创建产品
进入首页点击加速智能进入产品管理
然后进行创建产品
全部添加完信息成后会呈现这种状态
3.APP界面设计
1.编辑app模板
点击此处进行APP界面设计
点进去以后点击编辑模板
模块大小设置为“中模块”,图标可按照下图或自行选择设计
点击保存以后返回APP配置界面
2.和物APP
在刚才的编辑模板界面中可以扫码下载和物APP,或者各个应用商店搜索即可。
安装以后可扫码查看APP的界面效果
设备配网和接入
长按外设板上的普通按键 2,约 3 秒钟后,设备自动进入配网模式,可以进行配网。
提示 1:普通 LED 灯 3(蓝色)在闪烁,即表示设备进入配网模式。
在“手机端 app”上点击“开始连接设备”,配置 wifi 连接信息,供配网时发送给设备板。
配置完成点击下一步,开始配网。
然后就可以通过中移和物APP控制实训开发板上的彩虹灯,电机和触控板了,也可以看到实时的温湿度数据。
四、实训总结
在本次实训中很有收获,进一步了解了智慧家居系统的组成,但是最后一步很有遗憾,因为网络的原因,连接失败,没能够通过应用控制彩虹灯。但学到了许多云平台的相关新知识。