检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
考在线开发MQTT协议的模拟智慧路灯。 打开模拟推窗器的MQTT.fx,订阅平台下发的命令。 选择“Subscribe”页签。 输入订阅平台下发命令的Topic=$oc/devices/{device_id}/sys/commands/#(其中与步骤2获取的设备ID保持一致。)。
左侧应用模拟器展示区域:呈现应用服务器接收到的属性数据和下发的命令。 右侧应用模拟器区域:模拟应用下发命令。 下方消息跟踪区域:呈现设备接入,属性上报和命令下发时,平台的处理日志,帮助开发者进行问题的定界和定位。 图6 在线调试-真实设备结构 在烟感产品的开发空间,选择“在线调试”,并单击“新增测试设备”。
this.connect(true); } 订阅接收命令 订阅某Topic的设备才能接收broker发布的关于该Topic的消息,关于平台预置Topic可参考Topic定义。详细接口信息请参考命令下发。 1 2 //订阅接收命令 client.subscribe(getCmdRequestTopic()
SDK概述 物联网平台提供应用侧SDK和设备侧SDK,方便设备通过集成SDK接入到平台,应用通过调用物联网平台的API,实现安全接入、设备管理、数据采集、命令下发等业务场景。 资源包名 描述 下载路径 应用侧开发 Java SDK Java SDK提供Java方法调用应用侧API与平台通信。使用指南可以参考Java
组扩展板设计,通信模组是数据传输的出入口,常用的通信模组包括NB-IoT,Wifi以及4G等,芯片是设备的主控设备,该开发板内置了一个低功耗的STM32L431单片机作为主控芯片,即MCU。操作系统使用的是华为的LiteOS操作系统,其提供了丰富的端云互通组件。 为了便于开发调试,如图1所示,该开发板板载了2
使用TLS进行MQTT接入,需要加载服务端CA证书。参考设备侧demo MQTTS接入中证书的使用方式,或访问资源获取下载平台的CA证书。 如何排查设备鉴权失败问题? 检查是否网络问题。使用常用的网络检查命令ping、telnet、traceroute检查网络是否正常,如果网络不正常请检查下本地防火墙策略。
场景示例—智能家居煤气检测联动 场景简介:煤气检测器发现煤气浓度超标时,自动关联无线推窗器把窗户打开,起到通风的作用。 该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,用户可以在控制台或通过应用侧接口创建设备联动规则,把设备上报的属性转发,通过物联网平台规则引擎转变成命令下发给其他指定设备。
消息内容:发送的自定义的消息内容。 模板选择:使用SMN云服务定义的模板,发送消息时将模板中变量替换成对应的参数值。设备接入定义了一些通用的模板变量,在规则触发后,以下模板变量将会替换成相应的具体值。 {ruleName}:触发的规则名称 {ruleId}:触发的规则ID {deviceId}:触发规则的设备ID
图1 同步命令下发流程图 支持区域: 全部 同步命令下发 异步命令下发 应用服务器可调用异步命令下发接口向指定设备下发命令,以实现对设备的控制。平台负责将命令发送给设备,并将命令执行结果异步推送给应用。适用于设备短连接接入场景(LwM2M/CoAP协议接入设备)。异步命令下发又分为
创建产品:在物联网平台上规定好某一款产品的协议类型、数据格式、厂商名称、设备类型。此处我们需要按照智慧路灯的特征,在控制台创建智慧路灯的产品。 定义产品模型:产品模型是用来描述设备能力的文件,通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义产品模型,即在物联网平台构建一款设备的抽象模型
设备安全:提供一机一密的设备安全认证机制,防止设备非法接入,支持设备的安全检测。 信息传输安全:基于TLS、DTLS、DTLS+加密协议,提供安全的传输通道。 平台安全:基于华为云整体进行威胁防御,充分利用华为云安全服务/组件和华为的安全研究部门,建立安全分析、设计、编码、测试、安全攻防等一整套安全防御体系。
AKSK签名算法与对应集群支持的签名算法不匹配导致 解决方法 访问IoTDA北京四基础版接入地址时,使用的是通用的AKSK签名算法。 访问IoTDA标准版或者企业版的接入地址时,使用的是衍生的AKSK签名算法,需要明确指定使用衍生算法,详情可参考集成应用侧SDK的注释说明。 如何获取新域名和老域名接入的地址/证书?
端订阅消息的示例。 前提条件 熟悉Python语言开发环境配置,熟悉Python语言基本语法。 开发环境 本示例使用了Python 3.8.8版本。 添加依赖 本示例使用的Python语言的Mqtt依赖为paho-mqtt(本示例使用版本为2.0.0),可以通过以下命令下载依赖。
有服务。 接收下发命令 在MainActivity类中提供了接收平台下发命令的功能,在MQTT建链完成后,可以在管理控制台设备详情中命令下发或使用应用侧Demo对该设备ID进行命令下发,例如下发参数名为command,参数值为5的命令,下发成功后,在MQTT的回调函数中接收到。 private
mo对该设备ID进行命令下发。下发成功后,在Demo中接收到平台下发给设备的命令。 例如下发参数名为smokeDetector: SILENCE,参数值为1的命令。 图6 命令下发-SILENCE_1 命令下发成功后,Demo收到平台下发的命令,浏览器调试界面的console栏显示如下:
CA 证书的过期日期前替换这些证书,以确保设备可以正常的连接到IoT平台。 制作设备CA调测证书 本文以Windows环境为例,介绍通过Openssl工具制作调测证书的方法,生成的证书为PEM编码格式的证书。 在浏览器中访问这里,下载并进行安装OpenSSL工具。 以管理员身份运行cmd命令行窗口。
信息: 接收下发命令 在FrmMqttDemo类中提供了接收平台下发命令的功能,在MQTT建链完成并成功订阅Topic后,可以在管理控制台设备详情中命令下发或使用应用侧Demo对该设备ID进行命令下发。下发成功后,在MQTT的回调函数中接收到平台下发给设备的命令。 1 2 3
&%@!-等字符的组合。 paras Array of ServiceCommandPara objects 参数说明:设备命令的参数列表。 responses Array of ServiceCommandResponse objects 参数说明:设备命令的响应列表。 表8
SDK通过AMQP接入华为云物联网平台,接收服务端订阅消息的示例。 开发环境 Python 3.0及更高版本。本示例使用了Python 3.9版本。 下载SDK 本示例使用的Python语言的AMQP SDK为python-qpid-proton(本示例使用版本为0.37.0),可以通过以下命令安装最新版本SDK。 pip
so”,请将这些文件复制到demo的lib文件夹下(同时将/home/test/openssl/include/openssl里的内容复制到demo的include/openssl下)。 注:有的编译工具是32位的,如果在64位的linux机器上使用,这时只要将Makefile中的-m64都删除,再进行编译即可。