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

原文地址:https://www.cnblogs.com/tuzhuke/p/13636875.html