1寫在前面
1.MAVLink是一種非常輕量級的通信協議,在簡單的8位單片機上也可以運行。
2.MAVLink的初衷主要是用于無人機上,但它的通用性和可移植性非常好,它也可以應用于其它很多場合。
3.MAVLink的設計方式值得學習通信的朋友研究一下。
2
關于MAVLink
2.1 描述
MAVLink:Micro Air Vehicle Link,即微型飛行器連接通信協議,于2009年初由Lorenz Meier首次發布。
Mavlink協議是在串口通訊基礎上的一種更高層的開源通訊協議。
MAVLink是一種非常輕量級的通信協議,主要用于與無人機(以及板載無人機組件之間)進行通信。
2.2 主要特征
1.效率很高
MAVLink V1每幀最少只有8個字節的數據,包括幀頭和數據包丟棄檢測;
MAVLink V2每幀最少只有14個字節的數據(是一個更加安全和可擴展的協議);
2.非常可靠
自2009年以來,MAVLink一直被用于在各種不同且具有挑戰性的通信信道上的許多不同車輛,地面站(和其他節點)之間進行通信。它提供了檢測數據包丟失,損壞和數據包身份驗證的方法。
3.支持多種編程語言
可在多種MCU(如:STM32、Atmega、ARM7)和操作系統(如:Windows,Linux,MacOS,Android和iOS)上運行。
4.支持網絡上最多255個并發系統
2.3 參考網址
官網:https://mavlink.io/en
地面站:
http://qgroundcontrol.org/mavlink/start
維基百科:
https://en.wikipedia.org/wiki/MAVLink
(提示:微信公眾號不支持外鏈接,請復制鏈接到瀏覽器打開)
3
MAVLink協議格式
目前MAVLink有兩個版本:V1和V2版本,差異及詳情請看下圖:
MAVLink V2是V1的拓展版本,是一個更加安全和可擴展的協議。
由于市面上應用較廣的還是V1版本,且支持的編程語言也是V1多余V2。因此,接下來(MAVLink學習之路)我都會結合MAVLink V1來講述(學會V1,V2和容易就掌握了)。
3.1 MAVLink V1格式
MAVLink通信內容包含常見通信協議幀頭、幀尾、長度、校驗等。協議格式及詳情見下圖:
4
MAVLink使用方法和步驟
MAVLink之所以受廣大無人機開發朋友的喜愛,原因就在于MAVLink移植方便、操作簡單,以及它的兼容性很好(當然,這些都是它的優點,缺點肯定也是有的)。
要想使用MAVLink,一些基本的操作肯定還是得有。方便初學者對MAVLinK有進一步的認識,我先羅列主要步驟。
4.1 主要步驟
1.下載相應安裝包及工具
2.環境搭建
3.通過xml配置MSG消息
4.移植到STM32
5.結合實例應用編程
-
單片機
+關注
關注
6043文章
44621瀏覽量
638606 -
通信協議
+關注
關注
28文章
915瀏覽量
40442 -
協議
+關注
關注
2文章
606瀏覽量
39342 -
mavlink
+關注
關注
0文章
8瀏覽量
2600
發布評論請先 登錄
相關推薦
迅為RK3588開發板實時系統編譯-Preemption系統/ Xenomai系統編譯-獲取Linux源碼包
迅為RK3568開發板定制擴展分區SDK源碼編譯-獲取Linux-定制擴展分區源碼包
靈活多元的EMC學習方案
![靈活多元的EMC<b class='flag-5'>學習</b>方案](https://file.elecfans.com/web2/M00/3F/CE/pYYBAGJqCX2AbtM8AAANJ1_N7GA875.jpg)
賽盛EMC在線學習平臺:揭秘學習寶典&amp;工具秘籍!
![賽盛EMC在線<b class='flag-5'>學習</b>平臺:揭秘<b class='flag-5'>學習</b>寶典&amp;工具秘籍!](https://file.elecfans.com/web2/M00/3F/CE/pYYBAGJqCX2AbtM8AAANJ1_N7GA875.jpg)
基于STM32的E01和E01C驅動移植
![基于STM32的E<b class='flag-5'>01</b>和E<b class='flag-5'>01</b>C驅動移植](https://file.elecfans.com/web2/M00/3E/6A/pYYBAGJhBGGAGyDYAACBPQuBZQI711.png)
基于迅為RK3568/RK3588開發板的AI圖像識別方案
必看!光伏并網逆變器的3個典型認識誤區
![必看!光伏并網逆變器的3個典型<b class='flag-5'>認識</b>誤區](https://file1.elecfans.com//web2/M00/FB/BA/wKgaomaOZe2AGSGvAAGGWkWLzDk281.png)
STM32高手進階之路與實用學習步驟
MAVLink在應用編程中的編程原理和思路
![<b class='flag-5'>MAVLink</b>在應用編程中的編程原理和思路](https://file1.elecfans.com/web2/M00/C3/50/wKgZomXqmIyALGT3AAARGS2NY5I511.jpg)
評論