Python为什么我的Paho Mqtt消息与发送时不同?

2024-05-26 09:17:51 发布

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

我正在用一些C.H.I.p.s(比如树莓派)做一个项目,我需要用无线方式将一些信息从一个从设备发送回主板。我使用Paho作为Mqtt客户机,并使用mosquito作为我的经纪人。我的问题是,当我按下一个连接到从板的按钮时,它会发送我的消息,但是当主板接收到它时,它似乎是以“b”的形式得到的。例如,如果我在打印时发送消息“off”消息有效载荷上面印着“b'off”。这导致了一个问题,因为我无法比较消息以便在主板上执行命令。在

这是我的主板代码:

import paho.mqtt.client as paho
import CHIP_IO.GPIO as GPIO
import time

GPIO.cleanup()
GPIO.setup("XIO-P0", GPIO.IN, pull_up_down=GPIO.PUD_DOWN) 
GPIO.setup("XIO-P2", GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

client = paho.Client()
client.connect("172.20.0.1", 1883)

print ("CONNECTED")

while True:
  if (GPIO.input("XIO-P0") == False):
    print ("Button P0 Pressed")
    client.publish('tipup', 'flag')
    time.sleep(1)

  if (GPIO.input("XIO-P2") == False):
    print ("Button P2 Pressed")
    client.publish('tipup', 'off')
    time.sleep(1)

这是我的主板代码(经纪人)

^{pr2}$

打印str时出现问题(消息有效载荷)在我的主板代码里。我应该补充一点,这两个编译和运行都很好,这只是一个问题,当我在弄清楚为什么它没有通过任何一个if语句时,我在on_message()中注意到了。在


Tags: 代码importclient消息gpioiftime经纪人