MQTT issues with UIFlow V1.4.5
-
A) Issue A: M5Stack IoT tutorial and example are based on cloudmqtt.com; most of user like me just use “Cute Cat” Free MQTT broker which it is "out of stock" i.e. cloudmqtt.com does not offer the free tear anymore. So i kindly ask M5Stack to test and document with a tutorial other options.
B) Adam Bryant from M5Stack FB Group suggested to try Adafruit MQQTT broker, which i did; nevertheless immediately after my Blockly app boot, when trying to publish the first value (of pressure) the Adafruit Dashboard reports "MQTT ERROR: rejected, not a valid topic format"...the application i am trying did work perfectly last year with cloudmqtt.com “Cute Cat” Free MQTT broker though , i just changed the credentials during MQQT initialization. Therefore it looks to me that there is a MQTT protocol compatibility issues between Adafruit IoT platform/MQTT broker and M5Stack IoT / MQTT / Blockly/micro-Python compatibility issues? ....
C) For a discussion and documentation with pictures of all the problems i am facing with Stick-C/Core/UIFlow V1.4.5 related to WiFi and IoT please check the thread of discussion on the FB M5Stack group from March 15th onward....
Thank you very much! -
There are several examples of both Adafruit AIO and cloudmqtt on the forum if you just search for MQTT. The topic format is not the same for those two cloud broker services, so you won’t be able to just change the credentials and expect it to work.
-
@world101 thank you for your reply, i tried to look for examples that you mentioned and i saw one of your post where the MQTT publish and subscribe topics have to be preceded by the path at the adafruit server ( io.adafruit.com ) username/feeds/topic and i did the same...but that does not solve my very first problem, my Blockly app (on Core nor on Stick-C) never get to execute the very first statement after Startup and the app is frozen with overlapped error message in red "connect fail"...i did ad a waiting loop for the wifi to be ready....i may have forgotten to mention that i am in Shanghai/China and maybe the internet sucks as usual and the M5Stack OS timeout too early? ...just speculating..but this issue cannot be related to MQTT....the app should execute the rest of the code at least but it is not the case, it is just frozen after showing initial screen (drawn manually in Blockly)....
-
@world101 i just manage to have a partial sucess using lastest firmware V1.4.5.1, here my findings
a) My Blockly app (which worked last year) contained a loopback test i.e. both a publish and substribe MQTT within the same application (it makes sense just for testing) but that is the very reason i was having problems (app freeze before first statement and "connect fail displayed in red), if i leave the publish statement only then my app does not freeze and after changes on the publish topic including username/feeds/topic (using adafruit server io.adafruit.com and my new credentials) and the Adafruit dashboard correctly display the published value (pressure, emulated with the rotary potenciometer, my ref: Environment_IoT34E_test3_Adafruit_Dashboard_example.png) .
b) Despite successful test the behaviour is still UNRELIABLE while booting, still gettin the 'connect fail' message in red after boot ~ every second attempt BUT the application does not freeze anymore and continue working as intended and publishing the topic data as explained above.
Again, thank you very much for your "slight' hint about Adafruit difference with cloudmqtt.com. -
@jcabad100
A) Even I am facing the same red "Connect Fail" error message every time I try to subscribe. I am using an M5Core Grey and cloudMQTT as a server. My intention is to send data from one M5 to another. The publish statement doesn't give the error whereas the subscribe gives an error every time. Can someone please help me with this?
B) Also, can anyone tell me how can I subscribe to my M5 from cloudmqtt so that I can know if atleast publish works or not?