/**

  • @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 }

Wifi Reconnect Check Function in C++: Determining the Need for Wifi Reconnection

原文地址: https://www.cveoy.top/t/topic/nIL9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录