读取发布到MQTT主题的数据的字节

时间:2019-06-18 07:22:01

标签: python-3.x arduino mqtt publish-subscribe subscribe

我正在使用STM32duino通过WiFi和MQTT协议将传感器数据发送到远程服务器。我正在使用STM32 Discovery开发板B-L475VG-IOT01A作为发布者,并使用另一台计算机作为订阅者来读取主题。由于我的运动传感器以5k Hz采样,因此我需要非常快地将数据发送到服务器,以确保我的主板在尽可能多的时间内收集数据。目前,我可以实现3数数组的最快时间是160毫秒。为了优化发送时间的速度,我以字节为单位发送数字。但是,以字节为单位发送后,即使指示发布操作成功,也没有在我的命令提示符终端订阅的终端上打印结果。

当前,我正在使用paho.mqtt.client python库。我将代码从print(str(msg.payload))更改为print(str(msg._topic.decode('utf-8')),但仍然无法正常工作。

我尝试了此操作,但它不显示以字节为单位的收到的消息:

def on_message(client, userdata, msg):  # The callback for when a PUBLISH 
message is received from the server.
    print("Message received-> " + msg.topic + " " + str(msg.payload))

这也是:

def on_message(client, userdata, msg): # The callback for when a PUBLISH 
message is received from the server. 
  print("Message received-> " + msg.topic + " " + str(msg._topic.decode('utf-8'))'''

发布者方的代码:

uint8_t x[3] = {10,20,300}; client.publish("sensordata","can publish"); 
if (client.publish("sensordata", (const uint8_t*) x, sizeof(x)) == true) 
{ 
  Serial.println("Success sending message"); } else { Serial.println("Error 
sending message"); }

没有错误消息。只是我的控制台上什么都看不到。

0 个答案:

没有答案