检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
TDA的消息保序功能后,IoTDA会将同一个设备的消息推送到Kafka的同一个partition,从而实现平台与应用端的转发保序。 应用服务器消费Kafka数据时,同一个设备的消息会分发到同一个消费者,消费者可以按顺序消费设备依次上传上来的数据。 下行消息保序 在需要下行消息保序的场景,可以参考如下图的方案进行设计:
运行DEMO程序,看到如下日志,代表设备发放成功,并且已经收到设备发放下发的设备接入地址。如果程序运行正常,在对应的设备接入实例可以看到该设备,且该设备已在线。 图12 日志信息 收到设备发放下发的设备接入地址后,需要关闭设备侧的设备发放的连接,用的新的URL地址与设备接入通信,进行相关业务。 图13 关闭连接示例代码
getenv("CLOUD_SDK_SK"); // ENDPOINT:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。 String iotdaEndpoint = "<YOUR ENDPOINT>"; String
String 参数解释: 软固件包下载地址。 file_size 必选 Integer 参数解释: 软固件包文件大小。 file_name 必选 String 参数解释: 升级包文件名 access_token 可选 String 参数解释: 软固件包url下载地址的临时token。 expires
getenv("CLOUD_SDK_SK"); // ENDPOINT:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。 String iotdaEndpoint = "<YOUR ENDPOINT>"; String
即可接收订阅的消息。 连接配置说明 MQTT客户端接入物联网平台的连接地址和连接认证参数说明如下: MQTT接入域名 每个账号会自动生成,请前往控制台-接入信息页面获取。 图1 接入信息-应用侧MQTT接入地址 端口:8883 客户端身份认证参数 clientId:全局唯一即可,建议使用“username”。
getenv("CLOUD_SDK_SK"); // ENDPOINT:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。 String iotdaEndpoint = "<YOUR ENDPOINT>"; String
ID)/SK(Secret Access Key)加密调用请求。 Token认证 Token是服务端生成的一串字符串,作为客户端进行请求的一个令牌。第一次登录后,服务器生成一个Token并将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。Token有效
fx接入设备发放请参见MQTT X509证书认证接入示例。 MQTT Broker Profile Settings Broker Address填写设备发放设备侧接入地址,Broker Port填写设备发放设备侧接入端口,Client ID按规则([设备ID]_0_0_[10位日期时间])填写,具体规则参见MQTT
getenv("CLOUD_SDK_SK"); // ENDPOINT:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。 String iotdaEndpoint = "<YOUR ENDPOINT>"; String
注册设备参数填写说明 参数名称 说明 所属产品 选择在创建煤气监测产品步骤3中创建的产品。 设备标识码 即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。 设备名称 自定义。 设备认证类型 选择“密钥”。 密钥 设
getenv("CLOUD_SDK_SK"); // ENDPOINT:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。 String iotdaEndpoint = "<YOUR ENDPOINT>"; String
SDK进行集成。 前提条件 已安装Android,若未安装请参考安装android studio,还需要安装JDK。 已在管理控制台获取设备接入地址。获取地址的操作步骤,请参考平台对接信息。 已在管理控制台创建产品和设备。创建产品和设备的具体操作细节,请参考创建产品、注册单个设备或批量注册设备。
编解插件开发:编解码插件是供物联网平台调用,完成二进制格式和JSON格式相互转换的。它将设备上报的二进制数据解码为JSON格式供应用服务器“阅读”,将应用服务器下行的JSON格式命令编码为二进制格式数据供终端设备(UE)“理解执行”。智慧路灯的数据格式是二进制,因此我们需要开发编解码插
发可参考数组及可变长数组的编解码插件在线开发示例。 图2 数据类型样例2 在线开发插件中地址域(messageId)如何使用? 当有相同类型的消息时(例如:两种数据上报的消息),需要添加地址域字段,用于区分不同的消息,且该字段在字段列表的位置必须一致。场景如下: 有两条及以上的数据上报消息或命令下发消息。
getenv("CLOUD_SDK_SK"); // ENDPOINT:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。 String iotdaEndpoint = "<YOUR ENDPOINT>"; String
strings 参数说明:实例的私网接入地址列表。 public_address Array of strings 参数说明:实例的公网接入地址。 ipv6_address Array of strings 参数说明:实例的ipv6接入地址列表。 ip_whitelist IPWhiteList
表2 创建转发目标参数说明 参数名 参数说明 转发目标 选择“分布式消息服务(RocketMQ)”。 对接地址 填写RocketMQ的连接地址,需填写元数据公网连接地址。IoTDA企业版实例支持同VPC同子网下RocketMq实例私网接入。 SSL 选择是否开启SSL, 开启SSL需要RocketMQ支持SSL。
的设备接入服务的地址。 后续操作 至此,您已完成了设备发放的流程。设备发放已成功将您的设备【接入IoTDA所需的必要信息】预置到了IoTDA实例中。 如您想要体验物联网平台的更多强大功能,您可通过如下步骤完成对IoTDA的后续操作: 取用引导消息中的设备接入地址; 单击Disconnect,断开与设备发放的连接;
接入凭证密钥,可通过环境变量预置 var accessCode = process.env.MQTT_ACCESS_CODE; // mqtt接入地址 var mqttHost = "your mqtt host"; // mqtt接入端口 var mqttPort = 8883; //