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.結合實例應用編程
-
單片機
+關注
關注
6067文章
44982瀏覽量
650314 -
通信協議
+關注
關注
28文章
1033瀏覽量
41155 -
協議
+關注
關注
2文章
615瀏覽量
40064 -
mavlink
+關注
關注
0文章
9瀏覽量
2682
發布評論請先 登錄
迅為RK3568開發板安裝燒錄工具-安裝 RKTool 驅動
即刻啟程,踏上W55MH32高性能以太網單片機學習之路!

一文帶你學習認識反激開關電源設計!
如何使用UCANS32K146讀取MAVLINK?
迅為RK3588開發板實時系統編譯-Preemption系統/ Xenomai系統編譯-實時系統燒寫-固件獲取方式
迅為RK3588開發板實時系統編譯-Preemption系統/ Xenomai系統編譯-獲取Linux源碼包
迅為RK3568開發板定制擴展分區SDK源碼編譯-獲取Linux-定制擴展分區源碼包
靈活多元的EMC學習方案

賽盛EMC在線學習平臺:揭秘學習寶典&amp;工具秘籍!

評論