Open palmtreefrb opened 4 years ago
The error states that message 21 got lost (it received message 22 when it expected 21). I have to admit I haven't seen that error triggered... mqboard doesn't use flow-control for put
(only for ota
), I wonder whether your MQTT server is configured to only buffer up to 20 messages per client or per topic... Is there a way you can check that? If that's the case, try to double the BUFLEN https://github.com/tve/mqboard/blob/master/mqboard/engine.py#L9, that will cut the number of messages in half...
Changed BUFLEN to 2400. Below is the output...
(venv) fredrick@fredrick-Studio-XPS-435MT:~/Development/micropython/mqboard/blinky$ ./sync --server mqtt.xxxxxx.com --port 8883 --tls --prefix aiotcomqtt --verbose --timeout 120
Target directory /lib
Connecting to mqtt.xxxxxx.com:8883
Subscribing to aiotcomqtt/mqb/reply/out/syyIGwzl and aiotcomqtt/mqb/reply/err/syyIGwzl
Pub aiotcomqtt/mqb/cmd/eval/syyIGwzl #0 last=True len=499
Received reply on topic 'aiotcomqtt/mqb/reply/out/syyIGwzl' with QoS 1
0.928kB in 1.427s -> 0.650kB/s
ok sntp.py
ok sysinfo.py
ok logging.py
ok board.py
ok mqtt.py
ok mqrepl.py
ok watchdog.py
put shadiff ./../mqtt_async/mqtt_async.py -> /lib/mqtt_async.py
Subscribing to aiotcomqtt/mqb/reply/out/tEXJWKHS and aiotcomqtt/mqb/reply/err/tEXJWKHS
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #0 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #1 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #2 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #3 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #4 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #5 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #6 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #7 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #8 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #9 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #10 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #11 last=False len=2802
Pub aiotcomqtt/mqb/cmd/put/tEXJWKHS//lib/mqtt_async.py #12 last=True len=2040
Received reply on topic 'aiotcomqtt/mqb/reply/out/tEXJWKHS' with QoS 1
34.830kB in 4.652s -> 7.487kB/s
Target directory /src
Subscribing to aiotcomqtt/mqb/reply/out/onaw5ZgQ and aiotcomqtt/mqb/reply/err/onaw5ZgQ
Pub aiotcomqtt/mqb/cmd/eval/onaw5ZgQ #0 last=True len=499
Traceback (most recent call last):
File "/safemode/mqrepl.py", line 313, in _msg_cb
File "/safemode/mqrepl.py", line 192, in _do_eval
File "
Uggg, just now finding out that my ESP32-DevKitC WROOM-32D does not have a user LED only a 5v LED
Looks good! So the amount of buffering at the broker level most likely was the issue. This means I need to implement flow-control, just like I do for OTA (which is a bit on the hacky end). Grrr...
Any idea what might be happening here. Running /blinky/sync (venv) fredrick@fredrick-Studio-XPS-435MT:~/Development/micropython/mqboard/blinky$ ./sync.sh --server mqtt.xxxxxxx.com --port 8883 --tls --prefix aiotcomqtt Target directory /lib ok sntp.py ok sysinfo.py ok logging.py ok board.py ok mqtt.py ok mqrepl.py ok watchdog.py put shadiff ../mqtt_async/mqtt_async.py -> /lib/mqtt_async.py MQRepl protocol error put: message missing: 22 vs. 21 Aborted!