«Разработка — это не просто написание кода, это понимание того, как он будет использоваться» (с) Линус Торвальдс.
Умная система вентиляции и затенения
Тип проекта: Full‑stack embedded + IoT
Команда: 3 разработчика
Стек: C (STM32), C# / Python, React, MQTT, REST API, самописная CMS
Сроки: 2 месяца
Статус: проект сдан
О проекте
Команда разработала полностью автономную систему управления ставнями и затенением «под ключ». Проект объединил программируемую логику на уровне железа (STM32) с интеллектуальной системой управления домом (CMS).
В отличие от готовых коробочных решений, мы создали кастомную CMS с нуля — без привязки к чужим экосистемам и с полным контролем над всеми слоями: от прошивки до веб-интерфейса.
Вся система предоставляет полностью документированное REST API, позволяющее интегрировать управление ставнями с любой внешней системой — другим умным домом, промышленной автоматикой или мобильным приложением партнера.
Что сделано
Embedded — прошивка для STM32: управление сервоприводами ставень, опрос датчиков освещённости и ветра, обработка прерываний, энергоэффективные режимы.
Интеграция — подключение STM32 к самописной CMS через MQTT и UART/CAN.
Бэкенд CMS — серверная логика сценариев: время суток, уровень освещения, порывы ветра, ручные режимы.
Фронтенд — веб‑дашборд для настройки автоматизации и ручного управления каждой ставней в реальном времени. Конечно же,
полностью адаптированное под мобильные
устройства.
REST API — полностью задокументированное API (OpenAPI/Swagger) для управления ставнями, получения телеметрии и настройки сценариев извне.
Роли в команде
Роль и зона ответственности:
Embedded‑разработчик Прошивка для STM32, работа с сервоприводами и датчиками, протоколы UART/CAN, энергопотребление.
Backend‑разработчик CMS на C#/Python, MQTT‑брокер, бизнес‑логика сценариев, REST API, документация API.
Frontend‑разработчик Веб‑дашборд на React, визуализация состояния ставень, интеграция с REST API и WebSocket.
Результат
✅ Готовая система «железо → сервер → веб‑интерфейс»
✅ Снижение нагрева помещений до 20% в летний период.
✅ Полный контроль над данными (нет облачных привязок).
✅ Полностью документированное REST API для любых внешних систем.
✅ Возможность тиражирования под другие типы приводов и датчиков.
Проект может быть адаптирован под системы умного дома, офиса, малого предприятия любой сложности и масштаба.
Система оповещения и интеграции со СКУД
Тип проекта: Full‑stack embedded + промышленная автоматизация
Команда: 5 разработчиков
Стек: C (Arduino, STM32), Linux (Rockchip), Python, React, MQTT, REST API, SQLite/PostgreSQL
Сроки: 5 месяцев
Статус: проект сдан
О проекте
Команда разработала промышленную систему оповещения, интегрированную с существующей СКУД предприятия. Проект объединил три уровня железа:
Arduino — управление системой информирования.
STM32 — управление СКУД (контроль доступа).
Плата на Rockchip — Linux‑шлюз со слаботочными реле для коммутации внешних устройств.
Верхний уровень — самописная система предприятия на Python + React — собирает логи со всех контроллеров, управляет сценариями оповещения и синхронизирует доступ.
Вся система предоставляет полностью документированное REST API, позволяющее интегрировать оповещение и контроль доступа с любой внешней системой — ERP, охраной, пожарной сигнализацией или мобильным приложением.
Схема взаимодействия устройств
Система построена по трёхуровневой иерархической схеме.
Первый уровень (нижний) — исполнительные контроллеры.
Здесь находятся Arduino, который управляет устройствами оповещения (световые табло, сирены, голосовые модули), и STM32, который управляет элементами СКУД (электромагнитные замки, считыватели карт и ключей, датчики открытия дверей). Оба контроллера работают автономно по загруженной прошивке, но принимают команды сверху и отправляют телеметрию наверх.
Второй уровень (средний) — шлюз на Rockchip под Linux.
Это центральный узел, физически расположенный на объекте. Он получает команды от верхнего уровня, управляет слаботочными реле (пожарные клапаны, резервное освещение), агрегирует данные с Arduino (по UART) и STM32 (по CAN или RS‑485), буферизирует события при потере связи с сервером и передаёт их позже. Шлюз общается с верхним уровнем через MQTT и REST API.
Третий уровень (верхний) — сервер предприятия.
Здесь работают бэкенд на Python (центральная логика: пользователи, зоны доступа, сценарии оповещения) и база данных. Бэкенд принимает события со шлюзов, хранит их, отправляет команды обратно, а также предоставляет REST API для внешних систем.
Фронтенд (React‑дашборд) подключён к бэкенду через WebSocket и REST API. Он позволяет администратору и охране видеть карту предприятия со статусами устройств, вручную запускать оповещения (пожарная тревога, отбой, плановая эвакуация), просматривать журналы доступа и оповещений, а также настраивать сценарии автоматизации.
Что сделано
Embedded (Arduino) — прошивка для управления системой информирования (LED‑табло, сирены, голосовые оповещения, световые указатели).
Embedded (STM32) — прошивка для СКУД: управление электромагнитными замками, считывателями карт/ключей, обработка событий входа/выхода.
Rockchip‑шлюз — Linux‑приложение на Python/C++ для управления слаботочными реле, агрегации данных с Arduino и STM32, буферизации при потере связи.
Бэкенд предприятия — центральная система на Python: управление пользователями, зонами доступа, сценариями оповещения (авария, эвакуация, смена смены).
Фронтенд — React‑дашборд для охраны и администратора: карта предприятия, статусы устройств, ручной запуск оповещения, логи доступа.
REST API — полностью задокументированное API (OpenAPI/Swagger) для управления оповещением, СКУД и реле извне.
Роли в команде
Роль и зона ответственности:
Embedded‑разработчик (Arduino)
Прошивка для Arduino: оповещение, световые и звуковые устройства, протокол UART
Embedded‑разработчик (STM32)
Прошивка для STM32:
СКУД, замки, считыватели, протоколы CAN/RS‑485
Linux / Embedded Linux‑разработчик
Образ для Rockchip, драйверы реле, шлюз для агрегации данных, связь с бэкендом через MQTT/REST
Frontend‑разработчик
React‑дашборд, карта предприятия, визуализация статусов, веб‑сокеты для real‑time обновлений.
Backend‑разработчик
Система предприятия на Python, бизнес‑логика оповещения и доступа, REST API, документация, база данных.
Результат
✅ Готовая трёхуровневая система с чётким разделением уровней
✅ Автоматическое оповещение при авариях и эвакуации
✅ Полная синхронизация СКУД с системой предприятия
✅ Полностью документированное REST API для внешних систем
✅ Буферизация событий на шлюзе (работает даже при обрыве связи с сервером)
✅ Логирование всех событий доступа и оповещения
✅ Real‑time обновления на дашборде через WebSocket
✅ Возможность масштабирования на несколько зданий
Проект может быть адаптирован под любую промышленную площадку — от склада до завода.
Умный контроллер доступа по BLE (мобильное приложение)
Тип проекта: Mobile‑first embedded + IoT
Команда: 4 разработчика
Стек: C (STM32), Swift (iOS) / Kotlin (Android), React Native / Flutter, BLE, REST API, Firebase / самописный бэкенд
Сроки: 4 месяца
Статус: в разработке
О проекте
Команда разрабатывает систему бесконтактного доступа на основе Bluetooth Low Energy (BLE). Проект включает:
STM32 — контроллер замка с BLE‑модулем.
Мобильное приложение — для авторизации и управления доступом.
Бэкенд — для синхронизации прав доступа и логирования.
Пользователь открывает дверь смартфоном без физического контакта. Система может работать полностью автономно (STM32 хранит локальный список разрешённых устройств) либо в онлайн‑режиме через бэкенд.
Вся система предоставляет полностью документированное REST API, позволяющее интегрировать управление доступом с любой внешней системой — корпоративным порталом, учётом рабочего времени или системой умного офиса.
Проект находится в активной разработке. Плановое завершение — через 3 месяца.
Схема взаимодействия устройств:
Система строится по трёхуровневой схеме, один из уровней — мобильный.
Нижний уровень — контроллер на STM32.
STM32 с подключённым BLE‑модулем управляет электромагнитным замком или сервоприводом защёлки. В памяти хранится список идентификаторов авторизованных устройств (хеши ключей). При обнаружении BLE‑сигнала от смартфона контроллер проверяет идентификатор, и при совпадении подаёт сигнал на открытие замка. Также STM32 фиксирует события (дата, время, идентификатор, успех/отказ) в локальный журнал CRM.
Средний уровень — мобильное приложение пользователя.
Приложение на iOS/Android (кроссплатформенная обёртка) запускает "BLE‑рекламу" идентификатора при приближении к двери (по геозоне или при нажатии кнопки в приложении). При необходимости приложение может получать актуальный список прав доступа с бэкенда через REST API, чтобы знать, какие двери доступны пользователю. В офлайн‑режиме приложение хранит локальный токен для базовой авторизации.
Верхний уровень — бэкенд и панель администратора.
Бэкенд на Python (или Firebase) управляет пользователями и их правами доступа. Администратор через веб‑панель (React) назначает, какие смартфоны имеют доступ к каким дверям, устанавливает временные окна доступов, просматривает логи открытий в реальном времени. Бэкенд синхронизирует списки авторизованных устройств с мобильными приложениями и, при онлайн‑режиме, может напрямую отправлять команды на STM32 через шлюз (опционально).
Фронтенд (React‑панель администратора) отображает: список дверей и их статус, список пользователей и их права, журнал событий, настройки временных доступов.
Что сделано (на текущий момент):
Embedded (STM32) — базовая прошивка: работа с BLE‑модулем, приём и верификация идентификаторов, управление замком через реле или транзисторный ключ, энергосберегающие режимы (глубокая остановка, пробуждение по BLE)
Мобильное приложение — базовая "BLE‑реклама", генерация уникального идентификатора устройства, экран статуса и ручного открытия, синхронизация прав с бэкендом
Бэкенд — прототип на FastAPI / Firebase: регистрация устройств, выдача прав, логирование событий
REST API — документирование эндпоинтов (в процессе).
Что в работе сейчас:
Доработка прошивки STM32: добавление локального журнала событий и энергонезависимой памяти (EEPROM/Flash)
Мобильное приложение: геозоны и фоновая "BLE‑реклама" (в том числе при заблокированном телефоне).
Веб‑панель администратора (React): дизайн и интеграция с бэкендом.
Осталось на второй и третий месяц:
Интеграционное тестирование всей связки
Отказоустойчивость (офлайн‑режим на STM32)
Полировка UI/UX мобильного приложения
Документация и подготовка к внедрению
Роли в команде
Роль и зона ответственности:
Embedded‑разработчик (STM32)
Прошивка для STM32: BLE‑стек, верификация идентификаторов, управление замком, энергосбережение, локальное логирование.
Мобильный разработчик (iOS/Android)
Кроссплатформенное приложение (React Native / Flutter, SWIFT), "BLE‑реклама" и сканирование, геозоны, фоновые режимы, синхронизация с бэкендом.
Backend‑разработчик Бэкенд на Python/Firebase: управление пользователями и правами доступа, REST API, логирование событий, синхронизация с мобильными клиентами (приложениями)
Frontend‑разработчик Веб‑панель администратора на React: список пользователей, управление правами доступа, журнал событий, временные доступы.
Планируемый результат (по завершении проекта):
✅ Готовая система «смартфон → STM32 → замок» без физических ключей
✅ Автономная работа (STM32 хранит список доступов)
✅ Онлайн‑режим через бэкенд для централизованного управления
✅ Геозоны и бесконтактное открытие без касания телефона
✅ Веб‑панель для администратора с выдачей временных доступов
✅ Полностью документированное REST API для внешних систем
✅ Журналирование всех попыток доступа
✅ Низкое энергопотребление (глубокий сон STM32, до года от батарейки)
Система может использоваться в офисах, коворкингах, гостиницах, арендном жилье и на проходных предприятий.
Coming soon…
Место сдается в аренду (шутка). 😅 На данный момент, мы ожидаем новых вызовов. Возможно, на этом месте, будет именно ваш проект? 🤓