Advertisement
Krzyspx

brama4espwifi

Dec 6th, 2016
3,769
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.57 KB | None | 0 0
  1. // set wifi OK
  2.  
  3. #include <BlynkSimpleEsp8266.h>
  4. WidgetTerminal terminal31(V31); //ESP terminal  for test
  5.  
  6. #include <EEPROM.h>
  7.  
  8. void savewifi();
  9. void settypewifi(byte set);
  10. void printread();
  11. void printdef();
  12. void printset();
  13. void getdata();
  14.  
  15. char ssid[] = "aaaa";
  16. char pass[] = "bbbbbbbbbbbbbbbbbbb";
  17. char auth[] = "1111111111111111111111111111";";
  18.  
  19. char t_auth[] = "77778888999911112222333344445555"; // declare same 32 char
  20. char t_ssid[] = "same AP name 123456789"; // declare
  21. char t_pass[] = "same AP password 123456789"; // declare
  22. byte setp;
  23.  
  24. //eeprom adr
  25. #define adrauth 200
  26. #define adrssid 250
  27. #define adrpass 300
  28. #define adrflagawifi 1
  29. const byte defwifi = 3;
  30. const byte  setwifi = 6;
  31.  
  32. String      y_ssid = "";
  33. String      y_pass = "";
  34. String      y_auth = "";
  35. int wpis = 0;
  36. int dl_i = 0;
  37. int dl_j = 0;
  38. int dl_k = 0;
  39.  
  40. BLYNK_WRITE(V31)
  41. {
  42.  String  coscos = param.asStr(); // string from terminal
  43.  switch (wpis)
  44.  {
  45.    case 1: {
  46.        y_auth = coscos;  //from terminal
  47.        dl_i = y_auth.length() + 1;  //change string to char[]
  48.        y_auth.toCharArray(t_auth, dl_i); //change string to char[]
  49.      } break;
  50.  
  51.    case 2: {
  52.        y_ssid = coscos;
  53.        dl_j = y_ssid.length() + 1;
  54.        y_ssid.toCharArray(t_ssid, dl_j);
  55.      } break;
  56.  
  57.    case 3: {
  58.        y_pass = coscos;
  59.        dl_k = y_pass.length() + 1;
  60.        y_pass.toCharArray(t_pass, dl_k);
  61.      } break;
  62.  
  63.    case 5: { // save new  login wifi data
  64.  
  65.        String b = "y";
  66.        if (coscos == b) savewifi();
  67.        b = "n";
  68.        if (coscos == b) {
  69.          terminal31.println(F("-"));
  70.          terminal31.println(F("NOT SAVED"));
  71.          terminal31.flush();
  72.        }
  73.      } break;
  74.    case 6: { // seve mode next login to wifi
  75.        String b = "def";
  76.        if (coscos == b) {
  77.          settypewifi(defwifi);
  78.          terminal31.println(F("next login to def wifi"));
  79.          terminal31.flush();
  80.        }
  81.        b = "set";
  82.        if (coscos == b) {
  83.          settypewifi(setwifi);
  84.          terminal31.println(F("next login to set wifi"));
  85.          terminal31.flush();
  86.        }
  87.      } break;
  88.    default: ;
  89.  }
  90. }
  91.  
  92. BLYNK_WRITE(V35) //button SETUP
  93. {
  94.  if (param.asInt()) {
  95.    wpis++;
  96.    if ((wpis > 9) || (wpis < 1))  wpis = 1;
  97.  
  98.    switch (wpis)
  99.    {
  100.      case 1: {
  101.          terminal31.println(F("print your auth: "));
  102.          terminal31.flush();
  103.        } break;
  104.  
  105.      case 2: {
  106.          terminal31.println(F("print your ssid: "));
  107.          terminal31.flush();
  108.        } break;
  109.  
  110.      case 3: {
  111.          terminal31.println(F("print your pass: "));
  112.          terminal31.flush();
  113.        } break;
  114.  
  115.      case 4: {
  116.          wpis = 5;
  117.          terminal31.println(F("-"));
  118.          terminal31.print(F("your auth: "));
  119.          terminal31.println(t_auth);
  120.          terminal31.print(F("your ssid: "));
  121.          terminal31.println(t_ssid);
  122.          terminal31.print(F("your pass: "));
  123.          terminal31.println(t_pass);
  124.          terminal31.println(F("data wifi OK ? y/n"));
  125.          terminal31.flush();
  126.        } break;
  127.      case 5: { } break;
  128.      case 6: {
  129.          terminal31.println(F("login to ? def/set "));
  130.          terminal31.flush();
  131.        } break;
  132.  
  133.      case 7:    printdef(); break;
  134.      case 8:    printset(); break;
  135.      case 9:    printread(); break;
  136.  
  137.      default: ;
  138.    }
  139.  }
  140. }
  141.  
  142. void printdef() { // print def wifi data
  143.  terminal31.println(" ");
  144.  terminal31.println(F("**** DEF ****"));
  145.  terminal31.println(auth);
  146.  terminal31.println(ssid);
  147.  terminal31.println(pass);
  148.  terminal31.println("**************");
  149.  terminal31.flush();
  150. }
  151.  
  152. void printset() { // print set wifi data
  153.  terminal31.println(" ");
  154.  terminal31.println(F("**** SET ****"));
  155.  terminal31.println(t_auth);
  156.  terminal31.println(t_ssid);
  157.  terminal31.println(t_pass);
  158.  terminal31.println(F("*************"));
  159.  terminal31.flush();
  160. }
  161.  
  162. void savewifi()
  163. {
  164.  EEPROM.begin(512);
  165.  EEPROM.put(adrauth, t_auth);
  166.  EEPROM.put(adrssid, t_ssid);
  167.  EEPROM.put(adrpass, t_pass);
  168.  //  EEPROM.commit();
  169.  EEPROM.end();
  170.  terminal31.println(F("-"));
  171.  terminal31.println(F("save new WiFi data"));
  172.  terminal31.flush();
  173. }
  174.  
  175. void settypewifi(byte set) { // save mode login flag
  176.  EEPROM.begin(512);
  177.  int addr = adrflagawifi;
  178.  EEPROM.put(addr, set);
  179.  //  EEPROM.commit();
  180.  EEPROM.end();
  181. }
  182.  
  183. void printread() { // print login data from EEPROM
  184.  
  185.  getdata();
  186.  terminal31.println(F("-"));
  187.  terminal31.println(F("**** FROM EE ****"));
  188.  terminal31.println(t_auth);
  189.  terminal31.println(t_ssid);
  190.  terminal31.println(t_pass);
  191.  terminal31.println(setp);
  192.  terminal31.println(F("*****************"));
  193.  terminal31.flush();
  194. }
  195. void getdata() {
  196.  EEPROM.begin(512);
  197.  EEPROM.get(adrauth, t_auth);
  198.  EEPROM.get(adrssid, t_ssid);
  199.  EEPROM.get(adrpass, t_pass);
  200.  EEPROM.get(adrflagawifi, setp);
  201.  EEPROM.commit();
  202.  EEPROM.end();
  203. }
  204.  
  205. void WifiBlynk() { //logowanie do wifi i blynk nie wstrzymujące wejścia do pętli głównej
  206.  getdata();
  207.  if (setp == setwifi) {
  208.    Serial.println(F("set wifi login "));
  209.    WiFi.mode(WIFI_STA);
  210.    WiFi.begin(t_ssid, t_pass);
  211.    //    Blynk.config(t_auth);
  212.    Blynk.config(auth); //ten sam auth
  213.    WiFi.status();
  214.    Blynk.connect();
  215.  
  216.  }  else
  217.  {
  218.    Serial.println(F("def wifi login "));
  219.    WiFi.mode(WIFI_STA);
  220.    WiFi.begin(ssid, pass);
  221.    Blynk.config(auth);
  222.    WiFi.status();
  223.    Blynk.connect();
  224.  }
  225.  Serial.print("Connecting to ");    Serial.println(WiFi.SSID());
  226.  Serial.print("IP address: ");  Serial.println(WiFi.localIP());
  227. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement