# 附:开发接口协议说明

相关文档:

1) BooBase与上位机串口协议说明

2) 底盘驱动控制M20 产品手册

3) Navi++ 应用层串口协议

4) Navi++ 开发手册

简要说明:

  • 导航控制-网络通信(全功能)

参考文档(可以点击下载:Navi++ 开发手册

UDP通信

服务器会定时向网段内所有设备广播消息,广播间隔 3 秒(s)。将本地端口绑定为6789,即可收到服务器的广播消息。

# code: python

(b'boocax_boocaslam:boocax-test-SERVER', ('192.168.3.78', 43435))

b'…':表示这是一个 bytes 格式的字符串(Python); boocax_boocaslam:服务器验证字段; boocax-test-SERVER:服务器名称; 192.168.3.78:服务器 IP; 43435:端口,可无视。TCP 连接统一使用 6789 端口

注意: 可能会收到来自同一IP、同一服务器,但是端口不同的广播信息。这些广播实为同一台服务器发出,编程时需留意。

基于 TCP 的私有通信协议 Boocaslam 服务器与 APP/ROS 间通信使用私有协议,协议消息包含四个字节的固定头部(Head)与消息体(Body)。

消息格式

固定头部

前 4 个字节为 Head(固定头部)部分,表示后面的消息体的字长(字节数);低位字节在前。 例:如果数据包长度为 10, 则这四个字节是:(0A, 00, 00, 00),即 Head 为 0A000000;

消息体

Head 后紧接消息体,使用 JSON 格式,UTF-8 编码。

消息体格式说明:

APP 与服务器相互发送的所有消息的 JSON 描述中,都包含 参数"message_type",表明消息的类型; 对于文件传输,文件内容通过 base64 编码协议编码后传输,详见第五章"文件传输"。

  • 导航控制(2)-串口通信(仅导航控制)

参考文档:Navi++ 应用层串口协议

串口设置

校验位:无

数据位:8bit

停止位:1bit

波特率:9600

数据格式

Head:协议头,固定两个字节: 0xAA 0x55

Len:数据长度,1 个字节,Cmd 和 Payload 的数据长度之和

Cmd:命令类型,1 个字节

Payload:实际数据,长度 0-254 之间

Crc:校验码,一个字节。Len,Cmd,Payload

这三个部分的数据逐字节异

  • 控制板通讯-串口通信

参考文档(可以点击下载:底盘驱动控制 M20 产品手册

results matching ""

    No results matching ""