FluxDC/components/FluxUI/ui_event_wifi.c
2025-04-28 17:49:47 +08:00

132 lines
3.2 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @file ui_event_wifi.c
* @brief 此文件中专门实现WIFI事件的处理
*
* 仅仅Debug模式下运行
*
* @author wang xiang en
* @date 2025-04-19
* @version 版本号
* @copyright 版权声明((C)2025, YUWELL MEDTECH Co.ltd
*/
#include "ui.h"
#include "esp_err.h"
#include "esp_log.h"
#include "FluxWifi.h"
#include "FluxUart.h"
#include "FluxSD.h"
/************************************ WIFI调节函数 ******************************************* */
/**
* @brief 点击Wifi搜索事件
*
* wifi搜索回调函数
*
* @param[in] e not used
*/
void on_buttonSearchWifi_clicked(lv_event_t * e)
{
/*部分电路板不具有WIFI连接功能*/
#if CONFIG_WIFI_SCAN_ENABLE
wifi_scan();
#endif
}
/**
* @brief 修改WIFI选定事件
*
* WiFi连接选项修改回调函数
*
* @param[in] e not used
*/
void on_dropDownWifiName_valueChanged(lv_event_t * e)
{
// Your code here
int currentIndex=0;
currentIndex = lv_dropdown_get_selected(e->target);
lv_label_set_text_fmt(ui_pageWifiConnect_labelRssi, "RSSI:%d dBm ", ap_info[currentIndex].rssi);
lv_label_set_text_fmt(ui_pageWifiConnect_labelConnectWifi,"connect to %s",ap_info[currentIndex].ssid);
if (strcmp((char*)ap_info[currentIndex].ssid,"yuwell")==0)
{
lv_textarea_set_text(ui_pageWifiConnect_textAreaWifiPassword, "yuwell123456");
}
}
/**
* @brief Wifi连接按键按下回调函数
*
* WIFI连接按键按下回调函数
*
* @param[in] e not used
*/
void on_buttonConnectWifi_clicked(lv_event_t * e)
{
/*部分电路板不具有WIFI连接功能*/
#if CONFIG_WIFI_SCAN_ENABLE
if(strcmp(lv_label_get_text(ui_pageWifiConnect_labelConnectWifi),"disconnect") == 0 )
{
esp_wifi_disconnect();
ESP_ERROR_CHECK(esp_wifi_stop());
return;
}
int currentIndex=0;
ESP_ERROR_CHECK(esp_wifi_stop());
currentIndex = lv_dropdown_get_selected(ui_pageWifiConnect_dropdownWifiName);
// Your code here
wifi_config_t wifi_config = {
.sta = {
.ssid = "yuwell",
.password = "yuwell123456",
/* Authmode threshold resets to WPA2 as default if password matches WPA2 standards (password len => 8).
* If you want to connect the device to deprecated WEP/WPA networks, Please set the threshold value
* to WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK and set the password with length and format matching to
* WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK standards.
*/
.threshold = {
.authmode = ap_info[currentIndex].authmode,
},
.sae_pwe_h2e = WPA3_SAE_PWE_BOTH,
.sae_h2e_identifier = "",
},
};
lv_dropdown_get_selected_str(ui_pageWifiConnect_dropdownWifiName,(char*)wifi_config.sta.ssid,32);
strncpy((char*)wifi_config.sta.password,lv_textarea_get_text(ui_pageWifiConnect_textAreaWifiPassword),64);
ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));
ESP_ERROR_CHECK(esp_wifi_start() );
ESP_LOGI("TAG", "wifi_init_sta finished.");
esp_wifi_connect();
#if LOG_RECORD_ENABLE
WRITE_LOG_TO_SD("进行Wifi连接");
#endif
#endif
}
/**
* @brief 清空WIFI密码
*
* WIFI密码清空按键按下回调函数
*
* @param[in] e not used
*/
void on_buttonClearPassword_clicked(lv_event_t * e)
{
// Your code here
lv_textarea_set_text(ui_pageWifiConnect_textAreaWifiPassword, "");
}