簡體   English   中英

編譯MQTT Python客戶端時出錯

[英]Error on compile MQTT Python Client

我在Raspberry上安裝了MQTT代理(Mosquitto),並將安裝客戶端(Paho Client Python),我嘗試啟動客戶端,但是在編譯文件時出現此錯誤。

  File "client_mqtt.py", line 38, in <module> client = mqtt.client() AttributeError: 'module' object has no attribute 'client' 

我完整的文件是

import paho.mqtt.client as mqtt
import sys

#definicoes: 
Broker            = "localhost"
username          = "mosquitto"
password          = "mqtt"
PortaBroker       = 1883
KeepAliveBroker   = 60
client_name       = "Local"

topic_casa = "casa" 
topic_mcu  = "mcu" 


#Callback - conexao ao broker realizada
def on_connect(client, userdata, flags, rc):
    print("[STATUS] Conectado ao Broker. Resultado de conexao: "+str(rc))
    client.subscribe(topic_mcu)
    client.subscribe(topic_casa)


#Callback - mensagem recebida do broker
def on_message(client, userdata, msg):
    MensagemRecebida = str(msg.payload)

    print("[MSG RECEBIDA] Topico: "+msg.topic+" / Mensagem: "+MensagemRecebida)


def on_disconnect(client, userdata, rc):
    if rc != 0:
        print("Unexpected disconnection.")  

#programa principal:
try:
        print("[STATUS] Inicializando MQTT...")
        #inicializa MQTT:
        client = mqtt.Client()
        client.username_pw_set(username, password)
        client.on_connect     = on_connect
        client.on_message     = on_message
        client.on_disconnect  = on_disconnect

        client.connect(Broker, PortaBroker, KeepAliveBroker)
        client.loop_forever()
except KeyboardInterrupt:
        print "\nCtrl+C pressionado, encerrando aplicacao e saindo..."
        sys.exit(0)

該錯誤與您發布的代碼不匹配。

該錯誤表明您使用的是mqtt.client()而不是mqtt.Client()

TKS Hardillb,但我嘗試

客戶端= mqtt.Client()
客戶端= mqtt.client()

客戶端= mqtt.Client(“”)
客戶= mqtt.client(“”)

並沒有解決它,我將測試什么?

我有同樣的問題

   File "random.py", line 3, in <module>
     import paho.mqtt.client as mqtt
AttributeError: 'module' object has no attribute 'client'

這是因為我當前的文件名是random.py。 嘗試重命名您的client_mqtt.py,也許它可以解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM