ardupilot开发 --- MQTT 篇

在这里插入图片描述
               原图: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提供了丰富的插件机制,方便用户进行定制开发。
    应用场景:适用于物联网、实时通信、消息推送等需要高性能和可扩展性的场景。

  • 文档
    EMQX Document

  • MQTT协议教程
    https://www.emqx.com/zh/mqtt-guide

  • MQTT专业术语
    https://www.emqx.com/zh/mqtt-guide

  • MQTT客户端C++例程
    待续…

参考文献

【1】文心一言
【2】https://www.emqx.com/zh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/872125.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LTM4622双路电源芯片的相关测试

最近需要使用LTM4622电源芯片,所以做了demo板进行测试: 1.原理图如下: 2.用AD画的电路板如下: 3.芯片相关知识: 芯片的封装: 典型应用: 管脚定义 VIN:电源的输入管脚。 RUN:相当于输出使能脚…

C语言 | Leetcode C语言题解之第387题字符串中的第一个唯一字符

题目&#xff1a; 题解&#xff1a; struct hashTable {int key;int val;UT_hash_handle hh; };int firstUniqChar(char* s) {struct hashTable* position NULL;int que[26][2], left 0, right 0;int n strlen(s);for (int i 0; i < n; i) {int ikey s[i];struct has…

UnityShaderGraph 卡通水面效果

效果预览&#xff1a; 原理&#xff1a; 使用三张噪声贴图&#xff0c;结合UV偏移制作水面波纹混合的假象效果 噪声图1&#xff1a; 噪声图2&#xff1a; 噪声图3&#xff1a; 三次采样都是同样的方法&#xff0c;使用step函数来二分噪声 三张噪声采样结果相乘得到最终的波纹…

JVM系列(五) -内存相关的调优参数

一、摘要 在上篇文章中,我们详细介绍了 JVM 的内存布局。 今天这篇文章,并结合之前的介绍知识,一起了解一下 JVM 内存相关的调优参数。 二、内存设置相关的命令 所有内存溢出的问题,除了代码可能存在问题以外,更直观的问题是内存空间不足,如何通过参数来控制各区域的…

网络层 III(划分子网和构造超网)【★★★★★★】

&#xff08;★★&#xff09;代表非常重要的知识点&#xff0c;&#xff08;★&#xff09;代表重要的知识点。 一、网络层转发分组的过程 分组转发都是基于目的主机所在网络的&#xff0c;这是因为互联网上的网络数远小于主机数&#xff0c;这样可以极大地压缩转发表的大小。…

三诺动态血糖管理在医院中的应用

一、引言 随着糖尿病患病率的逐年上升&#xff0c;糖尿病管理已成为医疗体系中的重要挑战。特别是在医院环境中&#xff0c;针对重症及需要精细化治疗的患者&#xff0c;动态血糖管理显得尤为重要。传统血糖监测手段的局限性日益凸显&#xff0c;而三诺生物传感股份有限公司&am…

微服务CI/CD实践(四)Jenkins部署及环境配置

微服务CI/CD实践系列&#xff1a; 微服务CI/CD实践&#xff08;一&#xff09;环境准备及虚拟机创建 微服务CI/CD实践&#xff08;二&#xff09;服务器先决准备 微服务CI/CD实践&#xff08;三&#xff09;gitlab部署及nexus3部署 微服务CI/CD实践&#xff08;四&#xff09…

英伟达AI超级计算机SuperPod:H100→GH200→GB200

英伟达的 DGX SuperPOD 是一台完整的数据中心级 AI 超级计算机&#xff0c;采用模块化的设计&#xff0c;支持不同规模大小的设计。每台超级计算机都在出厂前完成了搭建、布线和测试&#xff0c;从而大大加快了在用户数据中心的部署速度 。 NVIDIA DGX SuperPOD是下一代数据中心…

DML、DQL、DCL的基础介绍

1.DML、DQL、DCL 1.1DML-介绍 DML英文全称Data Manipulation Language&#xff08;数据操作语言&#xff09;&#xff0c;用来对数据库中表的数据记录进行增删改操作 添加数据&#xff08;INSERT&#xff09;修改数据&#xff08;UPDATE&#xff09;删除数据&#xff08;DEL…

echarts环形图

let dataValue[{value: 30,name: 桥梁,percent: 0.25,color: rgba(248,95,94,1),radius: [75%, 80%],center: [22%, 50%],},{value: 15,name: 隧道,percent: 0.25,color: rgba(243,185,71,1),radius: [65%, 70%],center: [22%, 50%],},{value: 18,name: 路基,percent: 0.25,col…

基于Android Studio的行程记录APK开发指南(三)---界面设计及两种方法获取用户位置

前言 本系列教程我们来看看如何使用Android Studio去开发一个APK用于用户的实时行程记录 第一期&#xff1a;基于Android Studio的用户行程记录APK开发指南(一)&#xff1a;项目基础配置与速通Kotlin-CSDN博客第二期&#xff1a;基于Android Studio的行程记录APK开发指南(二):…

设计模式学习-简单的命令模式例子

上一章节介绍过了命令模式&#xff0c;这一篇文章就简单的做一个小案例来巩固学习 搭建场景 简单的搭建一个场景就行 &#xff0c;随便准备一个物体放在场景中位置Reset一下即可。 代码编写 定义接口&#xff08;或者抽象类&#xff09;ICommand 用来规范Command的行为。注意…

Linux查看jar包错误日志及持久化运行jar包

一、查看jar包运行信息命令&#xff1a;ps -ef | grep java 如图&#xff0c;给出了所部署jar包的环境变量&#xff0c;服务名称&#xff0c;服务端口信息。 这样便能得到部署的jar包是否在服务器成功运行及基本信息。 二、查看日志 启动信息无误&#xff0c;查看日志是否有报错…

SprinBoot+Vue在线商城微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平…

基于ssm+vue+uniapp的跑腿平台小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

SSM非物质文化遗产社区APP---附源码98956

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

使用el-select只能选中最后一项,且options全部是选中状态

经过盘查,发现是key值重复了 把key值换为不同的值就好了,很细小的问题,但是很容易疏忽.

Android Studio(3) 使用 Kotlin DSL和 Gradle 8.7 打包远程库到 AAR 的自定义方法

背景介绍 在 Gradle 7.3 及更早版本中,通常使用 com.kezong.fat-aar 插件来打包远程库到 AAR 中,随着 Gradle 的不断升级,尤其是到 8.7 版本后,Kotlin DSL开发逐渐成为主流,fat-aar 社区没有更新,插件的兼容性问题逐渐显现。我探索一种新的自定义方法,能够在 Kotlin DS…

C#归并排序算法

前言 归并排序是一种常见的排序算法&#xff0c;它采用分治法的思想&#xff0c;在排序过程中不断将待排序序列分割成更小的子序列&#xff0c;直到每个子序列中只剩下一个元素&#xff0c;然后将这些子序列两两合并并排序&#xff0c;最终得到一个有序的序列。 归并排序实现原…

第T9周:使用TensorFlow实现猫狗识别2

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 文章目录 一、前期工作1.设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据 二、数据预处理1、加载数据2、再次检查数据3、可视化数据3…