实训任务 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)检查无误后,点击“Connect”按钮,连接到 OneNET 平台。查看平台侧对于设备状态的刷新情况。可以看到 “客厅顶灯”设备已上线。
同理light2也这样配置,成功后可看到全部设备上线。
(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.创建产品
进入首页点击加速智能进入产品管理
然后进行创建产品
选择产品类别选择其他
输入产品名称,然后根据下图进行创建
创建完成就可以看到自己的产品条目了(记录产品ID)
3.2.定义智能家居系统具备的功能
1.产品功能定义
先进行产品功能定义, 在自定义功能处进行添加(选择自由配置)
1.定义“温度”数据上报能力
功能类型:属性值
功能点名称:温度
字段名称: temperature
数据类型:数值型
数值范围:0 --50
间距:0.1
单位:℃
传输类型:只上报
2.继续添加“湿度”数据上报能力
3.添加“触控开关”数据上报能力
4.添加“彩虹灯色彩”控制能力
5.添加“彩虹灯亮度”控制能力
6.添加“智能窗帘”控制能力
7.添加“洗衣机”控制能力
8.添加“空调”控制能力
2.检查信息
全部添加完成后会呈现这种状态,记得进行对比检查数据是否相同。
3.APP界面设计
1.编辑app模板
点击此处进行APP界面设计
点进去以后点击编辑模板
模块大小设置为“中模块”,图标可按照下图或自行选择设计
点击保存以后返回APP配置界面
2.和物APP
在刚才的编辑模板界面中可以扫码下载和物APP,或者各个应用商店搜索即可。
安装以后可扫码查看APP的界面效果
4.接入设备
1.设备分配入网ID
打开Keil uVision 5软件,
根据下图找到product_def.h文件,修改产品ID(第30行),改完以后保存。
2.配置真实设备的序列号
打开user.c自行设置或默认一个唯一的设备号
3.按功能序号及字段名称配置设备的数据上报和下发点,与平台一致
找到func_ops.c文件,定位到45-52行代码,将这些代码跟和物平台的代码进行比对,确定无误后保存。并重新烧写hex文件到开发板中
5.设备配网及接入
1.通过和物平台进行配网
点击设备接入测试,然后点击真实设备调试
此处点击添加设备,跳转出二维码后,手机进行扫描配置
手机端操作如下
2.真实设备进入配网模式
长按外设板上的普通按键2,约3秒钟后,蓝灯闪烁,设备自动进入配网模式,可以进行配网。
3.手机端发送WiFi配置给设备
和物APP 点击开始连接设备即可配网
配网成功界面如下图:
4.设置重启按新的WiFi网络接入平台
给设备重新上电,等待约5秒后,可以看到外设板普通LED灯3、灯4(均为蓝色)都已经点亮,表示设备板已经接入到和物平台。
6.智能家居系统中APP的使用
1.和物APP打开设备
在和物app设备列表页可可以看到新增了一个“智能家居系统”的设备,它不再是虚拟的,而是已映射到真实设备,我们点击该设备,进入到具体信息展示和控制页面
2.变更彩虹灯的颜色
点击APP界面彩虹灯色彩模块,选择绿色按钮,观察设备的状态变化。
3.变更亮度
1.拖动彩虹灯亮度模块的滑动条,到某个位置后放开,观察设备的状态变化。
2.多次点击彩虹灯亮度模块左右两端的“-”和“+”符号,观察设备变化
4.调整窗帘动作
1.点击APP界面智能窗帘模块,选择正转按钮,观察设备的状态变化,点击停止按钮,观察设备变化。
2.如发现点击的按钮望动作,与实际设备动作不符,则依次排查和物平台数据点定义,设置程序中对于控制数据点颜色定义是否一致。
4、实训小结
本次实验,又让我了解了云平台的相关新知识,认识了中移和物开发板的主要硬件及组成结构,实验内容真实有趣,虽有一些问题断断续续,但在同学与老师的指导帮助下成功完成,收获挺大的。