feat(ap_mode): add to config only ap mode
This commit is contained in:
parent
5d2ccf0a8e
commit
d2a8a8cea6
21
README.md
21
README.md
@ -1,4 +1,6 @@
|
||||
# Pump controller ESP32
|
||||
Контроллер насоса с веб интерфейсом.
|
||||
|
||||
|
||||
## Сборка и прошивка
|
||||
```sh
|
||||
@ -6,3 +8,22 @@ PORT="/dev/ttyUSB0" \
|
||||
ESP_IDF="~/playground/esp-idf/"
|
||||
just build flash
|
||||
```
|
||||
|
||||
|
||||
## Setup
|
||||
Настройка.
|
||||
|
||||
При первом запуске устройства с прошивкой (!WIFI_AP) создастся wifi точка
|
||||
(default ssid: pumpcontroller). Подключиться и зайти в браузере на страницу
|
||||
192.168.4.1:80. Ввести пароль ssid и пароль основного wifi. Устройство
|
||||
перезагрузится и подключится к wifi и получит адрес (его можно узнать в
|
||||
настройках роутера). По этому адресу будет основная страница контроля давления.
|
||||
|
||||
При вводе неверного пароля нужно осуществить сброс до заводских настроек и
|
||||
повторить настройку.
|
||||
|
||||
|
||||
### Reset
|
||||
Сброс осуществляется замыканием пина D15 на землю и подключением питания.
|
||||
Устройство моргнет светодиодом 3 раза и перезагрузится, в этот момент нужно
|
||||
убрать замыкание D15 на землю.
|
||||
|
||||
@ -1,7 +1,20 @@
|
||||
menu "Pump Controller Configuration"
|
||||
config WIFI_AP
|
||||
bool "Work as WIFI AP"
|
||||
default false
|
||||
help
|
||||
Device wont connect to wifi
|
||||
|
||||
config PUMP_PIN
|
||||
int "Pump digital pin"
|
||||
default 4
|
||||
range 4 33
|
||||
help
|
||||
Digital pin for pump control.
|
||||
|
||||
config AP_WIFI_SSID
|
||||
string "AP WiFi SSID"
|
||||
default "ESP32_Hotspot"
|
||||
default "pumpcontroller"
|
||||
help
|
||||
Wi-Fi ssid.
|
||||
|
||||
|
||||
27
main/main.c
27
main/main.c
@ -918,6 +918,26 @@ static app_error_t setup_mode_init(void) {
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
static app_error_t ap_normal_mode_init() {
|
||||
CHECK_ERROR(wifi_softap_init(), APP_ERR_WIFI_INIT_FAIL);
|
||||
|
||||
CHECK_ERROR(load_thresholds(), APP_ERR_NVS_READ_FAIL);
|
||||
CHECK_ERROR(adc_init(), APP_ERR_ADC_INIT_FAIL);
|
||||
CHECK_ERROR(pump_init(), APP_ERR_PUMP_INIT_FAIL);
|
||||
|
||||
CHECK_ERROR(http_server_start(), APP_ERR_HTTP_SERVER_START_FAIL);
|
||||
CHECK_ERROR(tasks_create(), APP_ERR_TASK_CREATE_FAIL);
|
||||
|
||||
ESP_LOGI(TAG, "=========================================");
|
||||
ESP_LOGI(TAG, "AP normal mode active");
|
||||
ESP_LOGI(TAG, "📱 Connect to Wi-Fi: %s", CONFIG_AP_WIFI_SSID);
|
||||
ESP_LOGI(TAG, "🔑 Password: %s", strlen(CONFIG_AP_WIFI_PASS) ? CONFIG_AP_WIFI_PASS : "Open network");
|
||||
ESP_LOGI(TAG, "🌐 Open browser: http://%s:%d", CONFIG_AP_IP, CONFIG_WEBINTERFACE_PORT);
|
||||
ESP_LOGI(TAG, "=========================================");
|
||||
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
static app_error_t normal_mode_init(void) {
|
||||
g_setup_mode = false;
|
||||
|
||||
@ -968,6 +988,11 @@ void app_main(void) {
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
#if CONFIG_WIFI_AP
|
||||
if (ap_normal_mode_init() != APP_ERR_OK) {
|
||||
handle_error(APP_ERR_WIFI_INIT_FAIL);
|
||||
}
|
||||
#else // CONFIG_WIFI_AP
|
||||
// Check reset button
|
||||
if (gpio_get_level(RESET_BTN_GPIO) == 0) {
|
||||
ESP_LOGI(TAG, "RESET button pressed, resetting settings...");
|
||||
@ -988,6 +1013,6 @@ void app_main(void) {
|
||||
handle_error(APP_ERR_WIFI_CONNECT_FAIL);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // CONFIG_WIFI_AP
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user