a47e20cb64
2. 稍微优化了一下系统配置类 3. 增加了系统版本号,便于区分系统版本,方便OTA 4. 重写OTA的逻辑,完成了Cpp的OTA封装,测试通过
60 lines
1.8 KiB
C++
60 lines
1.8 KiB
C++
//
|
|
// Created by misaki on 2025/9/2.
|
|
//
|
|
#include "OTAClass.h"
|
|
#include "esp_log.h"
|
|
#include <freertos/FreeRTOS.h>
|
|
#include <string>
|
|
#include "SDFileManager.h"
|
|
#include "CommClass.h"
|
|
|
|
|
|
void OTAClass::Init() {
|
|
ESP_LOGI("OTA", "Init");
|
|
|
|
// 列出当前目录内容
|
|
std::string listing = SDFileManager::getInstance()->lsCommand(".", false, true);
|
|
ESP_LOGI("SD", "%s", listing.c_str());
|
|
|
|
// 切换到music目录
|
|
SDFileManager::getInstance()->cdCommand("music");
|
|
std::string pwdPath = SDFileManager::getInstance()->pwdCommand();
|
|
ESP_LOGI("SD", "%s", pwdPath.c_str());
|
|
|
|
// 列出当前目录内容
|
|
listing = SDFileManager::getInstance()->lsCommand(".", false, true);
|
|
ESP_LOGI("SD", "%s", listing.c_str());
|
|
|
|
// LVGLRender::getInstance()->RenderGif("gzl_m.gif");
|
|
|
|
// 设置音量
|
|
// AudioOutput::getInstance()->setVolume(5);
|
|
|
|
// 同步播放
|
|
// AudioOutput::getInstance()->playSync("/sdcard/music", "kokoronashi_8k.mp3");
|
|
|
|
|
|
// // 配置Wifi连接线程参数
|
|
// ThreadConfig wifi_config;
|
|
// wifi_config.name = "WifiConnector"; // 线程名称
|
|
// wifi_config.core_id = 1; // 绑定到核心1(避免与主线程冲突)
|
|
// wifi_config.stack_size = 4096; // 设置稍大的栈空间(Wifi连接可能需要)
|
|
// wifi_config.priority = 6; // 设置较高优先级(确保连接及时)
|
|
// // 使用单例方式创建线程,调用connectWifi成员函数
|
|
// std::thread wifi_thread = ThreadManager::createSingletonThread<WifiConnectors>(
|
|
// wifi_config,
|
|
// &WifiConnectors::connectWifi,
|
|
// "Misaki-2.4G", // SSID
|
|
// "88888888", // 密码
|
|
// 5 // 最大重试次数
|
|
// );
|
|
// wifi_thread.detach();
|
|
|
|
}
|
|
|
|
// 启动OTA更新线程,前提是已经连接WiFi
|
|
void OTAClass::Update() {
|
|
|
|
}
|
|
|