检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
品下只能创建一个虚拟设备。 在设备列表中,选择新创建的虚拟设备, 图2 在线调试-创建虚拟设备 单击右侧的“调试”,进入调试界面。 图3 在线调试-进入调试 在“设备模拟器”区域,输入十六进制码流或者JSON数据(以十六进制码流为例),单击“发送”,在“应用模拟器”区域查看数据上
以为*,JSON变量,字符串常量或整数常量。JSON变量后跟一个AS关键字和AS变量,长度不超过32个字符。如果使用常量或函数,则必须使用AS指定名称。 JSON变量 JSON变量支持大小写字母,数字,下划线和中划线,为了和减号的意思区分,当使用中划线的时候,请将JSON变量使用
所以离线开发产品模型就是按照产品模型编写规则和JSON格式规范在devicetype-capability.json中定义设备能力,在servicetype-capability.json中定义服务能力。因此离线开发产品模型需要熟悉JSON的格式。 由于离线开发产品模型文件相对在线开发比较耗时,因此推荐在线开发产品模型。
离线开发插件 编解码插件实现二进制格式与JSON格式相互转换或JSON格式之间的转换,产品模型定义了该JSON格式的具体内容。因此,编解码插件开发前需要先编写设备的产品模型。 为了提高离线开发的集成效率,我们提供了编解码插件的编解码插件样例,建议您基于DEMO工程进行二次开发。
在设备发放控制台,注册MQTT设备,其中安全模式选择密钥模式(如果需要下发初始化配置,那么对应在初始设备配置选项中填写对应的JSON字符串,设备发放不理解该字段,只是透传该JSON字符串,由设备理解解析。如果不需要下发该字段则不填)。 图3 注册设备 图4 创建密钥模式静态策略设备 此处注册设备的设备名
编写脚本,实现二进制数据到JSON数据的转换。脚本需要实现如下两个方法: decode:将设备上报的二进制数据转换为平台产品模型中定义的JSON格式。具体的JSON格式要求见: 数据解码格式定义 。 encode:平台有下行数据发送给设备时,将平台的JSON格式数据转换为设备支持的
在线开发产品模型 概述 在线开发产品模型前需要创建产品。创建产品需要输入产品名称、协议类型、数据格式、所属行业和设备类型等信息,产品模型会使用这些信息作为设备能力字段取值。物联网平台提供了标准模型和厂商模型,这些模型涉及多个领域,模型中提供了已经编辑好的产品模型文件,您可以根据自
编解码插件是供物联网平台调用,可以完成二进制格式与JSON格式相互转换、也可以完成JSON格式之间的转换。 以NB-IoT场景为例,编解码插件将设备上报的二进制数据解码为JSON格式供应用服务器“阅读”,将应用服务器下行的JSON格式命令编码为二进制格式数据供终端设备(UE)“理
-IoT设备一般对省电要求较高,所以应用层数据一般不采用流行的JSON格式,而是采用二进制格式。但是,物联网平台与应用侧使用JSON格式进行通信。因此,您需要开发编码插件,供物联网平台调用,以完成二进制格式和JSON格式的转换。 数据上报流程 图1 数据上报流程图 在数据上报流程中,有两处需要用到编解码插件:
转换或JSON格式之间的转换。它将设备上报的二进制数据解码为JSON格式供应用服务器“阅读”,将应用服务器下行的JSON格式命令编码为二进制或JSON格式数据供终端设备(UE)“理解执行”。以二进制与JSON转换为例,流程图如下: 图1 编解码插件流程 产品开发流程 设备接入控制
请查看消息通信说明。 低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信时,可将原始二进制数据透传到物联网平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。 Topic 上行:$oc/devices/{device_id}/s
打包后再一起上报。 MQTT 资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信时,可将原始二进制数据透传到物联网平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。 若发送到平台的数据需要发到华为云其他云服务上进行存储和处理,可以通过
节,编解码插件解析失败。 图39 在线调试-模拟数据上报other_info可变长字符串4 总结 当数据类型为字符串或可变长度字符串时,插件是按照ASCII码进行编解码的:上报数据时,将16进制码流解码为对应字符串,比如:21解析为“!”、31解析为“1”、41解析为“A”;下发
备的自定义数据格式上报给平台,平台对该消息不进行解析,该消息可以转发给应用服务器或华为云其他云服务上进行存储和处理。 消息上报和属性上报的区别,请查看消息通信说明。 低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信时,可将原始二进制数据透传到
Other,TCP,UDP:通过边缘接入。 数据格式 JSON:平台和设备之间的通信协议采用JSON格式。 二进制码流:您需在控制台开发编解码插件,将设备上报的二进制码流数据转换为JSON格式,将平台下发的JSON格式数据解析为二进制码流格式,设备才能与平台进行通信。 所属行业 请根据实际情况选择。
异步命令下发具有消息缓存功能,若设备不在线,则在设备上线后发送数据(支持配置,最长缓存时间48小时)。 需要立即确认的命令。例如打开风扇、控制路灯开关。 不支持 同步 不支持 MQTT 依赖 异步 支持 LwM2M/CoAP 配置且资源受限或者对网络流量有要求的设备,不适合直接接收JSON数据时,通过开
Other,TCP,UDP:通过边缘接入。 数据格式 JSON:平台和设备之间的通信协议采用JSON格式。 二进制码流:您需在控制台开发编解码插件,将设备上报的二进制码流数据转换为JSON格式,将平台下发的JSON格式数据解析为二进制码流格式,设备才能与平台进行通信。 所属行业 请根据实际情况选择。
消息上报是设备直接将数据传到云端,通过数据流转功能将数据转发到应用侧或华为云其他云服务的一种方式。平台对设备上报的消息不进行解析和存储,不需要建立产品模型便可以使用。 图1 设备消息上报流程 使用场景 平台对设备上报的数据不进行解析和存储,需要通过数据转发规则转发到华为云其他云服务上进行存储和处理的场景。 使用限制 单个消息内容不大于1M。
即设备ID,请参考2中获取。 Password 加密后的设备密钥,请参考2中获取。 单击“Connect”,设备鉴权成功后,在物联网平台可以看到设备处于在线状态。 图11 设备在线 数据上报 使用MQTT.fx工具向物联网平台上报数据。设备若通过MQTT通道上报数据,需要发给指定的topic,上报消息的t
上报设备属性: Map<String ,Object> json = new HashMap<>(); Random rand = new Random(); //按照物模型设置属性 json.put("alarm", alarm); json.put("temperature", rand