fix wifi bugs

This commit is contained in:
zhangsheng 2025-03-10 11:43:01 +08:00
parent da511f5e77
commit ddc385b8d6
5 changed files with 18 additions and 19 deletions

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="446663210403312388" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-91780517900" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-469859009740510951" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1289773380490434009" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

View File

@ -156,13 +156,13 @@ std::string JsonData::JsonCmd_Cgi_52(Param_52 &param) {
jsonVal["enable"] = false; jsonVal["enable"] = false;
return show_value_.write(jsonVal); return show_value_.write(jsonVal);
#endif #endif
jsonVal["enable"] = true;
if (0 == param.mMode) { // 扫描 if (0 == param.mMode) { // 扫描
wifi::WPAClient wpa; wifi::WPAClient wpa;
std::string netssid = wpa.GetNetSsid(); std::string netssid = wpa.GetNetSsid();
std::vector<std::string> vecSsid; std::vector<std::string> vecSsid;
boost::split(vecSsid, netssid, boost::is_any_of("\n"), boost::token_compress_off); boost::split(vecSsid, netssid, boost::is_any_of("\n"), boost::token_compress_off);
jsBody["type"] = "SCAN"; jsBody["type"] = "SCAN";
jsBody["enable"] = true;
zlog_info(zct,"netssid : %s %d", netssid.c_str(), vecSsid.size()); zlog_info(zct,"netssid : %s %d", netssid.c_str(), vecSsid.size());
for (unsigned int i = 1; i < vecSsid.size() - 1; i++) { for (unsigned int i = 1; i < vecSsid.size() - 1; i++) {
std::vector<std::string> data; std::vector<std::string> data;

View File

@ -100,7 +100,7 @@ int main(int argc, char *argv[]) {
#endif #endif
#ifdef WIFI_MODULE #ifdef WIFI_MODULE
print_info("WiFi_MODULE \n"); zlog_info(zbt,"WiFi_MODULE");
#endif #endif
//通过UDP接收数据 //通过UDP接收数据

View File

@ -33,6 +33,7 @@ void CheckThread() {
int loose_check = 0; int loose_check = 0;
int mqttresend = 0; int mqttresend = 0;
int checkNet0 = 0; int checkNet0 = 0;
int wifi_reconnect_count = 0;
while (GlobalConfig::QuitFlag_G) { while (GlobalConfig::QuitFlag_G) {
GlobalConfig::threadStatus = 1; GlobalConfig::threadStatus = 1;
sleep(1); sleep(1);
@ -102,20 +103,18 @@ void CheckThread() {
zlog_warn(zct, "WiFi reset!"); zlog_warn(zct, "WiFi reset!");
system("/etc/init.d/wpa_restart"); system("/etc/init.d/wpa_restart");
sleep(5); sleep(5);
string strip = GetGwIp_("wlan0"); std::string strip = GetGwIp_("wlan0");
print_info("strip = %s\n", strip.c_str()); zlog_warn(zct,"strip = %s", strip.c_str());
if (strip.compare("0.0.0.0") != 0) {
} else { gpio_set(GlobalConfig::GPIO_G.wifiReset, 1);
gpio_set(GlobalConfig::GPIO_G.wifiReset, 1); sleep(5);
sleep(5); gpio_set(GlobalConfig::GPIO_G.wifiReset, 0);
gpio_set(GlobalConfig::GPIO_G.wifiReset, 0); sleep(30);
sleep(30); wifi::WPAClient wpa;
wifi::WPAClient wpa; wpa.ReconnectWiFi();
wpa.ReconnectWiFi(); system("/etc/init.d/wpa_restart");
system("/etc/init.d/wpa_restart"); sleep(5);
sleep(5); system("udhcpc -b -i wlan0 &");
system("udhcpc -b -i wlan0 &");
}
#endif #endif
} }

View File

@ -431,7 +431,7 @@ bool WPAClient::CheckCommandWithOk(const std::string cmd) {
zlog_error(zct, "send cmd falied"); zlog_error(zct, "send cmd falied");
return false; return false;
} }
zlog_error(zct, "recv cmd %s", recv.data()); zlog_info(zct, "recv cmd %s", recv.data());
if (strstr(recv.data(), "OK") == NULL) { if (strstr(recv.data(), "OK") == NULL) {
return false; return false;
} }