tuzhuke 发表于 2019-3-11 20:10:44

上位机软件通信协议更改说明

UWB 基站将测得的距离信息通过串口发送给上位机,上位机根据这些测距信息解算位置坐标, 需要统一规定信息的格式。

之前论坛里已经放过格式定义,请参见 链接

这里简单介绍下如果修改上位机的通信格式
用qt打开源码,找到RTLSClient.cpp 文件void RTLSClient::newData() ,下面的字符m 和 r 是通信的头标识 case 0:
                if(tmp=='m')
                  usart_state=1;
                break;
            case 1:
                if(tmp=='r')
                {
                  usart_state=2;
                  data_pos =0;
                }
                break;
在 void RTLSClient::ProcessData(void) 中可以找到将测得距离重新整合在一起
   else if(frame_type == 2)
    {
      range=frame|frame<<8;
      range=frame|frame<<8;
      range=frame|frame<<8;
      range=frame|frame<<8;
      ra = range*10;
      ra = range*10;
      ra = range*10;
      ra = range*10;
      processTagRangeReport(0, TAG_ID, range*10, lnum, seq);
      processTagRangeReport(1, TAG_ID, range*10, lnum, seq);
      processTagRangeReport(2, TAG_ID, range*10, lnum, seq);
      processTagRangeReport(3, TAG_ID, range*10, lnum, seq);
      trilaterateTag(TAG_ID, seq);
    }trilaterateTag(TAG_ID, seq); 就是三边定位函数具体实现

szmcumcu 发表于 2021-9-30 17:19:42

好资料,学习了,谢谢楼主,赞赞
页: [1]
查看完整版本: 上位机软件通信协议更改说明