Есть ли здесь опытные разработчики, которые использовали ESP-WHO для распознавания лиц? Моя версия IDF — 5.5.1, я использую официальные примеры, но SDK не может быть настроен, не компилируется, все заголовочные файлы не найдены.
GitHub - espressif/esp-who: Фреймворк для обнаружения и распознавания лиц
GitHub - espressif/esp-dl: Библиотека глубокого обучения Espressif для приложений AIoT
После поиска информации о ESP-WHO оказалось, что данных слишком мало, и большинство пользователей сталкиваются с похожими проблемами. Есть ли у кого-нибудь идеи, как это решить?
Для решения проблем настройки и сборки ESP-WHO под ESP-IDF 5.5.1 необходимо обратить внимание на три ключевых аспекта: переменные окружения, инициализацию зависимостей и настройку компонентов. Ниже приведено пошаговое руководство:
Шаг 1: Инициализация подмодулей ESP-WHO
ESP-WHO зависит от подмодулей, таких как esp-dl. Убедитесь, что зависимости загружены. Откройте терминал, перейдите в каталог esp-who-master и выполните:
Ошибка “переменная IDF_EXTRA_ACTIONS_PATH не установлена” критична. Эта переменная должна указывать на каталог bsp ESP-WHO (путь к пакету поддержки платы).
Для Windows:
Найдите путь к esp-who-master (например, C:\\Users\\49864\\Desktop\\esp-who-master). Полный путь к bsp: C:\\Users\\49864\\Desktop\\esp-who-master\\bsp.
В разделе “Пользовательские переменные” или “Системные переменные” добавьте:
Имя переменной: IDF_EXTRA_ACTIONS_PATH
Значение переменной: C:\\Users\\49864\\Desktop\\esp-who-master\\bsp (замените на свой путь).
Перезапустите VSCode для применения изменений.
Шаг 3: Проверка загрузки среды ESP-IDF
В VSCode используйте расширение ESP-IDF для загрузки среды:
Нажмите Ctrl+Shift+P, введите “ESP-IDF: Show Examples Projects”, убедитесь, что путь ESP-IDF распознан.
При открытии терминала проекта используйте “ESP-IDF: New Terminal”, чтобы убедиться в загрузке переменных среды (например, IDF_PATH).
Шаг 4: Проверка CMakeLists.txt и регистрации компонентов
Примеры ESP-WHO требуют корректной регистрации компонентов и путей к заголовочным файлам. Для human_face_recognition проверьте CMakeLists.txt:
Убедитесь, что idf_component_register включает необходимые компоненты и пути:
idf_component_register(
SRCS "app_main.cpp" "frame_cap_pipeline.cpp"
INCLUDE_DIRS "."
REQUIRES esp_who esp_camera esp_dl # Добавьте зависимости по требованию
)
Шаг 5: Очистка и повторная сборка проекта
Удалите каталог build и выполните сборку заново:
idf.py fullclean
idf.py set-target esp32 # Замените на вашу целевую платформу (например, esp32s3)
idf.py build
Дополнительно: Совместимость версий
Если проблема не решена, проверьте совместимость ESP-WHO с ESP-IDF 5.5.1. Ознакомьтесь с README ESP-WHO или разделом GitHub Issues. Если поддерживаемая версия ESP-IDF ниже 5.5.1, попробуйте понизить версию ESP-IDF до совместимой (например, 5.0 или 4.4) и повторите настройку.
После выполнения указанных шагов ошибки “Ошибка конфигурации SDK” и “Не найден заголовочный файл” должны быть устранены. Если проблема сохраняется, проверьте includePath и browse.path в c_cpp_properties.json на наличие путей к заголовочным файлам ESP-WHO или создайте Issue в репозитории ESP-WHO для получения поддержки.