為使無人機(jī)編隊(duì)個(gè)體間實(shí)現(xiàn)組網(wǎng)通信,需要選用合適的通信模塊構(gòu)建通信網(wǎng)絡(luò)。經(jīng)過調(diào)研發(fā)現(xiàn),XBee系列的模塊或許可以更好的解決機(jī)間組網(wǎng)通信問題。
一、XBee PRO 900HP模塊的基本性能參數(shù)
通過查閱相關(guān)技術(shù)手冊,XBee PRO 900HP 模塊的部分性能如下圖所示:
圖1 900HP相關(guān)性能參數(shù)
900HP模塊在室內(nèi)305m內(nèi)或室外6.5km內(nèi)的通信速率都能達(dá)到200Kbps。
對于組網(wǎng)模式,XBee PRO 900HP 模塊可實(shí)現(xiàn)DigiMesh組網(wǎng),如下圖所示:
圖2 900HP組網(wǎng)模式
二、利用軟件XTCU配置XBee PRO 900HP 模塊
配置Xbee模塊需要用到XTCU軟件,該軟件界面如下圖所示:
圖3 XTCU軟件
利用軟件XTCU對XBee進(jìn)行參數(shù)配置主要參考其用戶手冊。一般需要配置的參數(shù)有:
1、網(wǎng)絡(luò)ID:相當(dāng)于標(biāo)識當(dāng)前Xbee模塊屬于哪個(gè)通信網(wǎng)絡(luò)中;
2、波特率:每個(gè)模塊必須配置相同的波特率(可以理解為通信速率),且該波特率還要與飛控的波特率一致,這樣才能確保正常通信;
3、工作模式:XBee模塊間的通信有透傳模式和API模式兩種。
與ZigBee模塊類似,XBee模塊組網(wǎng)時(shí),也需要網(wǎng)絡(luò)中有且僅有一個(gè)節(jié)點(diǎn)模塊作為協(xié)調(diào)器(C),其余節(jié)點(diǎn)作為路由器(router)。我們可以先配置好網(wǎng)絡(luò)中的一個(gè)協(xié)調(diào)器節(jié)點(diǎn)和路由節(jié)點(diǎn),然后依次添加新的路由節(jié)點(diǎn)到網(wǎng)絡(luò)中。下面給出具體步驟:
1、首先連接好兩個(gè)XBee PRO 900HP模塊(一個(gè)協(xié)調(diào)器和一個(gè)路由器)。需要注意的是,在購買該模塊時(shí),要同時(shí)采購具有USB接口的底板,這樣才能方便的連接到電腦上;此外電腦需要安裝CH340的驅(qū)動(dòng),這樣連接上模塊(可以利用360驅(qū)動(dòng)自動(dòng)搜索安裝)。
2、打開XTCU軟件,添加XBee設(shè)備。如下圖所示,點(diǎn)擊搜索按鈕:
圖4 打開XTCU軟件搜索端口
選中端口,點(diǎn)擊Next:
圖5 選中端口
點(diǎn)擊finish:
圖6 點(diǎn)擊finish
等待檢測:
圖7 等待檢測
添加設(shè)備:
圖8 添加設(shè)備
配置參數(shù)。點(diǎn)擊第一個(gè)設(shè)備,然后點(diǎn)擊參數(shù)配置窗口:
圖9 選擇配置窗口
修改網(wǎng)絡(luò)ID:
圖10 修改網(wǎng)絡(luò)ID
圖中的紅色標(biāo)記的第2步是寫入修改的參數(shù)。此外網(wǎng)絡(luò)ID可以自己隨便設(shè)置,不一定是圖中的1234。
利用同樣的方法修改網(wǎng)絡(luò)類型為協(xié)調(diào)器:
圖11 修改模塊類型
修改波特率:
圖12 修改波特率
將網(wǎng)絡(luò)改成API模式:
圖13 選擇API組網(wǎng)模式
以上就將模塊配置成協(xié)調(diào)器了。我們可以導(dǎo)出profile文件,然后用于配置路由器時(shí),只需修改圖11步驟的模塊類型就行了。導(dǎo)出profile文件的方法如下圖所示:
圖14 導(dǎo)出profile文件
配置路由器時(shí)點(diǎn)擊左欄第二個(gè)模塊,然后點(diǎn)擊右欄那個(gè)Profile人像按鈕,選擇第一個(gè)Apply configuration profile,找到之前保存的參數(shù)配置文件就能和協(xié)調(diào)器配置一樣的參數(shù),但注意需要按圖11的方式將模塊類型改為路由器。
圖15 改路由端口
下面測試數(shù)據(jù)傳輸功能:
選擇控制臺,連接模塊(協(xié)調(diào)器和路由器都要通過此操作進(jìn)行連接):
圖16 選中控制臺
點(diǎn)擊“+”號按鈕,創(chuàng)建適合API格式的數(shù)據(jù)包:
圖17 添加待發(fā)送的數(shù)據(jù)包
生成符合格式要求的的數(shù)據(jù)包:
圖18 生成符合格式要求的的數(shù)據(jù)包
注意:圖中第二個(gè)紅色箭頭指示的"FFFF"是表示廣播該數(shù)據(jù)包,如果要指定某個(gè)節(jié)點(diǎn)發(fā)送,需要該對方節(jié)點(diǎn)的mac地址,mac地址可以從左欄模塊信息中看到:
圖19 模塊mac地址
圖18所述步驟點(diǎn)擊OK,然后就生成了發(fā)送字符串Hellow的數(shù)據(jù)包,之后就可以點(diǎn)擊發(fā)送:
圖20 發(fā)送數(shù)據(jù)包
接收端可查看數(shù)據(jù):
圖21 接收端查看數(shù)據(jù)
三、數(shù)據(jù)通信協(xié)議分析
從圖20可以看出,模塊間的通信協(xié)議發(fā)送包格式為:
數(shù)據(jù)包頭(0x7E)+字長(2個(gè)字節(jié))+發(fā)送協(xié)議類型(0x10)+發(fā)送協(xié)議ID(0x01)目標(biāo)64位地址(8個(gè)字節(jié),即mac地址)+目標(biāo)16位地址(FFFE)+廣播半徑(00)+選項(xiàng)(00)+數(shù)據(jù)(N個(gè)字節(jié))+校驗(yàn)碼(1個(gè)字節(jié))
對于字長,實(shí)際上計(jì)數(shù)的是排在它之后所有數(shù)據(jù)字節(jié)之和(校驗(yàn)碼除外),也就是從協(xié)議類型(0x10)到校驗(yàn)碼之前的長度,假設(shè)實(shí)際負(fù)載的數(shù)據(jù)是N個(gè)字節(jié)的話,那么字長計(jì)數(shù)值就為:1+1+8+2+1+1+N=N+14;
接收協(xié)議與發(fā)送協(xié)議基本相同,只是目標(biāo)地址變成了發(fā)送源地址。即:
數(shù)據(jù)包頭(0x7E)+字長(2個(gè)字節(jié))+接收協(xié)議類型(0x90)+來源64位地址(8個(gè)字節(jié),即mac地址)+來源16位地址(FFFE)+選項(xiàng)(0xC1)+數(shù)據(jù)(N個(gè)字節(jié))+校驗(yàn)碼(1個(gè)字節(jié))
注意,接收的字長和發(fā)送的字長并不一致,前者比后者少2個(gè)字節(jié)(少了發(fā)送協(xié)議ID和廣播半徑),為N+12。比如某次發(fā)送信息要求從A發(fā)給B,二者mac地址分別為:
A的mac地址為:00 13 A2 00 41 08 01 0B
B的mac地址為:00 13 A2 00 41 08 01 12
要發(fā)送的數(shù)據(jù)包內(nèi)容為:
hellpw
其ascll碼轉(zhuǎn)化為16進(jìn)制為:
68 65 6C 6C 70 77
則發(fā)送字長為6+14=20=0x14,發(fā)送數(shù)據(jù)包為:
7E 00 14 10 01 00 13 A2 00 41 08 01 12 FF FE 00 00 68 65 6C 6C 70 77 54
接收字長為6+12=18,其數(shù)據(jù)包為:
7E 00 12 90 00 13 A2 00 41 08 01 0B FF FE C1 68 65 6C 6C 70 77 1B
校驗(yàn)碼的計(jì)算方式如下:
(1)添加數(shù)據(jù)包的所有字節(jié),但數(shù)據(jù)包頭0x7E和長度(第二個(gè)和第三個(gè)字節(jié))除外。
(2)根據(jù)結(jié)果,僅保留最低的8位。
(3)0xFF減去該數(shù)量.
對于上述接收包計(jì)算過程即為:
數(shù)據(jù)累加:90 + 00 + 13 + A2 + 00 + 41 + 08 + 01 + 0B + FF + FE + C1 + 68 + 65 + 6C + 6C + 70 + 77 =6E4
保留后八位,即:E4
校驗(yàn)碼=FF-E4=1B
最后,需要指出,發(fā)送端的Xbee模塊若成功發(fā)送數(shù)據(jù)還會收到一個(gè)反饋,其格式為
數(shù)據(jù)包頭(0x7E)+字長(2個(gè)字節(jié))+協(xié)議類型(0x88)+16位地址(FFFE)+ 失效重發(fā)次數(shù)(1個(gè)字節(jié))+傳輸狀態(tài)(1個(gè)字節(jié),成功為00)+ discovery status(1個(gè)字節(jié),暫時(shí)不清楚用法)+ 校驗(yàn)碼(1個(gè)字節(jié))
如一次成功的發(fā)送得到的反饋可能如下:
7E 00 07 8B 01 FF FE 00 00 00 76
審核編輯:湯梓紅
-
Digi
+關(guān)注
關(guān)注
0文章
16瀏覽量
9499 -
API
+關(guān)注
關(guān)注
2文章
1500瀏覽量
62013 -
無人機(jī)
+關(guān)注
關(guān)注
230文章
10437瀏覽量
180401 -
組網(wǎng)通信
+關(guān)注
關(guān)注
0文章
8瀏覽量
6048
原文標(biāo)題:淺談Digi 900HP模塊的API模式組網(wǎng)配置
文章出處:【微信號:雨飛工作室,微信公眾號:雨飛工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論