Reliability test results: Pyboard D and MQTT
Posted: Fri Nov 01, 2019 5:41 pm
tl;dr For serious reliability the Pyboard D seems to be the best platform for WiFi applications.
Using the asynchronous resilient MQTT mqtt_as.py in this repo I am running long term tests. To date these have accumulated 30 days running in one location with RSSI -56dB and 14 days in another with RSSI -83dB - in our garden shed far from the AP.
These tests are still running without failure. There is no watchdog timer in use.
The test script exchanges messages every 5s with qos==1. The library performs re-publications in the event of WiFi disruption and recovers from WiFi outages with no qos==1 data loss. The test script reports outages as seen by the Pyboard and also maintains and reports the repub count.
At the -56dB location in 30 days two outages occurred with four repubs - in over 500K publications. At the -83dB location in 14 days it saw one outage and 21 repubs.
I have no comparable quantitative data for ESP8266 or ESP32 but I have done a good deal of testing with them. The ESP8266 in particular experiences outages much more frequently. I believe it occasionally crashes, necessitating a WDT, but intend to re-test to confirm this.
If anyone wishes to replicate these tests it is vital to have a high quality power supply. Some USB wall-warts are poor and cause crashes on any platform.
Using the asynchronous resilient MQTT mqtt_as.py in this repo I am running long term tests. To date these have accumulated 30 days running in one location with RSSI -56dB and 14 days in another with RSSI -83dB - in our garden shed far from the AP.
These tests are still running without failure. There is no watchdog timer in use.
The test script exchanges messages every 5s with qos==1. The library performs re-publications in the event of WiFi disruption and recovers from WiFi outages with no qos==1 data loss. The test script reports outages as seen by the Pyboard and also maintains and reports the repub count.
At the -56dB location in 30 days two outages occurred with four repubs - in over 500K publications. At the -83dB location in 14 days it saw one outage and 21 repubs.
I have no comparable quantitative data for ESP8266 or ESP32 but I have done a good deal of testing with them. The ESP8266 in particular experiences outages much more frequently. I believe it occasionally crashes, necessitating a WDT, but intend to re-test to confirm this.
If anyone wishes to replicate these tests it is vital to have a high quality power supply. Some USB wall-warts are poor and cause crashes on any platform.