Генератор HTML-форм и C-обработчиков для встроенного веб-интерфейса ESP32
Создание инструмента, который на входе принимает описание формы (например, в JSON) и автоматически генерирует HTML-страницу и соответствующий обработчик на языке C для ESP32. Это практическая задача, связанная с реальной прошивкой и отладкой на микроконтроллере. Проект требует понимания ограничений embedded-среды, навыков проектирования и генерации кода, а также работы с ESP-IDF или Arduino.
Предоплата 60 000 ₽
При идеальном результате могу вернуть до 100% — 60 000 ₽Цель и задачи работы
Цель — разработка генератора, упрощающего создание HTML-интерфейсов и C-обработчиков конфигурационных параметров для устройств на базе ESP32. Он должен быть способен по входному описанию (например, JSON-файлу) генерировать HTML-форму и C-код, который:
- Отображает форму в интерфейсе устройства
- Обрабатывает данные, полученные через
POST
/GET
- Выполняет базовую валидацию значений
Работа позволит участнику прокачать навыки системного программирования, шаблонизации, генерации кода и работы с микроконтроллерами.
содержание работы
- Провести обзор типовых веб-интерфейсов конфигурации на микроконтроллерах: какие поля используются, какие типы данных, как оформляется отправка и валидация.
- Учесть ограничения платформы ESP32: ограниченная оперативная память, отсутствие поддержки серверных языков (PHP, Python).
- Определить структуру входных данных — JSON, YAML или собственный DSL — для описания формы.
- Спроектировать шаблоны для генерации:
- HTML-страницы формы
- Обработчика на C, который будет:
- Принимать значения
- Валидировать их (например, диапазоны, строки определённой длины)
- Сохранять в структуру настроек
- Реализовать CLI- или Web-интерфейс генератора.
- Проверить результат на примере конфигурационной формы Wi-Fi-настроек.
- Собрать прошивку с сгенерированным кодом, загрузить на ESP32, провести базовое тестирование.
Результат и критерии завершения работы
Готовый инструмент (CLI или Web), позволяющий по входному JSON-описанию генерировать:
- HTML-страницу с формой (input, select, checkbox и т.д.)
- Код на языке C:
- Обработку входящих данных (
POST
) - Валидацию значений
- Сохранение настроек в структуру
- Обработку входящих данных (
Ожидается наличие:
- Минимум двух примеров (например, Wi-Fi и настройки устройства)
- Документации по запуску и использованию генератора
- Чистого и читаемого кода с комментариями
Критерии:
- Код собирается и работает на ESP32
- Нет утечек памяти или крэшей
- Логика валидации и обработки соответствует описанию формы
- Минимальное ручное вмешательство при добавлении новых форм