有没有办法通过 Adafruit MQTT python 客户端订阅使用多个提要?

Is there a way to use multiple feeds with Adafruit MQTT python client subscriptions?

我正在使用 Adafruit IO MQTT python 客户端根据提要执行代码。我希望一个提要执行一个功能,而另一个提要执行另一个功能。我查看了 this 并四处搜索,但没有找到显示如何订阅多个供稿的内容。

您可以多次调用 subscribe,如:

for feed_id in ['feed1', 'feed2']:
  client.subscribe(feed_id)

这是MQTT协议的一个基本特性。您的 on_message_ 处理程序将接收供稿 ID 作为参数。

你必须自己构建它

只需将 if 语句添加到 on_message 回调中,即可根据主题 (feed_id) 选择不同的函数,例如

def message(client, feed_id, payload, retain):
    if feed_id == 'foo/bar':
       #call foo function
       foo(paylaod)
    elif feed_id == 'bar/foo':
       #call bar function
       bar(payload)