乐鑫科技官网ESP32-C6无线控制模块MQTT/TCP/CoAP协议区别,TCP、HTTP、UDP 和 COAP 等协议,这些协议除了可用于本地控制,还能用于远程控制,下面说下MQTT与TCP协议的区别:
(1)MQTT 协议与 TCP 协议的对比。乐鑫科技官网ESP32-C6无线控制模块MQTT 协议是基于 TCP 协议的应用协议,两者都可以进行远程数据通信。对于套接字,TCP 协议需要用户自行开发上层的应用协议,自行开发的应用协议使用场景很有限,不适合当下物联网万物互联的大环境。而 MOTT 是一个标准的物假网轻量级协议,目前大部分的云服务器,如阿里云、亚马逊云都使用 MOTT 协议,有利于立品的对接。
(2)MQTT 协议与 HTTP 协议的对比。乐鑫科技官网ESP32-C6无线控制模块HTTP 协议和 MOTT 协议一样,采用的都是客户端服务器端模型,都是基于 TCP 协议的应用协议。但 HTTP 协议报文开销比 MOTT 协议大很多,而且HTTP 协议一般很难实现服务器向客户端主动推送数据,无法满足物网远程控制的需求。如果设备只是单纯地上报数据,则可以使用 HTTP 协议。
(3)MQTT 协议与 CoAP 协议的对比。乐鑫科技官网ESP32-C6无线控制模块CoAP 协议与 HTTP 协议类似,仿HTTP 协议的 REST型,服务器端以 URI方式创建资源,客户端可以通过 GET、PUT、POST、DELETE 方法访问这些资源,并且协议风格也和 HTTP 协议极为相似,它比 HTTP 协议需要更少的设备资源与网络开销,非常适合物联网协议,但 CoAP 协议不适合远程控制。如果智能手机发送控制命令进行远程控制,则 CoAP 协议可能需要 CoAP+Web+DataBaset+App 的架构。使用 CoAP协议时,控制命令必须经过 DataBase 才能转给设备,因为 COAP 协议是无连接的,智能手机发送控制命令时,服务器会先将控制命令存储到 DataBase,设备会通过 GET 方法请求服务器端是否有控制命令,然后选择是否需要操作设备。而 MOTT 协议是面向连接的,服务器端会将智能手机发送的控制命令转发给每个订阅的设备,存储控制命令不是必需的,只需要 MQTT客户端+MQTT 服务器+App 就能实现,在部署方面 MOTT 协议更具优势。
保证 MQTT 数据安全性
乐鑫科技官网ESP32-C6无线控制模块MQTT 协议的数据是以明文的形式传输的,如果不进行加密,则数据就可能被窃取。本书在8.4.1 节介绍了 TLS 协议,该协议可以保证只有通信双方才能解密数据,保证数据的安全性与合法性。
同样,使用 MQTT 协议进行云端通信时,也可以借助 TLS 协议,TLS 协议可以参考介绍 TLS 协议握手中的证书含义与作用,以及如何在本地生成证书并基于本地的MQTT Broker 搭建双向认证的 TLS 环境。