检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
C# SDK接入示例 本文介绍使AMQPNetLite客户端接入华为云物联网平台,接收服务端订阅消息的示例。 开发环境要求 本示例使用的开发环境为.NETFramework V4.6及以上版本。 获取SDK 1、在工程目录上单击鼠标右键打开"管理NuGet程序包" 2、在"NuG
上开发指导详见在线开发参考。 在线开发的插件字段类型为string和varstring类型的编解码规则 在线开发编解码插件时,如果某字段的数据类型为字符串或可变长度字符串,则按照ACSII码进行编解码。 对应的插件在线开发可参考字符串及可变长字符串的编解码插件在线开发。 图1 数据类型样例1
间的转换。 在线调试:设备接入控制台提供了产品在线调试的功能,您可以根据自己的业务场景,在开发真实应用和真实设备之前,使用应用模拟器和设备模拟器对数据上报和命令下发等场景进行调测,也可以在真实设备开发完成后使用应用模拟器验证业务流。 目前仅标准版支持MQTT协议的在线调试。 父主题:
如果您没有IoT设备,但想快速体验设备数据采集和接收控制命令,可以用Windows或者Linux个人计算机作为虚拟设备,体验设备与云端的双向通信。本文以一款虚拟的智慧烟感器为例,带您快速体验平台的三个基本功能:设备连接平台,设备上报数据到平台,平台下发命令给设备。 前提条件 已注册华为云官方账号。未注册可单击注册页面完成注册。
引导请求发布 按照设备请求引导信息topic填写对应的topic,单击“Publish”进行消息推送。 接收到引导消息 消息推送成功如下所示,在Subscribe的topic下会返回对应设备的设备接入服务的地址。 后续操作 至此,您已完成了设备发放的流程。设备发放已成功将您的设备【接入I
设备接收引导信息 接口功能 设备接收发放服务下发的引导信息。 Topic 表1 下发Topic说明 Topic $oc/devices/{device_id}/sys/bootstrap/down 消息发送方 设备发放平台 消息接收方 设备 参数说明 表2 下发参数说明 参数 必选/可选
MqttDemo.this.connect(true); } 订阅接收命令 订阅某Topic的设备才能接收broker发布的关于该Topic的消息,关于平台预置Topic可参考Topic定义。详细接口信息请参考命令下发。 1 2 //订阅接收命令 client.subscribe(getCmdRequestTopic()
fx是目前主流的MQTT客户端,可以快速验证是否可以与物联网平台服务交互发布或订阅消息。 前提条件 已注册华为云官方账号。未注册可单击注册页面完成注册。 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。 已开通设备接入服务。未开通则访问设备接入服务,单击“管理控制台”后开通该服务。
P客户端,即可接收订阅的消息。 协议版本说明 AMQP协议标准的详细介绍,请参见AMQP协议标准。 华为云物联网平台服务端订阅仅支持AMQP 1.0版的协议标准。 建链认证过程 AMQP客户端与物联网平台建立TCP连接,然后进行TLS握手校验。 为了保障安全,接收方必须使用TLS加密,且使用TLS1
IoT平台设备侧支持MQTT协议的connect消息接口,鉴权通过后建立设备与平台间的MQTT连接。 参数说明 设备通过MQTT协议的connect消息进行鉴权,对于构造ClientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。 当
509证书进行认证鉴权。使用X.509认证技术时,设备无法被仿冒,避免了密钥被泄露的风险。 前提条件 已注册华为云官方账号。未注册可单击注册页面完成注册。 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。 已开通设备接入服务。未开通则访问设备接入服务,单击管理控制台后开通该服务。
在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图6 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。 使用OpenSSL工具为验证证书生成密钥对。
进入设备详情,在“消息跟踪”页签内,启动“消息跟踪”。 图7 消息跟踪-启动消息跟踪 先运行设备侧 SDK代码,使设备上线。 运行应用侧代码,当设备接收到设备下发的命令后,进行数据处理及响应。设备侧收到的命令下发样例如下: 图8 设备侧命令下发成功结果 “消息跟踪”显示结果如下:
message_id String 设备消息ID,用于唯一标识一条消息,在下发设备消息时由物联网平台分配获得。 name String 消息名称,在下发消息时由用户指定。 message Object 消息内容。 encoding String 消息内容编码格式,取值范围none|base64
即可发送。 图12 设备A Publish页面输入消息 在设备B的Subscribe页面可以看到接收的消息如下: 图13 设备B Subscribe页面展示 父主题: 设备间消息通信(M2M)
在“设备模拟器”区域查看命令接收的结果:03000101。03为地址域messageId,0001为mid字段,01为十进制数1转换为十六进制的数值。 图19 在线调试-模拟命令下发smokerdetector 使用CoAP的虚拟设备在线调试时,若下发命令后设备模拟器未接收到对应的命令,可以先上报一次属性后,再下发。
在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图4 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。 使用OpenSSL工具为验证证书生成密钥对。
verificationCert.key -out verificationCert.csr 系统提示您输入如下信息,Common Name填写为验证证书的验证码,其他参数自定义。 Country Name (2 letter code) [AU]:国家,如CN。 State or Province
缺省值:true timeout 否 Integer 参数说明:设备验证码的有效时间,单位:秒,默认值:0。若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。注意:只有注册设备接口或者修改设备接口修改timeout时返回该参数。
缺省值:true timeout 否 Integer 参数说明:设备验证码的有效时间,单位:秒,默认值:0。若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。注意:只有注册设备接口或者修改设备接口修改timeout时返回该参数。