BSL.EXPERT // HARDWARE & IoT ENGINEERING STATUS: AVAILABLE FOR PROJECTS
IoT

Whizz e-bike — IoT-модуль и прошивка

Реверс схемотехники и PCB IoT-модуля e-bike (восстановление документации по плате). На базе этого — разработка собственной прошивки на FreeRTOS и собственного IoT-модуля с нуля: MQTT/TLS, трёхуровневое OTA, управление контроллером, чтение BMS, GPS/LBS.
CFreeRTOSEmbedded FWMQTT/TLSFOTAGPS/LBSModBusPCB DesignAltiumN32G45xQuectel EG800

Ключевые метрики

164 B
пакет телеметрии · 94 метрики
13
типов команд устройству
2
режима OTA: авто из прошивки и force-update с сервера
2
режима восстановления: бекап и загрузка в бутлоадере

Возможности системы

Реверс схемотехники
  • IoT-модуль с серийной партии байков — ноль документации
  • Снятие схемотехники по физической плате
  • Воссоздание полного проекта в Altium Designer
  • Изучение протоколов взаимодействия с контроллером мотора и BMS
Собственный IoT-модуль
  • Прошивка для существующих байков — под реверс-инженерный N32G45x
  • Кастомный IoT-модуль для новых байков — собственная схемотехника и трассировка PCB
  • FreeRTOS: многозадачность, приоритеты, событийно-ориентированная архитектура
  • Центральный IoT FSM-оркестратор, FSM модема, арбитр доступа к шине
  • Кастомный W_Driver — аналог HAL для MCU N32G45x
Телеметрия и команды
  • Один пакет 164 байта: контроллер, батарея, GPS, акселерометр, сеть
  • Расчёт энергии батареи Q=I×T; резерв от контроллера при недоступности BMS
  • Защита мотора: динамический лимит мощности по ModBus (порог задаётся с сервера)
  • 13 команд: Lock/Unlock, Speed/Power/Throttle Limit, Buzzer, Reboot, Config, OTA force-update
  • Адаптивный период отправки телеметрии — зависит от режима устройства
FOTA и надёжность
  • Штатное OTA: HTTP-загрузка чанками, верификация CRC32 + SHA256
  • Хранение прошивки и резервной копии на файловой системе модема
  • L1 Recovery: откат из резервной копии без сети (~20–40 с)
  • L2 Recovery: загрузка прошивки из Bootloader при многократных сбоях
Режимы и LBS
  • Режимы: NORMAL, LOWPOWER, PARKED, LOCKED — телеметрия и сон
  • GPS — основная геолокация
  • LBS — вышки сотовой связи + Wi-Fi AP, всегда дополняет GPS; сервер уточняет координаты
  • Алармы движения при припаркованном/заблокированном байке (акселерометр + GPS)
  • Пробуждение по RTC и прерыванию акселерометра
Контроллер мотора
  • Взаимодействие по ModBus RTU — чтение состояния и отправка команд
  • Управление: блокировка/разблокировка, лимит скорости, лимит мощности, лимит газа
  • Чтение: скорость, состояние блокировки, потребляемая мощность
  • Защита мотора: динамическое снижение лимита мощности при перегрузке (порог с сервера)
  • Резервный источник данных о токе при недоступности BMS
BMS батареи
  • Чтение данных по ModBus RTU: напряжение, SOC, ток, напряжения ячеек, температура
  • Расчёт энергии батареи Q=I×T в единицах 0.1 А·ч
  • Резерв: при недоступности BMS — данные о токе берутся от контроллера
  • Ограничение минимального напряжения батареи — задаётся с сервера
Связь и безопасность
  • MQTT v3.1.1 / TLS через AT-команды модема Quectel EG800
  • Экономия ~50 KB Flash и ~15 KB RAM относительно стандартных библиотек
  • Бинарная телеметрия, команды в Base64, автореконнект, очередь
  • Идентификация по IMEI, TLS-шифрование, Sequence ID в командах

Описание

Реверс схемотехники

IoT-модуль, установленный на серийной партии байков, — без единого документа. Схема снята по физической плате, полный проект воссоздан в Altium Designer. Изучены протоколы взаимодействия модуля с контроллером мотора и BMS — основа для разработки собственной прошивки.

Собственный IoT-модуль

На основе изученной платформы разработан IoT-модуль с нуля: схемотехника, трассировка PCB на китайских МК N32G45x и APM32, кастомная прошивка.

Прошивка

FreeRTOS с событийно-ориентированной архитектурой: центральный IoT FSM-оркестратор, отдельный FSM для модема, арбитр доступа к шине. MQTT v3.1.1 / TLS через AT-команды модема Quectel EG800 — экономия ~50 KB Flash и ~15 KB RAM относительно стандартных библиотек. Бинарная телеметрия, команды в Base64 для обхода ограничений AT-парсера.

Телеметрия и команды

Один пакет 164 байта: контроллер, батарея (напряжение, SOC, ток, энергия, ячейки), GPS, акселерометр, качество сети. Расчёт энергии батареи Q=I×T с резервом от контроллера при недоступности BMS. Защита мотора от перегрузки — динамический лимит мощности по ModBus, порог задаётся с сервера. 13 типов команд с кодами результата.

FOTA и надёжность

Трёхуровневое OTA: штатная загрузка по HTTP с верификацией CRC32 + SHA256, L1 Recovery — откат из резервной копии на файловой системе модема (без сети, ~20–40 с), L2 Recovery — загрузка прошивки из Bootloader при многократных сбоях.

Режимы и геолокация

NORMAL, LOWPOWER, PARKED, LOCKED — адаптивный период телеметрии и режим сна зависят от текущего режима устройства. GPS — основная геолокация; LBS (вышки + Wi-Fi AP) всегда передаётся параллельно, сервер уточняет координаты на основе обоих источников. Алармы движения: толчок (акселерометр) и GPS-скорость при припаркованном или заблокированном байке.

Скриншоты

Whizz e-bike — IoT-модуль и прошивка — 1
Whizz e-bike — IoT-модуль и прошивка — 2
Whizz e-bike — IoT-модуль и прошивка — 3