# python解析0A帧 **Repository Path**: wuh1994_me/python-parsing-0-a-frame ## Basic Information - **Project Name**: python解析0A帧 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-11 - **Last Updated**: 2022-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 脚本 for 解析IMU0A帧(34 bytes) ------------ **Python时代已经来了,朋友们** **注意事项!** 1. 此脚本依赖图形库**plotly**和**numpy**; 2. 运行此脚本应使用**python3.5**以上的版本; **使用说明:** 1. 直接运行main.py (linux环境),后面跟需要解析的二进制0A数据包,windows环境应该是类似的,或者指定python解析器运行main.py,例如python3 main.py data/capture.txt; 2. 运行之后会自动打开浏览器作为客户端接收绘图(可互动),如下: ![image1](./imgs/Screenshot_1.png) 3. 这里是因为自己比较懒,所以使用了网上比较简单的绘图库**plotly**,欢迎其他人来改进更好的科学绘图功能; ### For 实习生 以下是FYI和你的To-Do List: **FYI** 1. 首先你需要clone这个repo: ```bash 1. git clone --depth 1 https://gitee.com/wuh1994_me/python-parsing-0-a-frame.git ``` 2. data文件夹里面有一段IMU的采集文件,已二进制方式保存: ```bash hexdump -C data/capture.txt ``` ![image1](./imgs/hexdump.png) 这里的 bd db 是我们的包头,IMU以每帧34字节的格式将传感器信息发出,每帧的包头是0xBD 、0xDB,而最后一个字节是校验帧,校验帧为前33个字节的异或校验,将capture.txt所有信息解出后,将会获得上文中python的结果,即IMU的每轴加速度和角速度和IMU温度信息的时间序列; 3. 以下为大致的解包协议,IMU传输是小端序; ![image3](./imgs/protocal.JPG): **To-do List** 1. 你需要参照python源码,即main.py,翻译成c或者c++源码,编译出一个x86-64的二进制可执行文件,这个二进制可以将capture.txt的传感器信息解出,并写入一个新的csv文件,csv文件前六列为x,y,z轴加速度和角速度,第七列为温度。