forked from xiaozhi/xiaozhi-esp32
* Upgrade component version * update fonts component version * Handle OTA error code * Update project version to 2.1.0 and add device state machine implementation - Upgrade esp-wifi-connect to 3.0.0, allowing reconfiguring wifi without rebooting - Introduce device state machine with state change notification in new files - Remove obsolete device state event files - Update application logic to utilize new state machine - Minor adjustments in various board implementations for state handling * fix compile errors * Refactor power saving mode implementation to use PowerSaveLevel enumeration - Updated Application class to replace SetPowerSaveMode with SetPowerSaveLevel, allowing for LOW_POWER and PERFORMANCE settings. - Modified various board implementations to align with the new power save level structure. - Ensured consistent handling of power save levels across different board files, enhancing code maintainability and clarity. * Refactor power save level checks across multiple board implementations - Updated the condition for power save level checks in various board files to ensure that the power save timer only wakes up when the level is not set to LOW_POWER. - Improved consistency in handling power save levels, enhancing code clarity and maintainability. * Refactor EnterWifiConfigMode calls in board implementations - Updated calls to EnterWifiConfigMode to use the appropriate instance reference (self or board) across multiple board files. - Improved code consistency and clarity in handling device state during WiFi configuration mode entry. * Add cellular modem event handling and improve network status updates - Introduced new network events for cellular modem operations, including detecting, registration errors, and timeouts. - Enhanced the Application class to handle different network states and update the display status accordingly. - Refactored Ml307Board to implement a callback mechanism for network events, improving modularity and responsiveness. - Updated dual_network_board and board headers to support new network event callbacks, ensuring consistent handling across board implementations. * update esp-wifi-connect version * Update WiFi configuration tool messages across multiple board implementations to clarify user actions
硬件基于基于ESP32S3CAM开发板,代码基于bread-compact-wifi-lcd修改 使用的摄像头是OV2640 注意因为摄像头占用IO较多,所以占用了ESP32S3的USB 19 20两个引脚 连线方式参考config.h文件中对引脚的定义
编译配置命令
配置编译目标为 ESP32S3:
idf.py set-target esp32s3
打开 menuconfig:
idf.py menuconfig
选择板子:
Xiaozhi Assistant -> Board Type ->面包板新版接线(WiFi)+ LCD + Camera
配置摄像头传感器:
注意: 确认摄像头传感器型号,确定型号在 esp_cam_sensor 支持的范围内。当前板子用的是 OV2640,是符合支持范围。
在 menuconfig 中按以下步骤启用对应型号的支持:
-
导航到传感器配置:
(Top) → Component config → Espressif Camera Sensors Configurations → Camera Sensor Configuration → Select and Set Camera Sensor -
选择传感器型号:
- 选中所需的传感器型号(OV2640)
-
配置传感器参数:
- 按 → 进入传感器详细设置
- 启用 Auto detect
- 推荐将 default output format 调整为 YUV422 及合适的分辨率大小
- (目前支持 YUV422、RGB565,YUV422 更节省内存空间)
编译烧入:
idf.py build flash