1. 程式人生 > 實用技巧 >51uwb 開源TDOA 科研pro版本配置說明

51uwb 開源TDOA 科研pro版本配置說明

藍點無限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