51uwb 開源TDOA 科研pro版本配置說明
阿新 • • 發佈:2020-09-09
藍點無限TDOA 科研pro版本中UWB 裝置共分為三種類型,基站節點,同步時鐘節點以及標籤節點。
基站節點通過乙太網線連線到伺服器,同步時鐘和標籤節點通過無線訊號傳送資訊給基站節點。
節點型別控制再bphero_uwb.h檔案中,主要參考程式碼如下:
#define RX_NODE //rx node address 0x0001 --> 0x0004 //#define TX_NODE // tag(short addr) //#define SYNC_NODE //sync code(sync addr) #ifdef RX_NODE #define SHORT_ADDR 0x0004 //rx node address 0x0001 --> 0x0004#endif #ifdef TX_NODE #define SHORT_ADDR 0x001A //no need change #endif #ifdef SYNC_NODE #define SHORT_ADDR 0x6666 //no need change #endif #define SYNC_ADDR 0x6666
說明:
RX_NODE 為基站節點
TX_NODE 為標籤節點
SYNC_NODE為同步時鐘節點
三種類型節點使用一套程式碼,通過上述巨集定義區分不同裝置型別,如上程式碼編譯基站,且基站地址為0x0004,我們會給每個模組分配一個16bit 短地址唯一標識網路中的裝置。
預設情況基站使用0x0001-0x0004,需要分別編譯4次。 而同步節點固定使用0x6666,其它有效地址可供標籤使用。
編譯標籤,指定標籤地址為0x001A
//#define RX_NODE //rx node address 0x0001 --> 0x0004 #define TX_NODE // tag(short addr) //#define SYNC_NODE //sync code(sync addr) #ifdef RX_NODE #define SHORT_ADDR 0x0004 //rx node address 0x0001 --> 0x0004 #endif #ifdef TX_NODE #define SHORT_ADDR 0x001A //no need change #endif
編譯同步時鐘,同步時鐘地址固定為0x6666
//#define RX_NODE //rx node address 0x0001 --> 0x0004 //#define TX_NODE // tag(short addr) #define SYNC_NODE //sync code(sync addr) #ifdef RX_NODE #define SHORT_ADDR 0x0004 //rx node address 0x0001 --> 0x0004 #endif #ifdef TX_NODE #define SHORT_ADDR 0x001A //no need change #endif #ifdef SYNC_NODE #define SHORT_ADDR 0x6666 //no need change #endif
由於基站節點有乙太網介面,所以需要對乙太網介面資訊進行配置,具體配置檔案為ethernet.c,主要參考程式碼如下
uint16 Source_Port = 5000; uint16 Dest_Port = 9000; Gateway_IP[0] = 192; Gateway_IP[1] = 168; Gateway_IP[2] = 2; Gateway_IP[3] = 1; Sub_Mask[0]=255;
Sub_Mask[1]=255; Sub_Mask[2]=255; Sub_Mask[3]=0; Phy_Addr[0]=0x0c; Phy_Addr[1]=0x29; Phy_Addr[2]=0xab; Phy_Addr[3]=0x7c; Phy_Addr[4]=0x00; Phy_Addr[5]=SHORT_ADDR&0xFF; IP_Addr[0]=192; IP_Addr[1]=168; IP_Addr[2]=2; IP_Addr[3]=90+SHORT_ADDR&0xFF; S0_Port[0] = Source_Port>>8;//high 8bit S0_Port[1] = Source_Port& 0xFF;//low 8bit S0_DIP[0]=192;// S0_DIP[1]=168; S0_DIP[2]=2; S0_DIP[3]=86; S0_DPort[0] = Dest_Port>>8;//high 8bit S0_DPort[1] = Dest_Port &0xFF; //low 8bi
網管和子網掩碼,可以通過路由器或者同一個網段電腦檢視。
我們測試預設使用的網段為192.168.2.X
4個基站使用IP地址分別為192.168.2.91-94,這幾個IP地址固定申請,如果路由器已經把這幾個地址分配給其他裝置,需要修改
IP_Addr[3]=90+SHORT_ADDR&0xFF;
將上述程式碼中的90 換做其它值。
目前伺服器IP,上述程式碼為192.168.2.86,伺服器埠為9000,這個可以根據實際情況修改,也可讓PC使用固定IP而避免修改code。
更多內容請參考51uwb.cn
http://51uwb.cn/forum.php?mod=viewthread&tid=253&page=1&extra=#pid1297