MQTT使用Python和pahomq发布字节数组

2024-04-25 13:51:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用paho MQTT在Python中创建MQTT测试,我需要能够向我的代理发送一个字节数组。订阅服务器查找不同数据类型的多个主题。基于字符串的有效载荷工作正常,但是数字值必须以适合数字类型的字节数组形式接收(即32位整数必须是4字节的数组)

例如,要发送一个32位整数(INT32),有效负载将是00 00 00 00

如果我想发送十进制53,我需要发送00 00 00 35(0x35=53)

因为这个测试是作为套件的一部分运行的,所以它需要在Python中,paho mqtt就是我们选择的mqtt包。在

如果有人能告诉我如何使用paho mqtt来传输字节数组,将不胜感激。在


Tags: 字符串服务器类型代理主题字节数字整数
1条回答
网友
1楼 · 发布于 2024-04-25 13:51:59

使用python struct模块打包二进制数据。例如:

import struct
struct.pack('i', 53)

将产生:

^{pr2}$

(注意:“5”只是53的ASCII值,如您所示)。在

此外,要显式指定endian ness(字节顺序),请使用:

struct.pack('>i', 53)

这将产生反向字节:

'\x00\x00\x005'

可以使用重复计数来指定数组。例如,10-4位的整数代表一个40字节的数组。在

有关详细信息,请参阅结构模块文档:https://docs.python.org/2.7/library/struct.html

相关问题 更多 >