我有一个在 mqtt 代理上发布值的 python 代码。 当我使用 broker.hivemq.com
运行良好时,当我连接到本地 mosquitto 时,我没有收到任何 vslues发件人代码的代码是
import time
import paho.mqtt.client as mqtt
from random import randrange, uniform
mqttBroker ="broker.hivemq.com"
#mqttBroker ="mybroker"
client = mqtt.Client("publisher")
client.connect(mqttBroker)
for i in range(3):
randNumber = uniform(20.0, 21.0)
client.publish("mytopic", randNumber)
print("published " + str(randNumber) + " to topic mytopic")
time.sleep(1)
并订阅,我使用
mosquitto_sub -h broker.hivemq.com -t mytopic
效果很好
如果我取消注释 #mqttBroker ="mybroker"
然后使用 mosquitto_sub -h mybroker -t mytopic
,则什么也没有收到
mosquitto.conf 文件是
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
allow_anonymous true
它在 raspberry pi 上的 docker 中运行
docker run -it --init --restart=always --name mosquitto -p 1883:1883 -v $(pwd)/mosquitto:/mosquitto/ eclipse-mosquitto
欢迎任何帮助