Архитектура системы и основные компоненты

Этот проект представляет собой систему GPS-позиционирования и отслеживания для домашних животных от G-NiceRF 2023 года, объединяющую VHF-связь и самоорганизующуюся MESH-сеть, обеспечивающую удалённое позиционирование, ретрансляцию данных и взаимодействие с приложением. Система разделяет устройства на облегчённые низкопотребляющие трекеры для животных и более мощные базовые станции с большим радиочастотным потенциалом, вычислительными и энергетическими возможностями, что делает ношение устройства животным лёгким и энергоэффективным, а покрытие и функции обеспечиваются базовыми станциями и ретрансляторами. В системе используются модуль определения местоположения GPS01, высокоскоростной RF-модем SV6500PRO, RF-модем SV610Pro и маячковый модуль Beacon600, что делает её подходящей для повседневного надзора и наружного отслеживания.

Схема связи системы отслеживания: мобильное приложение подключается к пользовательскому устройству через Bluetooth, а пользовательское устройство — к устройству на собаке через VHF.
Схема связи системы отслеживания: мобильное приложение подключается к пользовательскому устройству через Bluetooth, а пользовательское устройство — к устройству на собаке через VHF.

Архитектура: асимметричная двухкомпонентная конструкция

Система отслеживания состоит из «пользовательской стороны» (User Side) и «собачьей стороны» (Dog Side), которые различаются по функциям и физической форме. Эта асимметричная конструкция является основой всей архитектуры системы.

Пользовательский блок: Это центр управления и отображения системы, а также узел ретрансляции сети. Его печатная плата имеет размеры 70x40 мм. Относительно большой размер позволяет разместить дисплей, кнопки взаимодействия с пользователем, источник питания большей емкости и более мощные радиочастотные компоненты.

Схема портативного устройства пользователя с указанием расположения экрана, кнопок и интерфейсов.
Схема портативного устройства пользователя с указанием расположения экрана, кнопок и интерфейсов.

Блок на собаке: Это мобильный узел отслеживания, разработанный с приоритетом на миниатюризацию (размер печатной платы 30x50 мм) и низкое энергопотребление. Его стандартный периодический цикл сна-бодрствования предназначен для максимального продления времени автономной работы.

Проект печатной платы трекера для домашних животных (собачья сторона), размеры 50,8x30,48 мм.
Проект печатной платы трекера для домашних животных (собачья сторона), размеры 50,8x30,48 мм.

Такая архитектура с четким разделением труда позволяет пользовательской стороне выполнять сложные вычисления, отображение и передачу с высокой мощностью, в то время как собачья сторона сосредоточена на сборе данных и передаче с низкой мощностью. Это отвечает требованиям отслеживания и максимально продлевает время автономной работы трекера.

Основное оборудование и поток данных

Функции системы реализуются несколькими высокоинтегрированными электронными модулями, конфигурация и роли которых различаются на пользовательской и собачьей сторонах.

Внутренняя аппаратная структура портативного устройства пользователя, включая модули VHF, Bluetooth и GPS.
Внутренняя аппаратная структура портативного устройства пользователя, включая модули VHF, Bluetooth и GPS.

Компоненты пользовательской стороны:

● Дисплей: Используется для отображения в реальном времени местоположения, направления и состояния системы.

● 4-кнопочный пользовательский интерфейс: Включает кнопки питания, режима/подтверждения и выбора вверх/вниз для основного взаимодействия человека с компьютером.

● Модуль GPS (GPS01): Получает собственные географические координаты пользовательской стороны.

● Модуль VHF (SV6500Pro): Используется для удаленной связи с собачьей стороной и в качестве ретранслятора для MESH-сети.

● Модуль Beacon (Beacon600): Обменивается данными и получает команды от приложения на смартфоне через Bluetooth Low Energy (BLE).

Компоненты собачьей стороны:

● Светодиодный индикатор: Используется для отображения рабочего состояния.

● Кнопка питания: Управляет питанием устройства.

● Модуль GPS (GPS01): Получает собственные географические координаты собачьей стороны.

● Модуль VHF (SV610Pro): Используется для отправки данных о местоположении на пользовательскую сторону.

● Модуль Beacon (Beacon600): По умолчанию выключен, активируется только при получении определенной команды VHF для прямой настройки на близком расстоянии.

Внутренняя аппаратная структура трекера для домашних животных (собачья сторона), состоящая из модулей VHF, GPS и Bluetooth.
Внутренняя аппаратная структура трекера для домашних животных (собачья сторона), состоящая из модулей VHF, GPS и Bluetooth.

Основной поток данных системы начинается на собачьей стороне: модуль GPS01 фиксирует информацию о местоположении и отправляет ее на пользовательскую сторону по VHF-каналу. После получения данных пользовательская сторона обрабатывает их совместно со своей собственной информацией GPS, вычисляет относительное расстояние и направление, отображает их на локальном экране и пересылает данные в мобильное приложение через модуль Beacon600. Обратный поток управления инициируется приложением, отправляется на пользовательскую сторону через канал Beacon, а затем передается на собачью сторону по VHF-каналу.

Сравнение характеристик основных модулей

Ниже приведены четыре основных модуля, используемых в системе, и их ключевые характеристики:

Таблица 1: Сводка характеристик основных компонентов

Модуль

Основная функция

Рабочая частота

Макс. мощность передачи

Ключевые характеристики производительности

GPS01

Позиционирование

BDS B1/GPS L1/GLONASS L1

Н/Д

Горизонтальная точность < 3 м

SV610Pro

VHF-канал данных (собачья сторона)

433-915 МГц

+20 дБм (100 мВт)

Чувствительность приемника -123 дБм

SV6500Pro

VHF-канал данных (пользовательская сторона)

433-915 МГц

+37 дБм (5 Вт)

Дальность передачи 8000 м при 1,2 кбит/с

Beacon600

Локальный канал UI (BLE)

2,4 ГГц

+3 дБм

Поддерживает режимы iBeacon/AltBeacon/прозрачной передачи

Мощность и расстояние: асимметричная конструкция

Для достижения асимметричной связи система использует два разных VHF-модуля: SV610Pro и SV6500Pro. Модуль SV6500Pro имеет максимальную мощность передачи до 5 Вт (+37 дБм) с потреблением тока при передаче менее 2 А. Такое высокое энергопотребление неприемлемо для трекера на собачьей стороне, который питается от небольшой батареи и должен работать в течение длительного времени. В отличие от него, максимальная мощность передачи модуля SV610Pro составляет 100 мВт (+20 дБм) с потреблением тока при передаче менее 95 мА, что идеально соответствует целям проектирования устройства на собачьей стороне — низкому энергопотреблению и миниатюризации.

Таким образом, наиболее логичным планом развертывания является использование маломощного модуля SV610Pro на собачьей стороне и высокомощного модуля SV6500Pro на пользовательской стороне. Эта асимметричная конструкция канала связи оптимизирует производительность системы с точки зрения энергопотребления и дальности связи. Мощный передатчик пользовательской стороны обеспечивает надежную доставку управляющих команд и позволяет ему служить мощным узлом ретрансляции MESH-сети. Собачья сторона, в свою очередь, жертвует мощностью передачи ради критически важного времени автономной работы. Максимальная дальность связи системы определяется высокой чувствительностью приемника пользовательской стороны и высокой мощностью его передатчика, а не производительностью мобильного блока.

Функция позиционирования: модуль GPS01

Позиционирование является основной функцией этой системы отслеживания, и ее производительность напрямую определяется модулем GPS01. Ниже приведена оценка технических параметров модуля и их влияния на фактическую производительность системы.

Схема внутренней структуры модуля позиционирования GPS01, показывающая основной чип, антенну и интерфейсы.
Схема внутренней структуры модуля позиционирования GPS01, показывающая основной чип, антенну и интерфейсы.

Поддержка GNSS и режимы работы

Модуль GPS01 поддерживает три основные мировые системы спутниковой навигации: китайскую BeiDou (BDS B1), американскую GPS (L1) и российскую ГЛОНАСС (L1). Он может работать в двухрежимной конфигурации с любыми двумя из них, причем режимом по умолчанию является BDS B1/GPS L1. Поддержка нескольких созвездий повышает видимость спутников в сложных условиях (например, в городских каньонах или частично затененных лесных массивах), тем самым улучшая доступность и надежность позиционирования.

Модуль обладает функцией горячего старта, обеспечиваемой отдельным входом резервного питания V_BCKP (2,5-3,5 В). Когда основное питание VCC отключено, V_BCKP постоянно питает внутреннюю схему часов реального времени (RTC), сохраняя критически важные данные эфемерид и времени, что помогает быстро повторно захватывать спутниковые сигналы.

Метрики производительности: точность, чувствительность и время до первого определения координат

Точность позиционирования: В условиях открытого неба горизонтальная точность позиционирования модуля лучше 3 метров, а точность по высоте — лучше 4,5 метров. Точность измерения скорости составляет менее 0,1 м/с. Этот уровень точности достаточен для отслеживания ежедневной траектории активности домашнего животного.

Чувствительность приемника: Модуль имеет чувствительность слежения -163 дБм и чувствительность захвата -147 дБм. Эти значения отражают способность приемника поддерживать фиксацию местоположения и впервые захватывать спутниковые сигналы в условиях слабого сигнала, что является ключевым показателем его производительности в неблагоприятных условиях.

Время до первого определения координат (TTFF): TTFF при холодном старте составляет менее 28 секунд, в то время как TTFF при горячем старте — всего 1 секунда. 1-секундное время горячего старта имеет решающее значение для стратегии энергосбережения устройства на собачьей стороне.

Энергопотребление и время автономной работы

Рабочий ток: При напряжении питания 3,3 В рабочий ток приема модуля составляет менее 30 мА. Это основной источник энергопотребления для собачьей стороны на этапе «пробуждения» для позиционирования.

Ток в режиме сна: Отключив основное питание VCC и оставив только питание V_BCKP, модуль может перейти в спящий режим, в котором потребление тока составляет менее 20 мкА. Эта конструкция с двумя шинами питания является ключом к достижению как глубокого сна, так и быстрых горячих стартов.

Интерфейс данных: Модуль выводит данные в стандартном формате NMEA через интерфейс UART с бодрейтом по умолчанию 9600 бит/с. Частота обновления данных составляет 1 Гц как в односистемном, так и в двухсистемном режимах.

Распиновка модуля позиционирования GPS01 с обозначением интерфейсов, таких как VCC, GND, TXD и RXD.
Распиновка модуля позиционирования GPS01 с обозначением интерфейсов, таких как VCC, GND, TXD и RXD.

Энергосбережение и задержка данных

В конструкции системы 1-секундная способность горячего старта модуля GPS01 тесно связана с 5-секундным циклом пробуждения собачьей стороны, образуя эффективную схему управления питанием. Конструкция устройства на собачьей стороне отдает приоритет продлению времени автономной работы. Если бы модуль GPS01 работал непрерывно (<30 мА), небольшая батарея очень быстро разрядилась бы. Стратегия, принятая в системе, заключается в отключении основного питания VCC модуля GPS во время периодов сна, но с сохранением питания V_BCKP. Когда устройство просыпается каждые 5 секунд, модуль GPS может выполнить горячий старт и получить действительное местоположение примерно за 1 секунду. Впоследствии устройство отправляет данные по VHF-каналу и быстро возвращается в состояние глубокого сна.

Этот режим работы сжимает «время высокого энергопотребления» (позиционирование + передача) в каждом 5-секундном цикле до чрезвычайно короткого, что значительно снижает среднее энергопотребление. Однако эта конструкция также вносит неотъемлемую задержку «своевременности данных». Информация о местоположении, получаемая пользователем, всегда имеет задержку от 0 до 5 секунд с момента ее сбора, плюс время на передачу и обработку данных. Для отслеживания домашнего животного, которое гуляет или бегает трусцой, эта задержка приемлема, но в сценариях, когда животное движется быстро, это может повлиять на отслеживание в реальном времени. Таким образом, 5-секундный интервал обновления является ключевым параметром проектирования, который представляет собой компромисс между временем автономной работы и отслеживанием в реальном времени.

Удаленная связь: VHF-модули серии SV

Система обеспечивает удаленное отслеживание посредством VHF-связи. Ниже я сравню различия в производительности между модулями SV6500Pro и SV610Pro и объясню, как реализуется их функциональность MESH-сети.

Аппаратная блок-схема беспроводного VHF-модуля серии SV, включая основной MCU и радиочастотный чип.
Аппаратная блок-схема беспроводного VHF-модуля серии SV, включая основной MCU и радиочастотный чип.

Сравнение радиочастотных характеристик

Рабочая частота: Оба модуля поддерживают несколько ISM-диапазонов, таких как 433/470/868/915 МГц, с 40 каналами (с шагом 1 МГц) в каждом диапазоне, что обеспечивает гибкость для соответствия нормативным требованиям в разных странах и регионах.

Выходная мощность: Между ними существует значительная разница в выходной мощности. SV6500Pro, используемый на пользовательской стороне, обеспечивает выходную мощность до +37 дБм (5 Вт) с 8 уровнями программной регулировки. SV610Pro на собачьей стороне имеет максимальную выходную мощность +20 дБм (100 мВт), также с программной регулировкой.

Чувствительность приемника: Оба модуля имеют высокий уровень чувствительности приемника (-123 дБм и -121 дБм соответственно), что обеспечивает основу для связи на больших расстояниях. Чувствительность SV610Pro составляет -123 дБм при 1,2 кбит/с, что немного лучше, чем у SV6500Pro (-121 дБм при 1,2 кбит/с).

Энергопотребление: Огромная разница в токе передачи является решающим фактором, различающим их сценарии применения. Ток передачи SV610Pro составляет менее 95 мА, в то время как у SV6500Pro он достигает почти 2 А. Токи приема более схожи и составляют <22 мА и <30 мА соответственно.

Передача данных: скорость, задержка и буферизация

Скорость передачи данных в эфире: Оба модуля поддерживают широкий диапазон скоростей передачи данных в эфире от 1,2 кбит/с до 1 Мбит/с. Однако техническая документация рекомендует использовать скорость ниже 19,2 кбит/с для обеспечения дальности и стабильности связи. Это важное ограничение, которое необходимо учитывать в практических приложениях.

Буферизация данных: Оба модуля имеют встроенный буфер данных на 200 байт. Этот буфер помогает координировать разницу между скоростью UART хост-MCU и скоростью передачи в эфире, предотвращая переполнение данных из-за несоответствия скоростей.

Задержка передачи: Техническая документация содержит справочную таблицу задержек передачи данных. Для типичного пакета данных GPS (например, 15 байт), передаваемого со скоростью 9600 бит/с, задержка от конца до конца составляет около 251 мс. Эта задержка является составной частью общей задержки системы.

Реализация функциональности MESH-сети

Оба модуля поддерживают функциональность самоорганизующейся MESH-сети и могут быть сконфигурированы в одной из трех ролей: «Узел», «Маршрутизатор» или «Узел и маршрутизатор».

Топология самоорганизующейся MESH-сети, показывающая центральный, маршрутизирующие и оконечные узлы.
Топология самоорганизующейся MESH-сети, показывающая центральный, маршрутизирующие и оконечные узлы.

Система явно определяет, что «каждая пользовательская сторона может ретранслировать сообщения между другими пользовательскими и собачьими сторонами». Это указывает на то, что пользовательские блоки, оснащенные мощным SV6500Pro, действуют как «маршрутизаторы» в MESH-сети. Собачьи блоки (оснащенные SV610Pro) действуют как оконечные «узлы» сети.

Функция ретрансляции MESH-сети: Пользователь 2 действует как ретранслятор для соединения Пользователя 1 и Собаки 1, которые находятся вне зоны прямой связи.
Функция ретрансляции MESH-сети: Пользователь 2 действует как ретранслятор для соединения Пользователя 1 и Собаки 1, которые находятся вне зоны прямой связи.

Сетевая связь управляется через 4-байтовый сетевой идентификатор (NET ID) и 2-байтовый идентификатор узла (NODE ID). Функция ретрансляции ограничена сообщениями в пределах одного и того же сетевого идентификатора (т. е. одной и той же группы), что эффективно предотвращает помехи между различными группами пользователей в одной и той же области.

Скриншот программного обеспечения для ПК, используемого для настройки сетевого идентификатора, идентификатора узла и параметров связи VHF-модуля.
Скриншот программного обеспечения для ПК, используемого для настройки сетевого идентификатора, идентификатора узла и параметров связи VHF-модуля.

Бюджет канала связи и расширение сети

Максимальная дальность связи системы определяется не характеристиками одного модуля, а асимметричным бюджетом канала связи восходящей линии (от собачьей стороны к пользовательской) и нисходящей линии (от пользовательской стороны к собачьей).

Восходящая линия (Собачья сторона -> Пользовательская сторона): Мощность передачи составляет +20 дБм (SV610Pro), а чувствительность приемника — -121 дБм (SV6500Pro). Без учета усиления антенны и потерь на трассе доступный бюджет канала связи составляет 20 - (-121) = 141 дБ.

Нисходящая линия (Пользовательская сторона -> Собачья сторона): Мощность передачи составляет +37 дБм (SV6500Pro), а чувствительность приемника — -123 дБм (SV610Pro). Доступный бюджет канала связи составляет 37 - (-123) = 160 дБ.

Расчет показывает, что нисходящая линия на 19 дБ надежнее восходящей. Таким образом, максимальное расстояние для одиночной прямой связи ограничено более слабой восходящей линией. Дальность передачи 8000 метров, упомянутая в документации SV6500Pro, скорее всего, была измерена в условиях симметричной связи между двумя модулями SV6500Pro. В этой асимметричной конфигурации фактическое расстояние одноточечной связи будет меньше этого значения, но все же значительным.

Функция ретрансляции MESH является ключом к преодолению ограничения восходящей линии и достижению сверхдальнего покрытия. Когда собачья сторона находится далеко от своей парной пользовательской стороны, ее относительно слабый сигнал +20 дБм может быть принят другой пользовательской стороной на пути, которая затем ретранслирует его с мощным сигналом +37 дБм. Этот механизм создает надежную, самовосстанавливающуюся, многоскачковую топологию сети, особенно подходящую для сценариев, где несколько пользователей совместно работают на большой территории. Система не только предназначена для отдельных пользователей, но и способна поддерживать командное отслеживание.

Локальная связь: модуль Beacon600

Модуль Beacon600 отвечает за подключение пользовательского блока к приложению на смартфоне через канал BLE 2,4 ГГц.

BLE-вещание и сканирование

Beacon600 — это беспроводной приемопередатчик 2,4 ГГц, совместимый со стандартом BLE, работающий в основном в режимах вещания и сканирования. Он подключается к хост-MCU через универсальный интерфейс UART. Его радиочастотные характеристики включают настраиваемую мощность передачи от -18 дБм до +3 дБм и скорость передачи данных в эфире 1 Мбит/с.

Принципиальная схема подключения модуля Bluetooth Beacon600 к основному управляющему чипу.
Принципиальная схема подключения модуля Bluetooth Beacon600 к основному управляющему чипу.

Режимы протокола: iBeacon, AltBeacon и прозрачная передача

Модуль поддерживает три режима работы, которые можно переключать с помощью команд UART для соответствия различным экосистемам приложений:

● Режим iBeacon (Команда: 42 43 53 4D 00): Разработан специально для связи с устройствами Apple iOS.

● Режим AltBeacon (Команда: 42 43 53 4D 01): Открытый стандарт, обычно используемый для устройств Android.

● Режим прозрачной передачи (Команда: 42 43 53 4D 02): Используется для универсальной последовательной передачи данных без дополнительной нагрузки протоколов Beacon.

В режиме Beacon пакеты данных, транслируемые модулем, включают такие поля, как UUID, Major ID, Minor ID и опорная мощность. MCU пользовательской стороны может заполнять эти поля обработанными данными отслеживания (такими как расстояние, направление, статус питомца и т. д.) для сканирования и анализа мобильным приложением.

Конфигурация системы и отображение данных

Основная обязанность модуля Beacon600 на пользовательской стороне заключается в отправке обработанных данных отслеживания в мобильное приложение, которое может предоставить более богатый графический пользовательский интерфейс, чем встроенный экран пользовательской стороны. В то же время он также служит каналом для получения команд конфигурации из приложения, таких как изменение парной группы (NET ID).

На собачьей стороне модуль Beacon обычно выключен и активируется только при получении специальной команды активации по VHF-каналу. Эта конструкция «активации по требованию» позволяет пользователю настраивать собачью сторону непосредственно через приложение на близком расстоянии, что является эффективной мерой энергосбережения, позволяющей избежать постоянного энергопотребления радиомодуля BLE.

Разделение UI и основных функций

Система отделяет основную логику отслеживания в реальном времени от пользовательского интерфейса (UI) с помощью модуля Beacon600. Основные функции системы — передача и прием данных по VHF-каналу и обработка протокола MESH — должны быть высоконадежными и иметь низкую задержку. Разработка сложного графического пользовательского интерфейса на встроенном устройстве с ограниченными ресурсами (пользовательская сторона) не только технически сложна, но и дорогостояща. Смартфоны, с другой стороны, предоставляют готовую платформу для разработки многофункциональных пользовательских интерфейсов.

Интерфейс экрана портативного устройства пользователя, отображающий направление, расстояние, уровень сигнала и заряд батареи питомца.
Интерфейс экрана портативного устройства пользователя, отображающий направление, расстояние, уровень сигнала и заряд батареи питомца.

Beacon600 обеспечивает маломощное стандартизированное беспроводное соединение между встроенной системой и смартфоном. Перекладывая задачи пользовательского интерфейса на мобильное приложение, прошивка пользовательской стороны может сосредоточиться на своих самых важных задачах: управлении VHF-каналом, выполнении протокола MESH и обработке данных GPS. Приложение, в свою очередь, отвечает за визуализацию данных, управление настройками и другие некритичные по времени задачи. Такая архитектура делает систему очень гибкой и обновляемой. Мобильное приложение можно обновлять независимо от встроенной прошивки, что позволяет легко внедрять новые функции, интеграцию с картами или улучшения пользовательского интерфейса. Эта конструкция предлагает двухуровневый пользовательский опыт: пользователи могут получать базовую автономную функциональность отслеживания непосредственно на экране пользовательской стороны; при сопряжении с приложением они получают более продвинутый и многофункциональный опыт.

Режимы работы системы

На основе вышеприведенного анализа компонентов я теперь опишу сквозной рабочий процесс основных функций системы.

Режим отслеживания

1. MCU собачьей стороны выходит из спящего режима.

2. MCU подает питание VCC на модуль GPS01 и ждет, пока он завершит фиксацию местоположения с горячим стартом (около 1 секунды).

3. MCU считывает данные NMEA с GPS01 через UART.

4. MCU упаковывает данные о местоположении и отправляет их на модуль SV610Pro через UART.

5. SV610Pro передает пакет данных по VHF-каналу.

6. Модуль SV6500Pro пользовательской стороны получает пакет данных.

7. Одновременно MCU пользовательской стороны получает свое текущее местоположение через свой собственный модуль GPS01.

8. MCU вычисляет расстояние и относительный пеленг (направление) между своим собственным местоположением и полученным местоположением собачьей стороны.

9. Вычисленный результат (расстояние, направление стрелки) обновляется на экране пользовательской стороны.

10. Этот результат также форматируется в пакет данных Beacon и транслируется модулем Beacon600 для приема и отображения мобильным приложением.

Сопряжение и управление группами

Каждое устройство имеет идентификатор и группу (NET ID) по умолчанию. Пользователи могут изменять группу, к которой принадлежит устройство, через приложение.

Схема, иллюстрирующая, как устройство меняет свою группу (сетевой идентификатор).
Схема, иллюстрирующая, как устройство меняет свою группу (сетевой идентификатор).

1. Приложение отправляет команду «изменить группу» на пользовательскую сторону через BLE-канал Beacon600.

2. MCU пользовательской стороны получает эту команду.

3. MCU пользовательской стороны форматирует эту команду в соответствующий пакет команд VHF и передает его через SV6500Pro.

4. После каждого отчета о данных устройство на собачьей стороне открывает короткое окно приема (RX-окно). Согласно требованиям к конструкции, приложение должно отправить сообщение нисходящей линии в течение 100 мс после получения сообщения восходящей линии, что означает, что собачья сторона ожидает команды в этом окне.

5. После того, как MCU собачьей стороны получает команду в окне приема, он обновляет свой сохраненный NET ID, тем самым завершая смену группы.

Режим ретрансляции

Режим ретрансляции пассивно и постоянно активен на всех пользовательских устройствах. Когда SV6500Pro пользовательской стороны получает действительный пакет данных VHF (т. е. NET ID совпадает), но адрес назначения пакета не является его собственным, его MCU немедленно ретранслирует пакет. Этот механизм применяется как к восходящей линии от собачьей стороны к пользовательской, так и к нисходящей линии от пользовательской стороны к собачьей, создавая таким образом многоскачковую MESH-сеть. Кроме того, канал Beacon также поддерживает ретрансляцию, позволяя командам и данным из приложения распространяться между различными пользовательскими устройствами, находящимися в зоне действия BLE.

Обновление прошивки по воздуху (OTA)

Система поддерживает обновление прошивки по воздуху (OTA) как для пользовательской, так и для собачьей стороны через VHF-канал. Это указывает на то, что MCU обоих блоков предварительно загружены загрузчиком, который может получать блоки данных прошивки через интерфейс UART модуля серии SV и записывать их во флэш-память. Процесс OTA обычно инициируется хост-компьютером (это может быть ПК или мобильное приложение, подключенное к пользовательской стороне) и включает в себя сегментацию двоичного файла прошивки, его упаковку (включая порядковые номера и контрольные суммы), а затем передачу по VHF-каналу.

Блок-схема обновления прошивки устройства по воздуху (OTA).
Блок-схема обновления прошивки устройства по воздуху (OTA).

Временные и протокольные ограничения

Открытие собачьей стороной 100-миллисекундного окна приема для ожидания команд нисходящей линии после каждой передачи является очень строгим и сложным временным ограничением. Вся цепочка ответа на команду — включая «Передача VHF собакой -> Прием VHF пользователем -> Обработка MCU пользователем -> Передача Beacon пользователем -> Прием приложением -> Логическая обработка приложением -> Передача Beacon приложением -> Прием Beacon пользователем -> Обработка MCU пользователем -> Передача VHF пользователем -> Прием VHF собакой» — должна быть завершена в течение 100 мс.

Временная диаграмма связи системы: после того, как собачья сторона сообщает о своем местоположении, она открывает короткое окно приема (RX-окно) для ожидания команд.
Временная диаграмма связи системы: после того, как собачья сторона сообщает о своем местоположении, она открывает короткое окно приема (RX-окно) для ожидания команд.

Однако, согласно технической документации для модулей серии SV, задержка передачи только по VHF-каналу довольно велика. Например, передача 15-байтового пакета данных со скоростью 9600 бит/с имеет задержку около 251 мс, что уже намного превышает 100-миллисекундное окно. Чтобы соответствовать этому временному требованию, система должна использовать гораздо более высокую скорость передачи данных в эфире, чем 9600 бит/с (например, 115200 бит/с или выше) при выполнении команд конфигурации, а время обработки на пользовательской стороне и в приложении должно быть сведено к минимуму. Это предполагает, что система может использовать адаптивную стратегию скорости: использовать высокую скорость передачи данных для операций конфигурации, требующих быстрого ответа (когда расстояние связи обычно короткое, а качество канала хорошее), и возвращаться к более надежной, дальнобойной низкой скорости передачи данных для регулярной отчетности о местоположении. Такой подход уравновешивает скорость ответа протокола и надежность канала связи.

Общая производительность системы и компромиссы

Наконец, давайте оценим общую производительность системы, сосредоточив внимание на взаимодействии между компонентами и сделанных компромиссах в конструкции.

Бюджет энергопотребления собачьей стороны

На основе данных об энергопотреблении каждого компонента и 5-секундного рабочего цикла системы можно построить теоретическую модель энергопотребления.

Состояние бодрствования (предположим, длительность 1,5 секунды):

● Активация модуля GPS01: < 30 мА

● Передача модуля SV610Pro (кратковременно): < 95 мА

● MCU активен: (предположим, 5-10 мА)

Состояние сна (предположим, длительность 3,5 секунды):

● GPS01 в спящем режиме (только V_BCKP): < 20 мкА

● SV610Pro в спящем режиме (контакт CS подтянут к земле): (не указано, но ожидается в диапазоне мкА)

● MCU в спящем режиме: (предположим, 5-10 мкА)

Вычислив средневзвешенное значение потребления тока в состояниях бодрствования и сна, можно оценить время автономной работы устройства с батареей определенной емкости. Минимизация «времени высокого энергопотребления» каждого цикла пробуждения является центральным элементом продления времени автономной работы устройства.

Бюджет канала связи VHF

Система работает с асимметричным бюджетом канала связи, где восходящая линия (от собачьей стороны к пользовательской) является ограничивающим фактором для дальности связи в одной точке. Поэтому в практических приложениях выбор и установка антенны напрямую влияют на производительность связи. В технической документации на SV6500Pro упоминаются «антенны с высоким коэффициентом усиления», которые имеют решающее значение для максимизации производительности приема на пользовательской стороне и улучшения качества восходящей линии.

Беспроводной VHF-модуль с двумя типами антенн: пружинной и штыревой.
Беспроводной VHF-модуль с двумя типами антенн: пружинной и штыревой.

Компромисс между скоростью передачи данных в эфире и дальностью связи снова очевиден. Снижение скорости (например, до 1,2 кбит/с) может улучшить чувствительность приемника и увеличить бюджет канала связи, тем самым увеличивая дальность связи, но за счет более высокой задержки передачи данных и более низкой пропускной способности.

Задержка системы и интервал обновления

Общая сквозная задержка от измерения местоположения до отображения в приложении является суммой задержек на нескольких этапах:

● Своевременность данных GPS: 0-5 секунд (вызвано 5-секундным интервалом пробуждения).

● Задержка передачи VHF: Зависит от размера пакета и скорости передачи данных в эфире (например, ~250 мс при 9600 бит/с).

● Задержка обработки MCU: Небольшая (в диапазоне миллисекунд).

● Задержка передачи BLE: Небольшая (в диапазоне миллисекунд).

Основным источником общей задержки системы является 5-секундный интервал отслеживания, который является преднамеренным конструкторским решением для экономии энергии. Система спроектирована так, чтобы отдавать приоритет времени автономной работы, а не достижению высочайшего уровня реального времени. Этот интервал настраивается пользователем, что является ключевой особенностью, позволяющей пользователям выбирать между конкурирующими показателями производительности — временем автономной работы и отзывчивостью в реальном времени — в зависимости от их конкретного варианта использования.

Комментарии (7)


  1. sdy
    20.10.2025 11:35

    Большая плата для питомца, как прототип норм, но для таргета надо что то меньше думать. Также по поводу безопасности батареи надо думать чтобы не было опасных ситуаций


  1. slog2
    20.10.2025 11:35

    Состояние бодрствования (предположим, длительность 1,5 секунды):

    Это у вас откуда надежды что GPS01 (совсем не лучший модуль) зафиксится через секунду после старта, даже горячего?

    Вы в курсе что с GPS происходит в российских городах после 22-го года?


  1. x89377
    20.10.2025 11:35

    Я не понял - это перевод или собираются в народ продвигать ?


    1. NutsUnderline
      20.10.2025 11:35

      позвоните по   +86-18926098159 - скажут :)


  1. NutsUnderline
    20.10.2025 11:35

    франкенштейн-ассорти. На каждом модуле по своему микроконтроллеру с закрытой прошивкой + еще центральный контроллер. Минимизации потребления это явно не способствует. Тем софта вообще не раскрыта.

    выбор радиомодулей, мягко говоря не обоснован, особенно эта их ассиметричность. кстати мощность 5W вроде требует лицензии.

    да и про антенны далеко не все понятно, а на gps модуле нет встроенных антенн

    много возникает вопросов и вопросиков. В альтернативном проекте под созвучным названием SoftRF все эти вопросы уже решены, и железо там компактное. Правда он для совсем другого предназначен, но допилить его выглядит гораздо проще чем вот этот вот все.


    1. NutsUnderline
      20.10.2025 11:35

      meshtastic/meshcore вообще практически готовое решение из коробки


      1. chipset2022
        20.10.2025 11:35

        К сожалению GPS не работает, что ublox M8, что M10, хотя телефоны ловят(