АПК Синапс v1.0. ПО. Спецификации на разработку
Последнее изменение: 12.12.2025, 13:23 МСК
1. Bluetooth-подключение
1.1. Контроллер работает как периферийное устройство (Peripheral).
1.2. Телефоны работают как центральные устройства (Central).
1.3. К контроллеру могут одновременно подключиться до 4 телефонов.
1.4. Если подключено 4 телефона, контроллер не выдаёт в эфир адвертайзных сигналов.
1.5. Имя Bluetooth-устройства:
- По умолчанию:
SYNAPSE XXXXXXXX(XXXXXXXX — серийный номер); - После изменения имени/иконки:
[ICO]Name(ICO — номер иконки в квадратных скобках; строка парсится в приложении и пользователю показывается иконка и имя без[ICO]).
6 у логики прошивки должно быть ощущение как будто-то она работает с одним телефоном. телеграммы поступают от телефонов обезличенные. отправка телег на телефоны делается широковещательно
2. Протокол обмена телеграммами
2.1. Телеграммы передаются в бинарном формате USML.
2.2. Структура USML-телеграммы:
- Реестр — битовая маска, определяющая, какие таблицы/записи/поля содержатся в телеграмме;
- Данные — последовательность байтов значений полей в порядке, определённом реестром.
2.3. При получении телеги от телефона прошивка должна отправить подтверждение успешного получения.
2.4. При отправке телеги телефону прошивка должна получить подтверждение. При отсутствии подтверждения — повторная отправка 2 дополнительных раза с интервалом 1 сек. Если ответа нет, считаем связь потерянной и отключаем телефон.
2.5. Телеги от прошивки отправляются широковещательно ВСЕМ подключённым телефонам.
3. Обновление даты и времени
3.1. При каждом подключении телефона к контроллеру приложение отправляет телеграмму с изменением CONTROLLERS.TIMESTAMP.
3.2. Значение передаётся в формате Unix timestamp (uint32_t) — количество секунд с 01.01.1970 00:00:00 UTC.
3.3. Прошивка обновляет свои внутренние часы для работы расписания.
4. подключение к контроллеру
4.1.1. При подключении телефона к контроллеру прошивка сразу отправляет полный дамп FW-USM.
4.1.2. Дамп включает:
- Рабочие данные (все таблицы FW-USM);
- Интерфейсные данные (блок IDATA).
4.1.3. Приложение создаёт запись в таблице CONTROLLERS своей APP-USM и распаковывает полученные данные.
4.1.4. Приложение проверяет пароль и при неверном пароле блокирует работу с контроллером.
4.3. Восстановление связи после разрыва
4.3.1. При кратковременном разрыве связи приложение пытается восстановить соединение.
4.3.2. Приложение делает 3 попытки восстановления связи с интервалом 1 секунда между попытками.
4.3.3. После неудачных попыток приложение выкидывает пользователя в список контроллеров.