检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
P客户端,即可接收订阅的消息。 协议版本说明 AMQP协议标准的详细介绍,请参见AMQP协议标准。 华为云物联网平台服务端订阅仅支持AMQP 1.0版的协议标准。 建链认证过程 AMQP客户端与物联网平台建立TCP连接,然后进行TLS握手校验。 为了保障安全,接收方必须使用TLS加密,且使用TLS1
CA证书验证状态。true代表证书已通过验证,可进行设备证书认证接入。false代表证书未通过验证。 verify_code String CA证书验证码。 provision_enable Boolean 是否开启自注册能力,当为true时该功能必须配合预调配功能使用,true:是,false:否。
在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图4 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。 使用OpenSSL工具为验证证书生成密钥对。
应用将消息下发给平台后,平台返回应用响应结果,平台再将消息发送给设备。平台返回应用响应结果不一定是设备接收结果,建议用户应用通过订阅设备消息状态变更通知,订阅后平台会将设备接收结果推送给订阅的应用。 注意: 此接口适用于MQTT设备消息下发,暂不支持其他协议接入的设备消息下发。
在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图6 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。 使用OpenSSL工具为验证证书生成密钥对。
上开发指导详见在线开发参考。 在线开发的插件字段类型为string和varstring类型的编解码规则 在线开发编解码插件时,如果某字段的数据类型为字符串或可变长度字符串,则按照ACSII码进行编解码。 对应的插件在线开发可参考字符串及可变长字符串的编解码插件在线开发。 图1 数据类型样例1
为验证证书生成密钥对。 openssl genrsa -out verificationCert.key 2048 获取随机验证码。 图2 上传CA证书完成页 图3 复制验证码 利用此验证码生成证书签名请求文件CSR。 openssl req -new -key verificationCert.key
GO SDK接入示例 本文介绍使用GO SDK通过AMQP接入华为云物联网平台,接收服务端订阅消息的示例。 开发环境要求 本示例使用的开发环境为Go 1.16及以上版本。 添加依赖 在go.mod中添加以下依赖。 require ( pack.ag/amqp v0.12.5
当产品开发完成并测试验证后,需要将在线开发的产品模型移植时,则可以将产品模型导出到本地。 当您已经有完备的产品模型(线下开发或从其他项目/平台导出),或者使用excel编辑开发产品模型时,可以将产品模型直接导入到“物联网平台”。 导出产品模型 当产品开发完成并测试验证后,需要将在线开发的产品模型移植时,则可以将产品导出到本地。
> 基本信息”页面,删除所有服务。 接收下发命令 在Demo中提供了接收平台下发命令的功能,在MQTT建链完成并成功订阅Topic后,可以在管理控制台设备详情中命令下发或使用应用侧Demo对该设备ID进行命令下发。下发成功后,在Demo中接收到平台下发给设备的命令。 例如下发参数名为smokeDetector:
状态码如表1所示 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201
异步命令下发具有消息缓存功能,若设备不在线,则在设备上线后发送数据(支持配置,最长缓存时间48小时)。 需要立即确认的命令。例如打开风扇、控制路灯开关。 不支持 同步 不支持 MQTT 依赖 异步 支持 LwM2M/CoAP 配置且资源受限或者对网络流量有要求的设备,不适合直接接收JSON数据时,通
用户或密码错误 订阅的Topic不存在。 图3 订阅topic不存在 接收数据 Topic订阅后设备上报数据并触发规则后,MQTT客户端就可以收到流转数据。样例代码收取到流转数据的日志如下图所示: 图4 接收到流转数据 父主题: 使用MQTT转发
如果在“设备详情”页面没有最新上报数据,请确认设备上报的服务/属性和产品模型中的服务/属性一致。 接收下发命令 订阅了命令Topic后,可以在控制台下发同步命令。详情请参考MQTT设备同步命令下发。 命令下发后,demo中接收到命令: demo中接收命令的代码为: //receive message from the
间的转换。 在线调试:设备接入控制台提供了产品在线调试的功能,您可以根据自己的业务场景,在开发真实应用和真实设备之前,使用应用模拟器和设备模拟器对数据上报和命令下发等场景进行调测,也可以在真实设备开发完成后使用应用模拟器验证业务流。 目前仅标准版支持MQTT协议的在线调试。 父主题:
属性和产品模型中的服务/属性一致。 接收下发命令 在Demo中提供了接收平台下发命令的功能,在MQTT建链完成并成功订阅Topic后,可以在管理控制台设备详情中命令下发或使用应用侧Demo对该设备ID进行命令下发。下发成功后,在Demo中接收到平台下发给设备的命令。 例如下发参数名为smokeDetector:
Android SDK接入示例 本文介绍Android系统如何通过Amqp接入华为云物联网平台,接收服务端订阅消息的示例。 准备工作 安装android studio。访问android studio官网,选择合适系统的版本下载并安装。(本文以windows 64-bit系统Android
订阅Topic 订阅某topic的设备才能接收平台发布的关于该topic的消息,关于平台预置topic可参考Topic定义。 建链后,如果成功订阅Topic,主界面日志栏显示如下信息: 图8 订阅topic界面 接收下发命令 小程序支持接收平台下发命令的功能,在MQTT建链完成并成
Python Demo使用说明 本文以Python语言为例,介绍应用通过MQTTS协议接入平台,接收服务端订阅消息的示例。 前提条件 熟悉Python语言开发环境配置,熟悉Python语言基本语法。 开发环境 本示例使用了Python 3.8.8版本。 添加依赖 本示例使用的Py
在“设备模拟器”区域查看命令接收的结果:03000101。03为地址域messageId,0001为mid字段,01为十进制数1转换为十六进制的数值。 图19 在线调试-模拟命令下发smokerdetector 使用CoAP的虚拟设备在线调试时,若下发命令后设备模拟器未接收到对应的命令,可以先上报一次属性后,再下发。