Synapse
Telegram GitHub →

Прошивка. Логика работы. Взаимодействие с телефоном

АПК Синапс v1.0. ПО. Спецификации на разработку

Последнее изменение: 12.12.2025, 13:23 МСК

1. Bluetooth-подключение

1.1. Контроллер работает как периферийное устройство (Peripheral).

1.2. Телефоны работают как центральные устройства (Central).

1.3. К контроллеру могут одновременно подключиться до 4 телефонов.

1.4. Если подключено 4 телефона, контроллер не выдаёт в эфир адвертайзных сигналов.

1.5. Имя Bluetooth-устройства:

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. Дамп включает:

4.1.3. Приложение создаёт запись в таблице CONTROLLERS своей APP-USM и распаковывает полученные данные.

4.1.4. Приложение проверяет пароль и при неверном пароле блокирует работу с контроллером.

4.3. Восстановление связи после разрыва

4.3.1. При кратковременном разрыве связи приложение пытается восстановить соединение.

4.3.2. Приложение делает 3 попытки восстановления связи с интервалом 1 секунда между попытками.

4.3.3. После неудачных попыток приложение выкидывает пользователя в список контроллеров.