Одно BLE advertising событие у нескольких шлюзов
На площадке хозяйства работают два BLE шлюза, и архив получает похожие сообщения от обоих. Это может быть полезным перекрытием приёма, но не обязательно означает два разных измерения. Для правильного учёта нужно разделять исходное событие датчика и наблюдения нескольких приёмников, сохраняя их техническую ценность для диагностики покрытия.
Определить доступную идентичность
Bluetooth SIG Primer описывает advertising как отдельный механизм обмена. (Bluetooth SIG — Bluetooth Low Energy Primer) Прикладной формат конкретного датчика определяет, можно ли отличить новые измерения от повторной передачи. Не создавайте универсальный event ID только из одинакового значения температуры, уровня или другого неизменного физического параметра.
Если устройство передаёт номер цикла или иной документированный признак, сохраните его вместе с идентичностью экземпляра. Если такого признака нет, правило объединения имеет ограничения. Они должны быть известны приложению: уверенное утверждение об одном событии нельзя получать из простого совпадения байтов без контекста.
Сохранить наблюдения отдельно
Для каждого шлюза запишите время приёма, источник и доступные радиометаданные. Разные наблюдения могут помочь обследованию и поиску неисправности одного приёмника. Не уничтожайте их полностью сразу после объединения, если проекту нужна проверяемая история прохождения исходного события.
Увеличить схему
Учитывайте различия сканирования. Параметры scanInterval и scanWindow относятся к работе контроллера. (Bluetooth SIG — Core6.1 LE Link Layer) Отсутствие копии у одного шлюза не доказывает отказ самого датчика. Сопоставляйте известный поток, режимы приёма и условия размещения, а не только один удачный advertising пакет.
Проверить правило объединения
На стенде передайте собственную последовательность с известной идентичностью событий. Создайте приём обоими шлюзами, затем только одним. Архив должен сохранить предусмотренное число измерений, а диагностический слой — объяснить, какие приёмники их наблюдали и какие исходные данные использовались для решения.
Добавьте два последовательных события с одинаковым физическим значением. Они не должны исчезнуть как дубликаты только из-за совпадения содержимого измерительной части. Затем проверьте задержанную доставку одной копии: окно обработки должно соответствовать прикладному контракту, не превращая позднее наблюдение в новое измерение автоматически.
Подтвердить восстановление после отказа шлюза
В безопасном опыте временно остановите один приёмник и проверьте поток через второй. Перекрытие приёма полезно только в фактически испытанных условиях. Оно не является обещанием непрерывной доставки при любом расположении датчика, отказе сети или изменении радиосреды на площадке.
Итог для хозяйства — одна объяснимая история измерений и сохранённые сведения о нескольких наблюдениях. Такая модель поддерживает обследование покрытия и резервирование приёма, не завышая число физических событий и не удаляя новые одинаковые показания ошибочным правилом простого сравнения значений.