Обязанности и достижения:
1. Разработка для STM32 (С/С++, CubeIDE, HAL, ООП-подход)
- Работа с широким спектром датчиков (температура, влажность, CO2 через 1-Wire/I2C/CAN) и исполнительных устройств (реле, сервоприводы, насосы)
- Реализация сложных алгоритмов управления (автоматическая регулировка вентиляции на основе показаний CO2)
- Создание масштабируемой архитектуры с использованием ООП для легкого добавления новых модулей
2. Разработка для ESP32 (PlatformIO, ESP-IDF/FreeRTOS)
- Организация стабильного соединения с сервером через WebSocket
- Реализация отказоустойчивого режима
- Создание backend части с веб-интерфейсом для локального управления, в случае отсутствия соединения с облаком
- Обработка и маршрутизация команд между облаком и локальными устройствами
3. Взаимодействие устройств
- Собственный протокол обмена сообщениями между STM32 и ESP32
- Прием команд от сервера через ESP32
- Системная маршрутизация пакетов по интерфейсам (CAN/I2C) на STM32
- Обеспечение доставки команд конкретным устройствам
- Механизмы обработки ошибок и повторной отправки данных
- Реализация удаленного обновления ПО (OTA)
4. Отладка и оптимизация
- Анализ и исправление проблем в реальном времени (логирование, трассировка)
- Работа с legacy-кодом: рефакторинг, улучшение стабильности и производительности
- Тестирование на реальном оборудовании
Текущие рабочие проекты:
1) Система управления вентиляцией:
- Интеграция датчиков CO2, температуры и влажности
- Удаленное управление и мониторинг
- Управление потоками воздуха
- Аварийные режимы
- Гибкая настройка режимов работы по сложным алгоритмам
2) Автоматизация бассейна:
- Написание алгоритма ионизации воды, вместо использования хлора
- Дистанционное управление через веб-интерфейс
Углубил свои знания в с++, начал изучать другие языки программирования, для расширения возможностей.
Начал мыслить стратегически.