物联网(IoT)设备和服务器之间的通信协议,粗略的大致有MQTT、CoAP、HTTP、UDP几种。细分的,还有MQTT over SSL , CoAP over DTSL ,HTTP over SSL ,MQTT over WebSocket 等。以上这些Thingsboard除了UDP协议外,均支持。本篇介绍以上协议以及在Thingsboard 中的支持以及默认端口。
MQTT
MQTT 是一种轻量级的发布-订阅消息传递协议,构建于TCP/IP协议之上,最适合各种 IoT 设备。 您可以在此处找到有关 MQTT 的更多信息。
MQTT over SSL
mqtts 是基于 TLS/SSL 的安全连接,ThingsBoard 提供了通过 SSL 运行 MQTT 服务器的功能。支持单向和双向 SSL。
CoAP
CoAP 是一种适用于受限设备的轻量级 IoT 协议。您可以在此处找到有关 CoAP 的更多信息。 CoAP 协议基于 UDP,但与 HTTP 类似,它使用请求-响应模型。 CoAP Observe Option 允许订阅资源并接收有关资源更改的通知。
CoAP over DTSL
CoAP over DTLS是一种在CoAP协议上使用DTLS(Datagram TLS)进行加密的方法。CoAP是一种专门为物联网(IoT)设计的轻量级应用层协议,主要用于资源受限的设备之间的通信。DTLS是TLS协议的变体,适用于基于UDP的通信,能够在不可靠的网络环境中提供安全传输。
CoAP over DTLS通过在CoAP消息上应用DTLS加密来确保数据传输的安全性。DTLS在TLS的基础上进行了优化,以适应UDP的不可靠传输特性。具体来说,DTLS为CoAP消息提供了数据加密和身份验证功能,确保数据在传输过程中的完整性和保密性。
HTTP
Thingsboard 有设备端HTTP API , IoT设备 可以通过API 用 Http 协议 或 https协议 向服务器发送数据。
MQTT over WebSocket
前端功能的演进催生了高级浏览器功能,显著增强了网络上的用户交互和数据通信。这一进步的核心是 WebSocket,这是一种强大的通信协议,它重新定义了 Web 应用程序中的实时双向通信。
同时,MQTT 以其轻量级结构和可靠性而闻名,尤其是在受限环境和不稳定的网络中。该协议已成为物联网生态系统中消息传输的基石。它适用于低开销消息传递,与高效网络通信的需求完美契合。对于移动设备和需要立即交换数据的场景(例如传感器数据监控或接收关键通知)尤其如此。
MQTT 与 WebSocket 的集成不仅仅是一种技术组合,更是一种变革性的网络通信方法。它使 MQTT 消息能够直接通过浏览器发送和接收,充分利用 MQTT 和 WebSocket 的独特优势。这种协同作用开辟了多种可能性,从显示实时设备信息和接收实时警报到移动 Web 应用程序中的高效通信。
WebSocket 是一种通信协议,可通过单个长寿命 TCP 连接实现 Web 客户端与服务器之间的实时双向通信。它与传统的 HTTP 请求/响应模型有很大不同,允许以较低的延迟进行持续的数据交换。它通过 HTTP 升级握手发起,支持未加密 (ws://) 和加密 (wss://) 连接。WebSocket 具有高效且持久的通信通道,对于需要实时内容更新的 Web 应用程序来说必不可少。
通过 WebSocket 使用 MQTT 的好处
MQTT 与 WebSocket 的集成为基于 Web 的 IoT 应用提供了显著的优势。通过利用 MQTT over WebSocket,传统非 Web MQTT 协议可以有效地扩展到 Web 应用领域。这种适应是必要的,因为 Web 浏览器本身并不支持 MQTT,因此需要使用 WebSocket 作为桥梁来促进通信。
让我们概述一下这一组合的几个关键方面:
- 高效资源利用:MQTT 是一种轻量级协议,非常适合带宽或设备功能有限的场景。通过 WebSocket 使用时,它可确保在 Web 应用程序环境中高效利用网络和设备资源。
- 实时通信:WebSocket 提供持续连接,实现低延迟的实时数据交换。
- 双向通信:WebSocket 支持全双工通信,允许同时在两个方向上传输数据。此功能与 MQTT 的发布/订阅模型相结合,可实现动态和交互式通信场景。
- 与 Web 生态系统的兼容性:通过在 WebSocket 上使用 MQTT,该协议变得与 Web 浏览器安全模型兼容,从而无需额外的插件或特殊安排即可将其集成到 Web 应用程序中。
- 支持 MQTT 功能:集成不会影响 MQTT 的本机功能,如保留消息、遗嘱和清理会话,从而确保强大且功能丰富的实现。
Thingsboard 的TBMQ 使用两个监听器 WS(WebSocket)和 WSS(WebSocket Secure)来促进通过 WebSocket 进行的通信。您可以参考此处
下面来说一下各协议的默认端口
MQTT 端口: 1883
MQTTs 端口:8883
CoAP 端口: 5683
CoAPs端口:5684
WebSocket 端口:
ws: 8084 , url: ws://localhost:8084/mqtt
wss:8085,url: wss://exsample.com:8085/mqtt
系列文章:
物联网开源平台开发系列001 – 开源平台Thingsboard 介绍
物联网开源平台开发系列002 – Thingsboard 用户系统分析
物联网开源平台开发系列003 – Thingsboard OAuth2 – Google身份验证登陆
物联网开源平台开发系列004 – Thingsboard的实体、资产、设备一般说明及数据存储 – 陈皮王五de杂记
物联网开源平台开发系列005 – Thingsboard的API简述 – 陈皮王五de杂记
物联网开源平台开发系列006 – 在Thingsboard内创建一个设备 – 陈皮王五de杂记
物联网开源平台开发系列007 – Thingsboard的批量导入设备 – 陈皮王五de杂记
物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记
物联网开源平台开发系列009 – Thingsboard服务器对IoT设备下发指令 – 陈皮王五de杂记
物联网开源平台开发系列010 – Thingsboard规则引擎简介 – 陈皮王五de杂记
物联网开源平台开发系列011 – Thingsboard规则节点Originator Telemetry – 陈皮王五de杂记
物联网开源平台开发系列012 – Thingsboard 设备离线Alarm设置 – 陈皮王五de杂记
物联网开源平台开发系列013 – Thingsboard 遥测产生告警Alarm – 陈皮王五de杂记
物联网开源平台开发系列014 – Thingsboard遥测时序数据存储结构及分区策略 – 陈皮王五de杂记
物联网开源平台开发系列015 – Thingsboard postgresql数据库基本配置 – 陈皮王五de杂记
物联网开源平台开发系列016 – 再谈Thingsboard的设备注册 – 陈皮王五de杂记
物联网开源平台开发系列017 – Thingsboard的设备联动场景 – 陈皮王五de杂记
物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五de杂记
物联网开源平台开发系列019 – Thingsboard设备数据传播给资产 – 陈皮王五de杂记
物联网开源平台开发系列020 – Thingsboard的实体视图Entity View – 陈皮王五de杂记
物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记
物联网开源平台开发系列022 – 通过Thingsboard网关gateway动态创建设备 – 陈皮王五de杂记
物联网开源平台开发系列023 – Thingsboard设备列表仪表盘 – 陈皮王五de杂记
物联网开源平台开发系列024 – Thingsboard接入摄像头方案 – 陈皮王五de杂记
物联网开源平台开发系列025 – Thingsboard规则链节点的JS代码调试 – 陈皮王五de杂记
原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/804.html
淘宝小店:陈皮王五工作室
评论列表(18条)
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]
[…] 物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记 […]