Клиенту требовалось разработать аппаратно-программную платформу для локального и удалённого обслуживания электронного оборудования. Модуль должен обеспечивать передачу телеметрии, мониторинг внутренних переменных, выполнение диагностических команд и обновление прошивки подключённой платы.
Локальная связь предусматривается несколькими способами: через USB/COM-порт и изолированный RS-422 с компьютера, а также через BLE-модуль AirService со смартфона. Для удалённой работы в устройство интегрирован ESP32-C5, устанавливающий защищённое исходящее соединение со специально разработанным HTTPS-сервером.
Для компьютера предусмотрено сервисное приложение AirBridge Studio. Оно должно отображать переменные устройства в виде таблиц и графиков, контролировать напряжение, ток, температуру, качество связи и состояние интерфейсов, вести журнал событий, отправлять команды и выполнять обновление прошивки.
Для Android предусмотрено приложение AirBridge Mobile. Оно позволяет обнаруживать модуль AirService по BLE, подключаться к устройству, просматривать телеметрию и диагностические параметры, выполнять команды и запускать обновление прошивки. Для удалённого доступа приложение может работать через HTTPS-сервер и ESP32-C5.
Требовалось предусмотреть три маршрута обслуживания целевого устройства:
ПК → COM/USB → STM32 → RS-422;
Android → BLE AirService → STM32 → RS-422;
ПК или Android → HTTPS-сервер → ESP32-C5 → STM32 → RS-422.
Цель проекта — создать универсальный сервисный шлюз, позволяющий диагностировать и перепрошивать оборудование как непосредственно рядом с устройством, так и удалённо через интернет.
Разработал четырёхслойную плату AirBridgeWiFi ESP-R1 на базе STM32G0B1 и ESP32-C5-WROOM-1-N16R8. Сохранил проверенную часть исходного устройства с BLE AirService и гальванически изолированным RS-422, добавив отдельный сетевой шлюз, USB-C и систему питания ESP32.
Спроектировал архитектуру программного комплекса и единый протокол взаимодействия. Предусмотрел общий формат пакетов телеметрии, диагностических сообщений, команд, подтверждений и блоков прошивки, не зависящий от выбранного канала связи.
Для ПК разработана концепция приложения AirBridge Studio на Qt. В интерфейсе предусмотрены:
подключение через COM-порт, RS-422 или BLE;
выбор устройства и канала связи;
просмотр переменных в реальном времени;
построение графиков напряжения, тока, температуры и RSSI;
журнал команд, ответов и ошибок;
диагностика STM32, ESP32, BLE и RS-422;
выбор BIN/HEX-файла и контроль процесса перепрошивки;
проверка версии, CRC и результата обновления.
Для Android разработана концепция приложения AirBridge Mobile с подключением через BLE GATT или HTTPS-сервер. Предусмотрены обнаружение устройства, отображение состояния аппаратных модулей, мониторинг переменных, просмотр графиков и журналов, выполнение сервисных команд и обновление прошивки со смартфона.
Для удалённого режима спроектирована архитектура HTTPS-сервера. ESP32 самостоятельно устанавливает защищённое исходящее соединение с сервером, передаёт телеметрию и получает разрешённые команды. Сервер хранит версии прошивок, сведения об устройствах и историю обновлений, а также предоставляет API для ПК- и Android-приложений.
Предусмотрены следующие сценарии обновления:
локальная прошивка целевой платы через COM-порт и RS-422;
обновление со смартфона через BLE AirService;
удалённая доставка прошивки через HTTPS и ESP32;
собственное безопасное A/B OTA-обновление ESP32.
Для каждого сценария предусматриваются проверка целостности файла, контроль версии, отображение прогресса, подтверждение результата и защита от запуска повреждённой прошивки.
В результате разработана аппаратная ревизия AirBridgeWiFi ESP-R1 и подготовлен полный производственный комплект для изготовления опытной партии.
Плата объединяет STM32G0B1, ESP32-C5, BLE-модуль AirService, два USB-C и гальванически изолированный RS-422. Архитектура позволяет использовать устройство как локальный и удалённый сервисный шлюз.
Также разработана концепция программной экосистемы, включающей приложение для ПК, Android-приложение и HTTPS-сервер. Подготовлены макеты основных экранов: подключение, мониторинг переменных, графики, диагностика, журналы и обновление прошивки различными способами.
На практике комплекс предназначен для обслуживания оборудования без непосредственного доступа к программатору: инженер сможет подключиться локально через COM/RS-422 или BLE либо удалённо через ESP32 и защищённый сервер.
Макеты созданы встроенным режимом imagegen. Использованы два задания: инженерная панель AirBridge Studio для ПК и трёхэкранный Android-сценарий подключения, мониторинга и перепрошивки.