首页 > 解决方案 > 为什么 ThingsBoard 服务的 Kubernetes 配置文件将 TCP 用于 CoAP?

问题描述

我使用谷歌云平台上的 Kubernetes 来运行 thingsboard 服务,遵循以下步骤:https ://thingsboard.io/docs/user-guide/install/kubernetes/#tbyaml-file 。

问题是当 NB-IoT Shield(BC95) 通过 CoAP 协议在 5683 端口上发送数据时,TB 无法接收数据。我必须在 tb-service 中查看 Kubernetes 配置 YAML,发现 5683 端口是由 TCP 协议定义的。

clusterIP:10.23.242.112 externalTrafficPolicy:集群端口:-名称:ui nodePort:31146端口:8080协议:TCP targetPort:8080-名称:mqtt nodePort:32758端口:1883协议:TCP targetPort:1883-名称:coap nodePort:32343端口:5683 协议:TCP 目标端口:5683

问题是协议CoAP应该是UDP还是不应该?

标签: kubernetesthingsboardcoap

解决方案


CoAP 本身可以在 TCP 和 UDP 上运行(分别由 coap+tcp:// 或 coap:// URI 表示)。据我所知,BC95 仅支持 UDP,因此您使用的是后者。

作为kubernetes 问题中的示例,您可能想尝试将协议系列设置为 UDP。两者都有用例,这可能是您的设置中有“TCP”的原因(虽然很奇怪;文档中的当前示例没有任何“协议:TCP”),但是对于这个客户端,您可能正在使用UDP。


推荐阅读