Wifi Reconnect Check Function in C++: Determining the Need for Wifi Reconnection
/**
-
@brief 检查是否需要重新连接Wifi
-
@param request 请求对象
-
@param response 响应对象
-
@return true 需要重新连接Wifi
-
@return false 不需要重新连接Wifi */ bool WifiModuleComponent::WifiReconnectCheck(const JsonStringCmdSrv::Request &request, JsonStringCmdSrv::Response &response){ Json::Value data_json; JsoncppParseRead::ReadStringToJson(request.json_cmd, data_json);
// 判断请求中是否包含ssid和pwd字段 if (data_json.isMember('ssid') && data_json['ssid'].isString() && data_json.isMember('pwd') && data_json['pwd'].isString()){ std::string ssid = data_json['ssid'].asString(); std::string pwd = data_json['pwd'].asString();
// 获取当前Wifi状态 WiFiState state = GetWifiState(); if(state == WIFI_STATE_STA){ char staName[65]; char staPwd[129]; // 从文件中读取上次连接的Wifi名称和密码 ReadStrFromFile(std::string(STA_NAME),staName,sizeof(staName)); ReadStrFromFile(std::string(STA_PWD),staPwd,sizeof(staPwd)); // 判断上次连接的Wifi名称和密码是否与当前请求中的相同 if(staName == ssid && staPwd == pwd){ LOGD('same..'); return false; // 不需要重新连接Wifi }else{ LOGD('new:%s-%s,old:%s-%s',ssid.c_str(), pwd.c_str(), staName, staPwd); } }}
return true; // 需要重新连接Wifi }
原文地址: https://www.cveoy.top/t/topic/nIL9 著作权归作者所有。请勿转载和采集!