Jump to content

ilmeko

Members
  • Content Count

    261
  • Joined

  • Last visited

Community Reputation

2 Обычный

About ilmeko

  • Rank
    Постоялец
  • Birthday 07/05/1983

Информация

  • Пол
    Мужчина
  • Город
    Красноярск

Электроника

  • Стаж в электронике
    1-2 года

Recent Profile Visitors

6351 profile views
  1. Доброго времени суток всем. Начал экспериментировать с WiFi модулем ESP8266. Потребовалась необходимость производить запись и чтение в постоянную память данного модуля, для сохранения настроек сети. Но код не отрабатывает должным образом. Имя (ssid) сети содержит нижнее подчеркивание, так вот этот символ не сохраняется в памяти, при последующем чтении его как будто и не было. void setup() { //Подключаемся к сети с сахраненными настройками WiFi.begin(EEPROM_read(0,32).c_str(), EEPROM_read(32,64).c_str()); Serial.print("Connecting to "); Serial.println(EEPROM_read(0,32).c_str()); // Проверяем подключение uint8_t i = 0; while (WiFi.status() != WL_CONNECTED && i++ < 20) { Serial.print("."); delay(500); } if (i == 21) { // Если подключение не произошло, то: Serial.println(""); Serial.print("Could not connect to "); Serial.println(EEPROM_read(0,32).c_str()); delay(500); WiFi.disconnect(); // Отключаем WIFI WiFi.mode(WIFI_AP);// Меняем на режим точки доступа WiFi.softAPConfig(apIP, apIP,(255, 255, 255, 0));// Задаем настройки сети WiFi.softAP(_ssidAP, _passwordAP);// Включаем WIFI в режиме точки доступа Serial.println(""); Serial.print("AP IP address: "); Serial.println(WiFi.softAPIP()); delay(500); char* _ssid = "K_W"; //Переменная для хронения ssid char* _password = "1234"; //Переменная для хронения password EEPROM_write(_ssid, 0); //Пишем ssid в eeprom EEPROM_write(_password, 32); //Пишем password в eeprom delay(500); Serial.println(EEPROM_read(0, 32)); Serial.println(EEPROM_read(32, 64)); } } void EEPROM_write(String buffer, int N) //Запись в eeprom { EEPROM.begin(512); delay(10); for (int L = 0; L < 32; ++L) { EEPROM.write(N + L, buffer[L]); } EEPROM.commit(); } String EEPROM_read (int min, int max) //Чтение eeprom { EEPROM.begin(512); delay(10); String buffer; for (int L = min; L < max; ++L) if (isAlphaNumeric(EEPROM.read(L))) buffer += char(EEPROM.read(L)); return buffer; } Подскажите, что я делаю не так? Весь код отрабатывет должным образом, кроме записи и/или чтения этого злаполучного нижнего подчеркивания(K_W) Ответ в порт после перезагрузки: Connecting to KW ..................... Could not connect to KW AP IP address: 192.168.4.1 KW 1234 Сменить настройки в роутере не выход, хотя и проще.
×
×
  • Create New...