Generate SSIDs #44

This commit is contained in:
Just Call Me Koko
2020-08-29 00:09:04 -04:00
parent c8cddedd2b
commit cf2d5df4d5
4 changed files with 87 additions and 1 deletions

View File

@@ -627,6 +627,8 @@ void MenuFunctions::RunSetup()
// Settings stuff
shutdownWiFiMenu.list = new LinkedList<MenuNode>();
shutdownBLEMenu.list = new LinkedList<MenuNode>();
generateSSIDsMenu.list = new LinkedList<MenuNode>();
clearSSIDsMenu.list = new LinkedList<MenuNode>();
// Work menu names
mainMenu.name = " ESP32 Marauder ";
@@ -648,6 +650,9 @@ void MenuFunctions::RunSetup()
bluetoothGeneralMenu.name = " Bluetooth General ";
shutdownWiFiMenu.name = " Shutdown WiFi ";
shutdownBLEMenu.name = " Shutdown BLE ";
generateSSIDsMenu.name = " Generate SSIDs ";
clearSSIDsMenu.name = " Clear SSIDs ";
// Build Main Menu
mainMenu.parentMenu = NULL;
@@ -755,10 +760,18 @@ void MenuFunctions::RunSetup()
wifi_scan_obj.StartScan(LV_JOIN_WIFI, TFT_YELLOW);
joinWiFiGFX();
});
addNodes(&wifiGeneralMenu, "Shutdown WiFi", TFT_ORANGE, NULL, SHUTDOWN, [this]() {
addNodes(&wifiGeneralMenu, "Shutdown WiFi", TFT_CYAN, NULL, SHUTDOWN, [this]() {
changeMenu(&shutdownWiFiMenu);
wifi_scan_obj.RunShutdownWiFi();
});
addNodes(&wifiGeneralMenu, "Generate SSIDs", TFT_SKYBLUE, NULL, GENERAL_APPS, [this]() {
changeMenu(&generateSSIDsMenu);
wifi_scan_obj.RunGenerateSSIDs();
});
addNodes(&wifiGeneralMenu, "Clear SSIDs", TFT_SILVER, NULL, GENERAL_APPS, [this]() {
changeMenu(&clearSSIDsMenu);
wifi_scan_obj.RunClearSSIDs();
});
// Build shutdown wifi menu
shutdownWiFiMenu.parentMenu = &wifiGeneralMenu;
@@ -766,6 +779,18 @@ void MenuFunctions::RunSetup()
changeMenu(shutdownWiFiMenu.parentMenu);
});
// Build generate ssids menu
generateSSIDsMenu.parentMenu = &wifiGeneralMenu;
addNodes(&generateSSIDsMenu, "Back", TFT_LIGHTGREY, NULL, 0, [this]() {
changeMenu(generateSSIDsMenu.parentMenu);
});
// Build clear ssids menu
clearSSIDsMenu.parentMenu = &wifiGeneralMenu;
addNodes(&clearSSIDsMenu, "Back", TFT_LIGHTGREY, NULL, 0, [this]() {
changeMenu(clearSSIDsMenu.parentMenu);
});
// Build Bluetooth Menu
bluetoothMenu.parentMenu = &mainMenu; // Second Menu is third menu parent

View File

@@ -138,6 +138,8 @@ class MenuFunctions
// Settings things menus
Menu shutdownWiFiMenu;
Menu shutdownBLEMenu;
Menu generateSSIDsMenu;
Menu clearSSIDsMenu;
static void lv_tick_handler();

View File

@@ -129,6 +129,7 @@ WiFiScan::WiFiScan()
}
void WiFiScan::RunSetup() {
ssids = new LinkedList<ssid>();
BLEDevice::init("");
pBLEScan = BLEDevice::getScan(); //create new scan
this->ble_initialized = true;
@@ -136,6 +137,29 @@ void WiFiScan::RunSetup() {
this->shutdownBLE();
}
int WiFiScan::clearSSIDs() {
int num_cleared = this->ssids->size();
this->ssids->clear();
Serial.println("ssids: " + (String)this->ssids->size());
return num_cleared;
}
int WiFiScan::generateSSIDs() {
uint8_t num_gen = 20;
for (uint8_t x = 0; x < num_gen; x++) {
String essid = "";
for (uint8_t i = 0; i < 6; i++)
essid.concat(alfa[random(65)]);
ssid s = {essid, {random(256), random(256), random(256), random(256), random(256), random(256)}};
this->ssids->add(s);
Serial.println(this->ssids->get(this->ssids->size() - 1).essid);
}
return num_gen;
}
void WiFiScan::joinWiFi(String ssid, String password)
{
static const char * btns[] ={"Close", ""};
@@ -406,6 +430,30 @@ void WiFiScan::RunLvJoinWiFi(uint8_t scan_mode, uint16_t color) {
//display_obj.joinWiFiGFX();
}
void WiFiScan::RunClearSSIDs() {
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
display_obj.tft.setCursor(0, 100);
display_obj.tft.setTextSize(1);
display_obj.tft.setTextColor(TFT_CYAN);
display_obj.tft.println(F("Clearing SSIDs..."));
display_obj.tft.println("SSIDs Cleared: " + (String)this->clearSSIDs());
}
void WiFiScan::RunGenerateSSIDs() {
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
display_obj.tft.setCursor(0, 100);
display_obj.tft.setTextSize(1);
display_obj.tft.setTextColor(TFT_CYAN);
display_obj.tft.println(F("Generating SSIDs..."));
display_obj.tft.println("SSIDs Generated: " + (String)this->generateSSIDs());
display_obj.tft.println(" Total SSIDs: " + (String)this->ssids->size());
}
void WiFiScan::RunShutdownWiFi() {
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);

View File

@@ -55,6 +55,11 @@ extern TemperatureInterface temp_obj;
esp_err_t esp_wifi_80211_tx(wifi_interface_t ifx, const void *buffer, int len, bool en_sys_seq);
struct ssid {
String essid;
int bssid[6];
};
class WiFiScan
{
private:
@@ -154,6 +159,8 @@ class WiFiScan
public:
WiFiScan();
LinkedList<ssid>* ssids;
int set_channel = 1;
int old_channel = 0;
@@ -171,6 +178,8 @@ class WiFiScan
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
void RunSetup();
int clearSSIDs();
int generateSSIDs();
bool shutdownWiFi();
bool shutdownBLE();
void joinWiFi(String ssid, String password);
@@ -180,6 +189,8 @@ class WiFiScan
void RunInfo();
void RunShutdownWiFi();
void RunShutdownBLE();
void RunGenerateSSIDs();
void RunClearSSIDs();
void channelHop();
uint8_t currentScanMode = 0;
void main(uint32_t currentTime);