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.非??煽?/p>
自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.結合實例應用編程
-
單片機
+關注
關注
6035文章
44553瀏覽量
634771 -
通信協議
+關注
關注
28文章
881瀏覽量
40301 -
協議
+關注
關注
2文章
602瀏覽量
39215 -
mavlink
+關注
關注
0文章
8瀏覽量
2594
發布評論請先 登錄
相關推薦
評論