原图:ardupilot-onboardComputer-4Glink-console.drawio
前言
-
为什么在ardupilot开发过程中要用到MQTT ?
客户要求向他们的指挥中心平台推送视频流和飞控数据,即要将图数传数据推送给客户的指挥中心。
方案1:frp方案搭建后,指挥中心可以通过mavsdk凭借mavlink协议连接到飞控,但是客户不愿使用mavsdk。
方案2:在公网服务器搭建mqtt服务,飞机的机载计算机使用mavsdk获取到飞控数据,然后解析数据并封装成mqtt消息格式,最后使用mqtt客户端发布封装后的数据到mqtt服务器,客户的指挥中心就可以直接订阅这些mqtt消息就完事了。mqtt生态成熟,客户比较中意这个方案。 -
文心一言:推荐几个好用的开源MQTT服务器
- Eclipse Mosquitto
- EMQ X Broker
- HiveMQ
- VerneMQ
- NanoMQ
- SMQTTX
-
本文将是对EMQX学习的记录
-
EMQX有开源免费版和付费版,区别如下:
功能对比:
-
EMQ X Broker 简述
特点:EMQ X Broker是一个高度可伸缩的分布式MQTT服务器,具有高性能和稳定性。它支持MQTT、MQTT-SN、CoAP、LwM2M等多种协议,内置了强大的规则引擎,支持多种认证和加密方式。
优势:高性能、高可用、可扩展,支持集群部署和水平扩展,能够处理大量的连接和消息。同时,EMQ X提供了丰富的插件机制,方便用户进行定制开发。
应用场景:适用于物联网、实时通信、消息推送等需要高性能和可扩展性的场景。 -
MQTT协议教程
https://www.emqx.com/zh/mqtt-guide -
MQTT专业术语
https://www.emqx.com/zh/mqtt-guide -
MQTT客户端示例
MQTT 编程
SDK和代码示例
MQTT 客户端编程
客户端SDK -
与MQTT对标的协议是HTTP
-
物联网协议:MQTT or HTTP ?
认识MQTT
本节将对MQTT协议进行简单学习。详细教程。
参考文献
【1】文心一言
【2】https://www.emqx.com/zh