华为云IoT智简联接-快速构建智慧生活实践

举报
lwq1228 发表于 2021/11/07 10:11:19 2021/11/07
【摘要】 1、资源准备 1.1、下载MQTT设备模拟器访问如下地址,下载MQTT设备模拟器(这里使用1.7.1版本)http://www.jensd.de/apps/mqttfx/1.7.1/mqttfx-1.7.1-windows-x64.exe下载完成后,直接傻瓜式安装即可。 1.2、下载产品模型文件访问如下地址,下载“实验资源.zip”文件https://bbs.huaweicloud.cn...

1、资源准备

1.1、下载MQTT设备模拟器

访问如下地址,下载MQTT设备模拟器(这里使用1.7.1版本)

http://www.jensd.de/apps/mqttfx/1.7.1/mqttfx-1.7.1-windows-x64.exe

下载完成后,直接傻瓜式安装即可。

1.2、下载产品模型文件

访问如下地址,下载“实验资源.zip”文件

https://bbs.huaweicloud.com/forum/forum.php?mod=attachment&aid=NTcyMzMxfDkzNDNkMjA4fDE2MzYyNDQwMjR8Mjk1OTU5fDE2MTQ2NA%3D%3D

下载后解压内容如下:

2、创建产品

2.1、进入IoTDA控制台

在华为云控制台,服务列表中找到IoTDA,点击进入

2.2、创建资源空间

(1)在左侧导航栏,选择“资源空间”,单击“新建资源空间”

(2)输入空间名称,单击“确定”

2.3、创建产品

(1)在左侧导航栏,选择“产品”,单击“创建产品”

(2)创建智能门控产品:填写参数信息后,单击“立即创建”。

所属资源空间:选择2.2创建的资源空间或者直接使用默认资源空间
产品名称:自定义,如Smart_Door
协议类型:MQTT
数据格式:JSON
厂商名称:自定义,如Huawei
所属行业:无
设备类型:自定义,如Smart_Door

(3)创建成功如图

(4)点击查看详情,进入产品详情页面

(5)单击“上传模型文件”,选择模型文件(Smart_Door_profile.zip)后,单击“确定”

(6)上传成功后如图

(7)按照(2)至(6)步创建智能灯泡产品,并上传产品模型文件

创建产品,填写参数信息:
	所属资源空间:选择2.2创建的资源空间或者直接使用默认资源空间
	产品名称:自定义,如Smart_Light
	协议类型:MQTT
	数据格式:JSON
	厂商名称:自定义,如Huawei
	所属行业:无
	设备类型:自定义,如Smart_Light
上传模型文件:Smart_Light_profile.zip

(8)按照(2)至(6)步创建智能加湿器产品,并上传产品模型文件

创建产品,填写参数信息:
	所属资源空间:选择2.2创建的资源空间或者直接使用默认资源空间
	产品名称:自定义,如Smart_Humidifier
	协议类型:MQTT
	数据格式:JSON
	厂商名称:自定义,如Huawei
	所属行业:无
	设备类型:自定义,如Smart_Humidifier
上传模型文件:Smart_Humidifier_profile.zip

(9)三个产品创建完成,查看产品列表,如图

3、注册设备

(1)在左侧导航栏,选择“设备 > 所有设备”,单击“注册设备”

(2)注册“智能门控”设备:填写参数信息后,单击“确定”

所属资源空间:与创建产品时的资源空间保持一致
所属产品:选择“智能门控”产品,即Smart_Door
设备标识码:自定义,如Smart_Door_01
设备名称:自定义,如Smart_Door_01
设备认证类型:默认配置,即“密钥”
密钥/确认密钥:12345678

(3)设备注册成功,请记录系统返回的“设备ID”和“设备密钥”,设备注册成功后是“未激活”状态,需要使用设备模拟器接入平台成功后,才会显示为“在线”状态

(4)重复(1)至(3),注册“智能灯泡”设备

所属资源空间:与创建产品时的资源空间保持一致
所属产品:选择“智能灯泡”产品,即Smart_Light
设备标识码:自定义,如Smart_Light_01
设备名称:自定义,如Smart_Light_01
设备认证类型:默认配置,即“密钥”
密钥/确认密钥:12345678

(5) 重复(1)至(3),注册“智能加湿器”设备

所属资源空间:与创建产品时的资源空间保持一致
所属产品:选择“智能加湿器”产品,即Smart_Humidifier
设备标识码:自定义,如Smart_Humidifier_01
设备名称:自定义,如Smart_Humidifier_01
设备认证类型:默认配置,即“密钥”
密钥/确认密钥:12345678

(6)三个设备注册完成,查看设备列表,如图

4、创建设备联动规则

(1)在左侧导航栏,选择“规则 > 设备联动”,单击“创建规则”

(2)按照如下参数配置后,单机“创建规则”

规则名称:智能门锁开_灯开
生效时间:指定时间 | 周一到周日 | 18:00-06:00
触发条件:指定设备触发 | Smart_Door_01 | sensor | lock_state | ON
执行动作:下发命令 | Smart_Light_01 | sensor | cmd | switch: ON

(3)创建“智能加湿器_自动开”规则

规则名称:智能加湿器_自动开
生效时间:一直生效
触发条件:指定设备触发 | Smart_Humidifier_01 | sensor | Humidity < 45
执行动作:下发命令 | Smart_Humidifier_01 | sensor | cmd | switch: ON

(4)创建“智能加湿器_自动关”规则

规则名称:智能加湿器_自动关
生效时间:一直生效
触发条件:指定设备触发 | Smart_Humidifier_01 | sensor | Humidity > 55
执行动作:下发命令 | Smart_Humidifier_01 | sensor | cmd | switch: OFF

(5)创建“人物移动_灯开”规则

规则名称:人物移动_灯开
生效时间:指定时间 | 周一到周日 | 00:00-06:00
触发条件:指定设备触发 | Smart_Door_01 | sensor | body_state = 1
执行动作:下发命令 | Smart_Light_01 | sensor | cmd | switch: ON

(6)创建“家人外出_ 灯关_门关”规则

规则名称:家人外出_灯关_门关
生效时间:一直生效
触发条件:指定设备触发 | Smart_Door_01 | sensor | body_state = 0
执行动作:下发命令 | Smart_Door_01 | sensor | cmd | switch: OFF
	    下发命令 | Smart_Light_01 | sensor | cmd | switch: OFF

(7)五条设备联动规则创建完成,查看列表如图

5、设备模拟器上报数据

(1)在设备列表中,点击相应设备的查看,查看设备ID

(2)访问如下地址,填写注册设备成功后生成的设备ID和设备密钥,生成连接信息(ClientId、Username、Password)

https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com

(3)打开MQTT.fx软件,单击设置图标

(4)配置鉴权参数

总览中点击“平台接入地址”,查看Broker Address

Broker Address:填写设备接入服务MQTT协议接入的域名地址
Broker Port:填写设备接入服务MQTT协议接入的端口,即1883
Cliend ID:设备cliendId
User Name:即设备ID
Password:加密后的设备密钥

(5)单击“Apply”保存配置后,在主界面单击“Connect”,设备鉴权成功后,在设备接入服务控制台可以看到设备处于在线状态

(6)通过MQTT.fx模拟设备上报属性,并在物联网平台查看设备上报数据,在Publish页签,填写设备属性上报Topic,及JSON消息体,单击“Publish”完成上报

Topic:$oc/devices/cliendId/sys/properties/report
其中,cliendId为设备ID,请替换为实际值。
{ 
    "services": [{ 
            "service_id": "sensor", 
            "properties": { 
                "lock_state": "OFF", 
                "body_state": 0 
            }, 
            "event_time": "20211107T121212Z" 
        } 
    ] 
}

(7)在物联网平台-设备详情页查看设备上报数据

(8)通过MQTT.fx订阅命令下发Topic,并在物联网平台下发控制命令,查看设备是否收到平台下发的命令,在Subscribe页签,填写命令下发Topic,并单击“Subscribe”完成订阅

Topic:$oc/devices/cliendId/sys/commands/#
其中,cliendId为设备ID,请替换为实际值

(9)在物联网平台执行命令下发:进入设备详情页,选择“命令”页签,单击同步命令下发区域的“命令下发”,设置参数并单击“确定”完成命令下发

(10)在MQTT.fx客户端查看,平台下发命令接收成功

(11)参考(1)至(10),分别实现“智能灯泡”和“智能加湿器”设备属性数据上报和命令下发

(12)所有设备通过MQTT连接后,在线状态如下

6、模拟批量数据上报

(1)点击“Edit”,编辑Scripts脚本

(2)脚本内容如下

var Thread = Java.type("java.lang.Thread");

function execute(action) {
    out("Test Script: " + action.getName());
	var humidity;
    for (var i = 0; i < 500; i++) {
        switchOn();
		Thread.sleep(500);
		switchOff();
		Thread.sleep(500);
    }
    action.setExitCode(0);
    action.setResultText("done.");
    out("Test Script: Done");
    return action;
}

function switchOn() {
	out("switchOn");
    var data = '{ "services": [{ "service_id": "sensor", "properties": { "lock_state": "ON", "body_state": 1 }, "event_time": "20211107T121212Z" } ]}';
    mqttManager.publish("$oc/devices/clientId/sys/properties/report", data);
}

function switchOff() {
	out("switchOff");
    var data = '{ "services": [{ "service_id": "sensor", "properties": { "lock_state": "OFF", "body_state": 0 }, "event_time": "20211107T121212Z" } ]}';
    mqttManager.publish("$oc/devices/clientId/sys/properties/report", data);
}

function out(message){
     output.print(message);
}

注:脚本中的clientId需要替换成对应的设备ID

(3)点击“Execute”按钮执行脚本

(4)在左侧导航栏,选择“监控运维 > 统计报表”,按所属资源空间筛选查看设备统计情况

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。