add connect wifi mqtt auto.

This commit is contained in:
2024-06-05 22:59:04 +08:00
parent 7f3491094f
commit 8413ce1fa9
8 changed files with 193 additions and 21 deletions

View File

@ -1,6 +1,7 @@
#include "Application.h"
#include "CustomCommand.h"
#include "LedController.h"
#include "MqttClient.h"
#include "cmd_nvs.h"
#include "cmd_system.h"
#include "driver/uart.h"
@ -31,7 +32,7 @@ extern "C" void app_main() {
initialize_filesystem();
initialize_console();
Application::instance()->initialize();
Application::instance()->setField("author", "amass");
esp_console_register_help_command();
register_system_common();
register_system_sleep();
@ -39,6 +40,34 @@ extern "C" void app_main() {
register_nvs();
LedController::instance()->initialize();
if (Application::instance()->contains("brightness")) {
int brightness = Application::instance()->field<int>("brightness");
LedController::instance()->setBrightness(brightness);
ESP_LOGI("main", "last brightness: %d \n", brightness);
}
if (Application::instance()->contains("color_temp")) {
int color_temp = Application::instance()->field<int>("color_temp");
LedController::instance()->setColorTemperature(Application::instance()->field<int>("color_temp"));
ESP_LOGI("main", "last color_temp: %d \n", color_temp);
}
bool connected = false;
if (Application::instance()->contains("ssid")) {
auto ssid = Application::instance()->field<std::string>("ssid");
auto psk = Application::instance()->field<std::string>("psk");
connected = Application::instance()->wifiConnect(ssid, psk);
} else {
ESP_LOGI("main", "please connect wifi use command.\n");
}
if (connected) {
if (Application::instance()->contains("mqtt_username")) {
auto username = Application::instance()->field<std::string>("mqtt_username");
auto password = Application::instance()->field<std::string>("mqtt_password");
MqttClient::instance()->initialize(username, password);
} else {
ESP_LOGI("main", "please connect mqtt use command.\n");
}
}
while (true) {
char *line = linenoise(prompt);