树莓派通讯数据plot

本文探讨了在树莓派上通过TCP传输数据并使用Python的matplotlib库进行绘图时遇到的问题,包括帧数跟不上导致的严重延迟。作者提到两种尝试方法并不理想,并建议尝试第三种方法。在TCP通信中,为了解决粘包问题,采用了先发送数据包大小,再接收并设置Python接收包大小的策略。在C语言和Python之间传输int、double和float类型数据也存在转换难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下两种方法其实都是不行的,第三种方法没有尝试,有兴趣的可以尝试一下

方法一:通过tcp传送数据并用python的matplotlib库来画(帧数跟不上,严重延迟)

在硬件开发的时候很容易就会遇到要把数据plot一下,在树莓派里面暂时有两种方法,一种是蓝牙传输,一种是tcp的方式。比较熟悉tcp的方法,就是用了tcp的方法。

python的tcp连接方法简单,而且有丰富的库,那么就找了python的matplotlib类库来做。python的话要注意粘包的问题,原因。为了解决粘包问题,就先发送一个包的大小过来,接收之后,再设置python接收的包的大小,这样就能解决粘包的问题,不然数据很容易就乱了。在c里面发送int和double,float也是一个坑。如下:

char data[1024];
int j;
j = sprintf(data, "%lf\t", nP);
j += sprintf(data + j, "%lf\t", nD);
j += sprintf(data + j, "%d\t", nSpeed);
j += sprintf(data + j, "%d\t", g_nLeftMotorOut);
j += sprintf(data + j, "%lf\t", rotation_y);
j += sprintf(data + j, "%lf\t", gyro_scaled_y);
j += sprintf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值