我是python新手,一直在努力学习它,只是为了这个特定的项目。我所做的是使用基本上是一个arduino克隆和一个NRf24收发器将下面的结构发送到空中。在
struct SENSOR{
float sensor1;
float sensor2;
float sensor3;
};
struct HEADER{
long type;
long hops;
long src;
long ID;
SENSOR sensor;
};
我用的是带NRf24的beaglebone black来接收它。在BBB上,收发器是由python驱动的(因为BBB和我使用的无线电已经有了(相对)大的代码库)。在
在arduino端,它显示结构的长度为28,这也是我在python端收到的结果。我搞不懂如何将存储在数组中的接收数据移动到可用格式中。在
python方面:
^{pr2}$这是我在python端收到的消息
[1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 51, 51, 163, 64, 51, 51, 195, 64, 51, 51, 227, 64]
派往阿杜伊诺那边
header.type = 1;
header.hops = 2;
header.src = 3;
header.ID = 4;
header.sensor.sensor1 = 5.1;
header.sensor.sensor2 = 6.1;
header.sensor.sensor3 = 7.1;
我已经查看了ctypes库,可能还使用了unpack,但无法使其正常工作。谢谢你的帮助。在
使用struct模块。在
首先,将整数(实际上是字节)值的数组转换为字符串表示,如下所示
…然后将该字符串传递给传递格式字符的
^{pr2}$struct.unpack
函数,以指定如何将字符串解析为实际值。在相关问题 更多 >
编程相关推荐