Arduino-WLAN-Setup-via-Serial

From Digipool-Wiki
Revision as of 18:12, 3 January 2023 by WikiSysop (Talk | contribs)

Jump to: navigation, search


Your main program tap


// WLAN-Setup-via-Serial
// For serial communication, you can use the Arduino IDE 
// or another serial terminal, such as the following webpage:
// https://www.serialterminal.com
// Disable "send with /r"
// Enable "send with /n"
// Disable "echo"

String WlanName = "";
String WlanKey = "";

void setup() {

Serial.begin(9600);
myWlanSetup();

}

void loop() {
 // place your code here...
}


WLAN-Setup Tap

Create an additional tap, call it "WLAN-Setup" and place the following code there:


void myWlanSetup() {
  long wlanSetupTimer = 0;
  int newWlan = 0;
  String incomingString;

  Serial.println("");
  int myModue = 0;
  if (WlanName == "") {
    Serial.println("Your programme code does not contain a WLAN-Name.");
  } else {
    Serial.print("Your programme code contains the following WLAN-Name: ");
    Serial.println(WlanName);
    myModue = myModue + 1;
  }
  if (WlanKey == "") {
    Serial.println("Your programme code does not contain a WLAN-Key.");
  } else {
    Serial.print("Your programme code contains the following WLAN-Key: ");
    Serial.println(WlanKey);
    myModue = myModue + 1;
  }

  if (myModue > 1) {
    Serial.println("If you want to change the WLAN setup, answer 'y' within 5 seconds! (Keep in mind that these changes will be lost the next time you reboot.)");
  } else {
    Serial.println("If you want to set up the WLAN, answer 'y' within 5 seconds! (Keep in mind that these changes will be lost the next time you reboot.)");
  }


  wlanSetupTimer = millis();

  while (1 == 1) {
    if (newWlan == 0) {
      if (millis() < wlanSetupTimer + 5000) {
        // wait 5 seconds for input

        // save data only when you receive somthing:
        if (Serial.available() > 0) {
          // read the incoming string:
          incomingString = Serial.readStringUntil('\n');
          if (incomingString == "y") {
            Serial.println("WLAN-Name? ");
            incomingString = "";
            newWlan = 1;
          }
        }
      } else {
        newWlan = 3;
      }
    }

    if (newWlan == 1) {
      if (Serial.available() > 0) {
        // read the incoming string:
        incomingString = Serial.readStringUntil('\n');
        // WlanName = String(incomingByte);
        WlanName = incomingString;
        incomingString = "";
        Serial.println("WLAN-Key? ");
        newWlan = 2;
      }
    }
    if (newWlan == 2) {
      if (Serial.available() > 0) {
        // read the incoming string:
        incomingString = Serial.readStringUntil('\n');
        // WlanKey = String(incomingByte);
        WlanKey = incomingString;
        newWlan = 3;
      }
    }
    if (newWlan == 3) {
      newWlan = 4;
      Serial.print("Current WLAN-Name: ");
      Serial.println(WlanName);
      Serial.print("Current WLAN-Key: ");
      Serial.println(WlanKey);
      Serial.println(" ");
      Serial.println("Your Arduino is now starting up");
      break;
    }
  }
}