Может кому пригодиться.
Долго мучился с родной (и другими) BLE библиотекой Bluetooth при обращении к датчикам температуры Xiaomi. Болезнь одна, ESP32 зависает, перезагружается или утечка памяти (и тут в лучшем случае перезагрузка, в худшем пропадает связь с WiFi и BLE и крутиться сама по себе несколько часов).
Нарыл в обсуждении данной проблемы на GitHub ссылку на
https://github.com/h2zero/NimBLE-Arduino. Автор молодчина. Устранил не только детские болячки, но и работу с памятью основательно оптимизировал.
Скомпилировал с ней свой проект и прыгал от счастья 🥳 все проблемы сняло как рукой. Запустил стресс-тест опрос датчика каждую минуту, двое суток ни копейки памяти не утекло, перезагрузок и зависаний нет.
Для теста из датчика вытаскивал батарейку на 5 часов, чтоб проверить на устойчивость. Контроллеру пофиг, работает прекрасно. Датчик видит - собирает данные, датчик не видит, работает без него, пока снова не увидит.
#esp32 #xiaomi