Ver Fonte

[Add][Modularization][Module_Wifi]

2022.05.26 / Folus Wen

Actions:
1. AP mode add SSID broadcast configuration.
2. STA mode add BSSID configuration.

Files:
1. As follow commit history

Image version: V0.24
Image checksum: XXXXXXXX

Hardware PWB P/N : XXXXXXX
Hardware Version : XXXXXXX
Folus Wen há 2 anos atrás
pai
commit
cfe6281152
2 ficheiros alterados com 29 adições e 3 exclusões
  1. 26 2
      EVSE/Modularization/Module_Wifi.c
  2. 3 1
      EVSE/Projects/define.h

+ 26 - 2
EVSE/Modularization/Module_Wifi.c

@@ -260,7 +260,7 @@ int isValidCheckSum(uint8_t *message);
 char *Support_InterfaceSTA[2]	= {"mlan0", "wlan0"};
 char *Support_InterfaceAP[1]	= {"uap0"};
 char *valid_Internet[3]			= {"8.8.8.8", "180.76.76.76", "192.168.10.10"};
-char *Version_And_Date[2]		= {"V0.23","2022-02-09"};
+char *Version_And_Date[2]		= {"V0.24","2022-05-26"};
 int protocol_Version [] 		= {0,7,0};
 
 int StoreLogMsg(const char *fmt, ...)
@@ -816,7 +816,14 @@ int setWPAconf()
 					strcat(buffer, "\"\n    key_mgmt=WPA-EAP WPA-PSK \n");
 					strcat(buffer, "    bgscan=\"simple:10:-65:3600\" \n");
 					strcat(buffer, "    scan_ssid=1\n");
-					strcat(buffer, "    psk=\"");
+					if(strlen((char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac) > 0)
+					{
+						strcat(buffer, "\n    bssid=");
+						strcat(buffer, (char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac);
+						strcat(buffer, "\n    psk=\"");
+					}
+					else
+						strcat(buffer, "    psk=\"");
 					strcat(buffer, (char*)Wifi_A.passwd);
 					strcat(buffer, "\"\n}\n\n");
 				}
@@ -831,6 +838,11 @@ int setWPAconf()
 					strcat(buffer, "\"\n    auth_alg=OPEN SHARED\n");
 					strcat(buffer, "    bgscan=\"simple:10:-65:3600\"\n");
 					strcat(buffer, "    scan_ssid=1\n");
+					if(strlen((char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac) > 0)
+					{
+						strcat(buffer, "\n    bssid=");
+						strcat(buffer, (char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac);
+					}
 					strcat(buffer, "\n}\n\n");
 				}
 
@@ -839,6 +851,11 @@ int setWPAconf()
 				strcat(buffer, "\"\n    key_mgmt=NONE");
 				strcat(buffer, "\n    bgscan=\"simple:10:-65:3600\"");
 				strcat(buffer, "\n    scan_ssid=1");
+				if(strlen((char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac) > 0)
+				{
+					strcat(buffer, "\n    bssid=");
+					strcat(buffer, (char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac);
+				}
 				strcat(buffer, "\n}");
 			}
 			else
@@ -848,6 +865,11 @@ int setWPAconf()
 				strcat(buffer, "\"\n    key_mgmt=NONE");
 				strcat(buffer, "\n    bgscan=\"simple:10:-65:3600\"");
 				strcat(buffer, "\n    scan_ssid=1");
+				if(strlen((char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac) > 0)
+				{
+					strcat(buffer, "\n    bssid=");
+					strcat(buffer, (char*)ShmSysConfigAndInfo->SysConfig.AthInterface.WifiTargetBssidMac);
+				}
 				strcat(buffer, "\n}");
 			}
 
@@ -936,6 +958,8 @@ int setWPAconf()
 			system(cmdBuf);
 			sprintf(cmdBuf, "echo wpa_pairwise=CCMP >> /etc/hostapd.conf");
 			system(cmdBuf);
+			sprintf(cmdBuf, "echo ignore_broadcast_ssid=%d >> /etc/hostapd.conf", ((ShmSysConfigAndInfo->SysConfig.AthInterface.WifiBroadcastSsid^1)==0?0:1));
+			system(cmdBuf);
 			sprintf(cmdBuf, "hostapd /etc/hostapd.conf -B");
 			system(cmdBuf);
 

+ 3 - 1
EVSE/Projects/define.h

@@ -370,7 +370,9 @@ struct WifiConfigData
 {
 	unsigned char		WifiMode;					//0: disable, 1: Infrastructure client, 2: Infrastructure server, 3: Ad-Hoc
 	unsigned char		WifiSsid[256];				//default: Null
-	unsigned char		WifiPassword[256];			//default: Null
+	unsigned char		WifiPassword[224];			//default: Null
+	unsigned char		WifiBroadcastSsid;			//the SSID broadcast configuration, 0: hidden	1: broadcast
+	unsigned char		WifiTargetBssidMac[31];		//Target connect SSID MAC address, default: Null
 	int					WifiRssi;					//dbm
 	unsigned char		WifiDhcpServer;				//0: enable, 1: disable
 	unsigned char		WifiDhcpClient;				//0: enable, 1: disable