GATT UUID и handles после обновления прошивки датчика
После обновления BLE датчик остаётся доступным, но шлюз читает неправильную характеристику либо получает ошибку. Одна из причин для проверки — устаревшая привязка handles. Для хозяйства нужно сохранять смысл сервиса и характеристики, а числовой адрес в конкретной GATT базе получать поддерживаемым способом с учётом её изменений.
Определить контракт обнаружения
Bluetooth Core6.0 GATT описывает discovery и работу с изменённой базой атрибутов. (Bluetooth SIG — Core6.0 Generic Attribute Profile) Для своего клиента выясните правила кэширования и поддерживаемые признаки изменения. Статья использует конкретную редакцию как технический источник, не объявляя её последней версией всех работающих устройств.
Запишите UUID сервиса и характеристики, свойства и нужный контекст экземпляра. Один UUID не следует считать уникальным физическим идентификатором датчика. Если сервер предоставляет несколько экземпляров одинаковой модели сервиса, приложение должно иметь документированный способ выбрать предназначенный измерительный канал.
Увеличить схему
Сохранить исходное соответствие
До обновления на учебном устройстве запишите результат discovery и безопасное контрольное чтение. Отдельно сохраните версию прошивки и схему значения. Число handle полезно для диагностики конкретной базы, но его нельзя безусловно переносить на другое исполнение или будущую прошивку.
Выполните только поддерживаемое обновление стендового экземпляра. Затем восстановите соединение и наблюдайте, как клиент проверяет актуальность кэша. Не очищайте всё состояние заранее, если цель опыта — понять реальную обработку изменения: иначе возможная ошибка останется скрытой от проверки.
Подтвердить повторное обнаружение
Если документация требует discovery или предусматривает соответствующий механизм уведомления об изменении, проверьте его фактическую обработку. Успешный reconnect не доказывает актуальность адресной карты. Клиент должен обращаться к нужному значению, а не просто перестать выдавать исключение при чтении старого handle.
Сопоставьте новое измерение с безопасным известным входом. Правдоподобное число из соседней характеристики может пройти обычную проверку типа. Поэтому контроль должен подтверждать смысл, единицу и физическую привязку, особенно когда новая прошивка добавляет диагностические поля или новые сервисы.
Закрепить совместимость версий
В реестре интеграции укажите проверенные версии и поддерживаемую процедуру обновления кэша. Не создавайте универсальный список фиксированных handles для всего парка без подтверждения производителя. Для неизвестной базы предусмотрите понятный статус несовместимости, сохраняющий исходную диагностику без выдуманного измерения.
Приёмка включает старую и изменённую GATT базу на учебном маршруте. Для хозяйства это предотвращает тихую подмену канала после обновления и сохраняет воспроизводимость обслуживания. Техническая адресация остаётся привязанной к актуальному discovery, а физический смысл данных — к документированному сервису и подтверждённому источнику.