有奖:语音产品征文挑战赛等你来> HOT

设备调试简介

设备端完成与平台的对接开发或使用MQTT客户端工具连接平台后,可通过设备调试功能在开发、量产阶段查看设备上下行业务数据、上下线状态、设备轨迹日志用于支持用户定位、分析解决问题。本文档介绍如何进行设备调试。

操作步骤

新建设备

进行设备调试前,首先需要创建一个设备。
1. 登录 物联网开发平台,进入实例列表页,选择已生成的企业实例
2. 单击企业实例,进入实例内页,点击左侧菜单中的产品开发,进入产品列表,并选择某个“产品”,进入第三步设备调试
3. 点击新建设备,进入创建设备页面。



4. 输入设备名称(每个产品下设备名称是唯一的,建议英文或数字,不支持中文),单击保存,即可创建设备。



5. 创建成功后,将会在设备调试列表页中查看到新建成功的设备。首次创建成功的设备默认状态为“未激活




查看设备信息

1. 新建设备成功后,需要查询设备信息,获取重要参数及进行设备调试。
2. 单击设备列表的设备名称,即可查看设备的基本信息。



3. 设备查看打开后,即可查看设备的基本信息。
设备名称:产品下的唯一设备ID,一般需要烧录到设备端。
产品ID:设备所属产品ID,一般需要烧录到设备端。
所属产品:该设备所属产品名称。
设备密钥:平台为每个设备随机生成的密钥,使用密钥认证需要将此信息烧录到设备端。
设备创建时间:设备初始创建成功的时间。
最后上线时间:设备最后一次连接平台的时间。
激活时间:设备第一次成功连接到平台的时间。
设备状态:设备当前状态。如设备成功通过MQTT连接至平台,则显示“在线”,如果设备离线,则显示“离线”,如果设备从未连接平台,则显示“未激活”。
4. 设备基本信息下方,可以设置标签,也可以设置是否开启设备本地日志,并可复制平台自动生成的“设备连接参数”,直接复制ClientId、UserName、Password到MQTT.fx等MQTT客户端工具中,即可快速模拟设备接入平台。




查看物模型日志

1. 当设备成功连接平台,并向物模型Topic发布消息,则可以在“设备云端日志”下的“物模型日志”查看设备上报的属性、事件、行为等数据。



2. 列表中将该设备的物模型的属性功能项全部列出。
标识符:对应该设备的物模型中的标识符。
功能名称:对应数据模板中的“功能名称”。
历史数据:单击查看,即可查询该功能项的历史上报数据。
数据类型:对应物模型中功能的“数据类型”。
最新值:当设备在向云端上报数据时,只要某个功能的最新上报值发生变化,最新值列都会立刻显示设备上报的最新值。
更新时间:指最新值的变化时间。一般是设备上报该功能的发生时间。
3. 查看某个功能的历史上报数据。按时间展示该功能上报到云端的历史数据,验证上报的数据是否正确。
4. 当设备使用物模型协议格式上报数据,在物模型日志无法查看到最新值,需要确认上报的数据格式是否正确,具体可参考物模型协议物模型常见问题

查看内容日志

1. 内容日志为用户提供了按Topic查询设备上下行内容日志的功能。用户选择“内容日志”,会展示“日志类型”下拉列表。



2. 日志类型选择“属性”,Topic下拉框自动加载属性对应的Topic,并查询出所选择日期范围设备与平台的所有上下行属性内容日志。用户可以按需选择不同的类型,即可查询不同的Topic所对应的上下行内容数据用于设备调试与问题定位。





查看上下线日志

1. 上下线日志为用户提供查询设备连接到平台(上线)以及设备从平台主动或被动断开连接的日志。



2. Device disconnect 下线表示是设备主动关闭与平台的连接;Device keepalive timeout表示设备没有发送心跳,导致超时连接关闭。

查看云端诊断日志

云端诊断日志功能用于查看设备与云端交互的端到端轨迹日志,帮助用户快速诊断在调试过程中设备出现的异常错误,如订阅 topic 无权限、上行消息发布失败、规则引擎转发第三方服务失败等错误异常事件定位。该文档用于在设备与云端消息通信内容定位原因,并寻求解决方案。

设备上下线相关

content
result
errcode
描述
Device connect
FAIL, system error
Dev_Conn_System_Err
设备上线失败,系统错误。

发布、订阅 Topic 相关

content
result
errcode
描述
Device subscribe topic: {}
FAIL, unauthorized operation
Subscribe_Topic_Unauthorized
订阅失败,无 topic 订阅权限。
Device subscribe topic: {}
FAIL, system error
Subscribe_System_Err
订阅失败,系统错误。
Device unsubscribe topic: {}
FAIL, system error
UnSubscribe_System_Err
退订失败,系统错误。

设备消息相关

content
result
errcode
errcode 释义
Device publish message to topic:{}, QOS:{}
FAIL, unauthorized operation
Dev_Pub_Unauthorized
发布失败,无 Topic 发布权限。
FAIL, reach max limit with {}
Dev_Pub_Reach_Max_Limit
发布失败,publish 超过频率限制。
FAIL, payload too long({} > {})
Dev_Pub_Payload_TooLong
发布失败,payload 超过长度限制。
FAIL, system error
Dev_Pub_System_Err
发布失败,系统错误。
Publish message to device: topic: {}, QOS:{}{,业务错误说明}
FAIL,no subcriber
Pub_To_Dev_No_Subscriber
发送失败,没有订阅者。
FAIL, too many offline message
Pub_To_Dev_Offline_Msg_Exceed_Limit
发送失败,离线消息存储满。
FAIL, offline message payload exceed limit
Pub_To_Dev_Payload_Too_Large
发送失败,payload 大小超过限制。
FAIL, system error
Pub_To_Dev_System_Err
发送失败,系统错误。

规则引擎相关

content
result
errcode
errcode释义
Send message to RuleEngine, topic:{}
FAIL, system error
Msg_Send_To_Rule_System_Err
转发失败,系统错误。
MQ:forward CMQ, type:{}, CMQ{queue: {}, region: {}}
FAIL, queue name is not existed, or deleted
MQ_Queue_NotExist_Or_Deleted
转发失败,队列不存在,或者队列已经被删除了。
FAIL, exceed maximum message size
MQ_Exceed_Max_Msg_Size
转发失败,存在至少一条消息达到了最大消息大小限制。
FAIL, reach maximum retention number of message
MQ_Reach_Max_Retention_Num
转发失败,达到队列的最大消息堆积数。
FAIL, unexpected error: {}
MQ_Forward_CMQ_Unexpected_Err
转发失败,腾讯云接口公共错误。
FAIL, system error
MQ_Forward_CMQ_System_Err
转发失败,系统错误。
MQ forward CKafka, type:{}, Ckafka{instance:{}, topic: {}, region: {}}
FAIL, unexpected error: {}
MQ_Fowward_Kafka_Unexpected_Err
转发失败,Kafka 错误信息。
FAIL, system error
MQ_Fowward_Kafka_System_Err
转发失败,系统错误。
RuleEngine republish message, source topic:{}, destination topic: {}
FAIL, no such field({}) in payload
Payload_No_Field
转发失败,payload 没有对应的字段。
FAIL, system error
Rule_Repub_System_Err
转发失败,系统错误。
RuleEngine forward third-party server,topic:{}, url:{}
FAIL, url server timeout
Forward_Third_Not_Responding
转发失败,第三方服务器无响应。
FAIL, system error
Forward_Third_System_Err
转发失败,系统错误。
RuleEngine forward CKafka, topic:{}, Ckafka.instance:{}, topic: {}, region: {},retry times:{}"
FAIL,unexpected error: {}
Rule_Forward_Kafka_Unexpected_Err
转发失败,Kafka 错误信息。
RuleEngine forward CMQ Topic, IOT topic:{}, CMQ.topic:{}, region:{}
FAIL,system error:{}
MQ_Queue_NotExist_Or_Deleted
转发失败,队列不存在,或者已经被删除了。
MQ_Exceed_Max_Msg_Size
转发失败,消息超过最大值限制。
MQ_Reach_Max_Retention_Num
转发失败,达到最大保持数目。
Rule_Forward_CMQ_Topic_No_Subscription
转发失败,本主题没有订阅者。
Rule_Forward_CMQ_Topic_Unexpected_Err
转发失败,未知错误。
RuleEngine forward CMQ Queue, IOT topic:{}, CMQ.topic:{}, region:{}
FAIL,system error:{}
MQ_Queue_NotExist_Or_Deleted
转发失败,队列不存在,或者已经被删除了。
MQ_Exceed_Max_Msg_Size
转发失败,消息超过最大值限制。
MQ_Reach_Max_Retention_Num
转发失败,达到最大保持数目。
Rule_Forward_CMQ_Topic_No_Subscription
转发失败,本主题没有订阅者。
Rule_Forward_CMQ_Topic_Unexpected_Err
转发失败,未知错误。
RuleEngine forward CTSDB. topic:{}, CTSDB.instanceid:{}, region:{}, metric:{}
FAIL,system error:{}
Rule_Forward_Ctsdb_System_Err
转发失败,系统错误。
RuleEngine forward Mongo, topic:{}, Mongo.instanceid:{}, database:{}, collection:{}
FAIL,system error:{}
Rule_Forward_MongoDB_System_Err
转发失败,系统错误。
RuleEngine forward TCB Func,get role error topic:{}, TCB.envID:{}, functionName:{}
FAIL,system error:{}
Rule_Forward_TCB_Func_System_err
转发失败,系统错误。
RuleEngine forward Mysql.IOT topic:{}. info:{}
FAIL,system error:{}
Rule_Forward_Mysql_System_Err
转发失败,系统错误。
RuleEngine forward TDMQ.IOT topic:{}. info:{}
FAIL,system error:{}
Rule_Forward_TDMQ_System_Err
转发失败,系统错误。
Process sql: {}
FAIL,unexpected error:{}
Rule_Process_SQL_Err
执行失败。
Payload is not JSON fmt
FAIL
Payload_Not_JSON
消息负载不是 JSON 格式。

在线调试

1. 当您的真实设备已成功对接到开发平台后,则可以使用在线调试对真实设备进行数据收发的测试。
2. 单击在线调试,即可进入在线调试功能。前提是真实设备已开启并成功连接到开发平台。
3. 在线调试左侧的操控面板是根据设备所属产品的物模型自动生成,设置需要下发的数据后,单击发送后,系统会自动触发控制指令到设备端。
4. 设备端接收到指令后,会立刻返回数据到云端并显示在右侧的文本框中。
5. 用户若想通过API下发控制指令与真实设备进行调试,可分别参考设备远程控制设备透传指令控制两个API,一种分别是以物模型协议下发控制指令,另一种是以自定义Payload方式下发指令。