项目demo文件
源码地址: SynerTools 项目地址 (qq.com)
业务流程
首先,我们的 Spring Boot 服务充当一个客户端,而人脸识别设备的内置系统也作为另一个客户端。两个客户端通过 EMQX 服务端进行通信,负责指令的发送与接收
为什么使用MQTT而不是HTTP协议?
- 低带宽消耗:MQTT协议非常轻量级,设计之初就考虑到了低带宽网络环境,因此在传输数据时消耗的带宽非常少。相比之下,HTTP协议的数据包头较大,带宽消耗更高。
- 能效优化:MQTT协议设计简洁,特别适用于功耗敏感的物联网设备。HTTP协议因为连接开销大和数据包头大,通常会消耗更多的电能。
- 异步解耦: mqtt和rabbitmq是有相似之处, 都支持发布/订阅模式和异步通信,使消息发送者和接收者可以解耦,适合分布式系统应用,并且它们都提供消息可靠性保证和多语言支持
技术栈
- mica-mqtt(客户端) : mica-mqtt地址 (maven依赖引入即可)