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

Digi-Key與CalcuQuote合作提供報價API集成支持,為客戶提供更簡便途徑實現30天定價保證

評論