Can't instantiate MQTT class (M5 Stick C Plus with Micropython)



  • Hello! I have a small MicroPython program running on my M5 Stick C Plus (with UI Flow firmware version 1.6.5.1-plus, as I get screen errors with 1.6.6-plus) and I wanted to add MQTT communication. I was following loboris' documentation and examples. However, I get the following error:

      File "main.py", line 289, in <module>
    AttributeError: 'module' object has no attribute 'mqtt'
    MicroPython 7021d9419-dirty on 2020-10-30; M5StickC-Plus with ESP32
    

    Line 289 looks as follows (I imported network earlier in the code):

    client = network.mqtt(NAME, SERVER, user="mosquitto", password="mosquitto", cleansession=True, connected_cb=conncb, disconnected_cb=disconncb, subscribed_cb=subscb, published_cb=pubcb, data_cb=datacb)
    

    I'm completely dumbfounded, as the same method call appears in the M5 Cloud MQTT example. Does anybody know what could be causing this behavior?

    Thanks in advance,

    Rosa



  • If I use the mqtt blocks in UIFlow.1.6.6 it generates the following python code:

    from m5mqtt import M5mqtt
    
    m5mqtt = M5mqtt('NAME', 'SERVER', 1883, 'mosquitto', 'mosquitto', 300)
    
    m5mqtt.publish(str('topic'),str('message'))
    


  • @sodoku I see! I'll try that code. Thank you!