1寫在前面
1.MAVLink是一種非常輕量級的通信協(xié)議,在簡單的8位單片機上也可以運行。
2.MAVLink的初衷主要是用于無人機上,但它的通用性和可移植性非常好,它也可以應(yīng)用于其它很多場合。
3.MAVLink的設(shè)計方式值得學(xué)習(xí)通信的朋友研究一下。
2
關(guān)于MAVLink
2.1 描述
MAVLink:Micro Air Vehicle Link,即微型飛行器連接通信協(xié)議,于2009年初由Lorenz Meier首次發(fā)布。
Mavlink協(xié)議是在串口通訊基礎(chǔ)上的一種更高層的開源通訊協(xié)議。
MAVLink是一種非常輕量級的通信協(xié)議,主要用于與無人機(以及板載無人機組件之間)進行通信。
2.2 主要特征
1.效率很高
MAVLink V1每幀最少只有8個字節(jié)的數(shù)據(jù),包括幀頭和數(shù)據(jù)包丟棄檢測;
MAVLink V2每幀最少只有14個字節(jié)的數(shù)據(jù)(是一個更加安全和可擴展的協(xié)議);
2.非常可靠
自2009年以來,MAVLink一直被用于在各種不同且具有挑戰(zhàn)性的通信信道上的許多不同車輛,地面站(和其他節(jié)點)之間進行通信。它提供了檢測數(shù)據(jù)包丟失,損壞和數(shù)據(jù)包身份驗證的方法。
3.支持多種編程語言
可在多種MCU(如:STM32、Atmega、ARM7)和操作系統(tǒng)(如:Windows,Linux,MacOS,Android和iOS)上運行。
4.支持網(wǎng)絡(luò)上最多255個并發(fā)系統(tǒng)
2.3 參考網(wǎng)址
官網(wǎng):https://mavlink.io/en
地面站:
http://qgroundcontrol.org/mavlink/start
維基百科:
https://en.wikipedia.org/wiki/MAVLink
(提示:微信公眾號不支持外鏈接,請復(fù)制鏈接到瀏覽器打開)
3
MAVLink協(xié)議格式
目前MAVLink有兩個版本:V1和V2版本,差異及詳情請看下圖:
MAVLink V2是V1的拓展版本,是一個更加安全和可擴展的協(xié)議。
由于市面上應(yīng)用較廣的還是V1版本,且支持的編程語言也是V1多余V2。因此,接下來(MAVLink學(xué)習(xí)之路)我都會結(jié)合MAVLink V1來講述(學(xué)會V1,V2和容易就掌握了)。
3.1 MAVLink V1格式
MAVLink通信內(nèi)容包含常見通信協(xié)議幀頭、幀尾、長度、校驗等。協(xié)議格式及詳情見下圖:
4
MAVLink使用方法和步驟
MAVLink之所以受廣大無人機開發(fā)朋友的喜愛,原因就在于MAVLink移植方便、操作簡單,以及它的兼容性很好(當(dāng)然,這些都是它的優(yōu)點,缺點肯定也是有的)。
要想使用MAVLink,一些基本的操作肯定還是得有。方便初學(xué)者對MAVLinK有進一步的認識,我先羅列主要步驟。
4.1 主要步驟
1.下載相應(yīng)安裝包及工具
2.環(huán)境搭建
3.通過xml配置MSG消息
4.移植到STM32
5.結(jié)合實例應(yīng)用編程
-
單片機
+關(guān)注
關(guān)注
6037文章
44564瀏覽量
635922 -
通信協(xié)議
+關(guān)注
關(guān)注
28文章
887瀏覽量
40318 -
協(xié)議
+關(guān)注
關(guān)注
2文章
602瀏覽量
39246 -
mavlink
+關(guān)注
關(guān)注
0文章
8瀏覽量
2595
發(fā)布評論請先 登錄
相關(guān)推薦
評論