Почему файл конфигурации Kubernetes для сервиса ThingsBoard использует TCP для CoAP?
Я использовал Kubernetes на облачной платформе Google для запуска службы Thingsboard, выполнив этот шаг: https://thingsboard.io/docs/user-guide/install/kubernetes/.
Проблема в том, что TB не может получить данные при отправке данных из NB-IoT Shield(BC95) по протоколу CoAP на порт 5683. Я должен увидеть конфигурацию Kubernetes YAML в tb-service и обнаружил, что порт 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 targetPort: 5683
Вопрос в протоколе CoAP
должно быть UDP
или нет?
1 ответ
CoAP, сам по себе, может быть запущен как по TCP, так и по UDP (обозначается как URI coap + tcp: // или coap: // соответственно). Поскольку BC95 поддерживает UDP только, насколько я могу судить, вы используете последний.
Как в примере с проблемой kubernetes, вы можете попробовать установить семейство протоколов в UDP. Для обоих есть варианты использования, которые могут быть причиной того, что в вашей настройке есть "TCP" (хотя и странно; в текущем примере в документации нет никакого "протокола: TCP"), но с этим клиентом вы, вероятно, используете UDP.