python - Python MQTT 发布者不发布
问题描述
试图从树莓派发布一些数据,但没有通过。但是,通过 MQTT.fx 发布可以正常工作。这是我的python脚本:
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
publish.single("example_topic", payload="example message", qos=0, retain=False,\
hostname="example.com",port=8883, client_id="random_number", \
keepalive=60, will=None,auth = {'username':"example_username",\
'password':"example_password"}, tls=None, protocol=mqtt.MQTTv311, transport="tcp")
这可能很重要:在 MQTT.fx 中,如果不导航到“SSL/TLS”,我就无法连接,在“启用 SSL/TLS”旁边打叉,然后在“CA 签名服务器证书”旁边打叉”。
有人可以告诉我我做错了什么吗?:)
解决方案
你似乎在这里混合了不同的东西。publish.single
不需要任何mqtt.Client()
东西。它旨在在单个函数调用中处理所有内容。
publish.single()
选择一切。文档在这里
import paho.mqtt.publish as publish
publish.single(topic, payload=None, qos=0, retain=False, hostname="localhost",
port=1883, client_id="", keepalive=60, will=None,
auth={username:"user", password:"pass"}, tls=None,
protocol=mqtt.MQTTv311, transport="tcp")
推荐阅读
- python - 如何将 Nonetype 转换为 int?
- javascript - 将文本插入 HTML 样式标记 - JavaScript
- typescript - 猴子补丁 react-native Text 组件与 TypeScript
- dart - Dart 的分析器和 linter 有什么区别?
- python - 查找导出的 csv 的路径
- for-loop - 简单的 JS for 循环删除 Google 表格中的表格不循环
- c# - Razor 中的 Html.DisplayNameFor List 与 IEnumerable
- powershell - Azure Pipelines Powershell 脚本中的“找不到类型”错误
- ios - 如何在 SwiftUI 中有条件地设置视图转换?
- c++ - 是否可以在 C++ 中为指针提供参数,这是什么意思?