设备接入问题_物联网平台_边缘计算网关

自定义协议如何接入平台?

第三方自定义协议如何接入平台?

答案

设备通过MQTT、TCP或者UDP等接入平台,针对自定义数据协议,可以通过编写脚本来实现解析。

此处为语雀内容卡片,点击链接查看:https://yunteng.yuque.com/avshoi/armgk7/ub7sqip9q5rygotp

平台是否支持以下协议?

MQTT、CoAP(S)、HTTP(S)、AmqP、LwM2M、ModBus、BACNet、OPC、SNMP、IE104、HJ212-2017是否都已支持?

答案

平台默认支持的协议:MQTT、CoAP/s、HTTP/s、TCP、UDP、HTTP

  • IE104、HJ212-2017、ModBus 可以统一采用TCP接入+协议脚本解析的方式来支持

目前不支持的协议:SNMP、LwM2M、AMQP、BACNet、OPC

  • SNMP和LwM2M TB原生是支持的,去扩展的话应该很简单,只是国内用得少,我们目前没有去扩展。
  • BACNet、OPC可以通过采购支持对应协议的硬件网关来解决。
  • AMQP这个协议跟MQTT有点类似,常用于应用层的消息传输。平台已经支持通过RabbitMQ流转数据,这个RabbitMQ就是AMQP的一种实现。

更多协议接入方案,请参考:

此处为语雀内容卡片,点击链接查看:https://yunteng.yuque.com/avshoi/v1xdocs/oragsoszfgns762b#1Gda

平台有哪些指令下发方式?

ThingsKit物联网平台支持哪些方式下发指令到设备?

答案

目前有以下几种指令下发方式:

  • 调用平台提供的API,下发指令(编写代码执行);
  • 在设备管理详情中,手动下发指令(手动执行);
  • 在组态画面中编辑下发指令,预览组态时可手动点击下发(手动执行);
  • 在看板画面中,可以下发开关、物模型服务指令(手动执行);
  • 在小程序中下发指令(手动执行);
  • 通过配置场景联动,自动下发指令,如:当检测到温度传感器的温度大于20摄氏度时,下发一个开启空调的指令(自动执行);
  • 定时任务下发指令,比如定时开启某个设备(自动执行)。

平台进行视频通道点播时报错“未获取到可用的SSRC资源”

答案

在环境变量文件中添加该字段并重启zlm容器以及核心服务(monolith或者core)

CACHE_SPECS_TK_MEDIA_SERVER_TTL=2147483647 #缓存的SSRC资源永不过期,避免点播提示找不到SSRC资源

如何更改设备接入后未发数据等待离线的时间长短?

答案

在环境变量文件中修改该指定并更新核心服务(monolith或者core)

vi /_makeFile/monolith.env			#单体部署
vi /_makeFile/miscroservice_app_common.env	#微服务部署

#默认10分钟,修改时间保持一致
DEFAULT_INACTIVITY_TIMEOUT=600
TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT=600000

cd /_makeFile/thingskit/				#单体部署
cd /_makeFile/services/core/		#微服务部署

docker-compose up -d						#重启并更新核心服务配置

无法使用mqtt协议上报数据

答案

💡 注意

如果在使用mqtt协议上报数据时,在客户端无法连接则需要检查是否将mqtt连接信息填错。端口未开放、服务异常都会导致该问题。

💡 注意

在连接上平台并使设备上线后,成功上报数据但物模型中没有显示,则需要注意平台上报数据时使用的topic以及格式:

网关直连设备上报本身的数据时:
topic: v1/devices/me/telemetry
数据格式:{"DO1":true}
网关上报子设备(传感器)的数据时:
topic: v1/gateway/telemetry
数据格式:{"网关子设备":[{"temperature":35.2}]}

使用mqtt协议进行服务下发,如果服务调试方式选择了同步怎么完成设备端的响应动作?

答案

💡 注意

当服务调试方式没有选择异步而是同步,每一次调用下发时要求设备端要有响应,否则视为没有正常下发。

💡 提示

比如当前用服务下发了一个命令到设备端会给一个$request_id,那么设备端用这个命令提供的$request_id 并用对应响应主题组合的主体去返回旧可以完成服务的同步响应了 。

mqtt协议要返回 得用对应的主题
v1/devices/me/rpc/response/$request_id

图例:

使用mqtt协议上报数据后,怎么查看设备端上报的原始数据?

答案

💡 提示

由于有的场景下用户不知道如何处理设备端上报的原始数据,则可以通过平台规则链的调试模式进行设备原数据进行查看。

💡 注意

thingskit平台使用mqtt协议接入设备时,不接受非json格式的数据上报(hex,string等等)。

本文通过 YUQUE WORDPRESS 同步自语雀
云腾五洲-AI助理