Когда я запускаю код ниже, будет работать только одна строка. Если я закомментирую часть записи / чтения SSID, пароль будет работать. Если я закомментирую часть пароля, SSID будет работать. Но, если я оставлю оба в WiFi, никогда не подключится. Я жестко запрограммировал SSID и пароль в WiFi.begin () для проверки работоспособности и, конечно же, он подключается. Так что это должно быть как-то связано с тем, как я пишу или читаю более одной строки, используя SPIFFS. Однако я верну обе строки правильно, так что, по крайней мере, я получу Serial.println (). Я также за любые предложенные альтернативы SPIFFS, так как я не слишком взволнован использованием функций, которые возвращают Strings … Я бы предпочел иметь функцию, которая возвращает char *, конечно, но мой C довольно ржавый. Я также пробовал различные терминаторы \ r затем \ 0 на уровне записи и чтения, пока ничего не получалось, также пытался обрезать строку. Я пропустил основы, но я делаю SPIFFS.begin () и формат (не в таком порядке, конечно), который, кажется, работает, так как мне кажется, что Serial.println () возвращается обратно, похоже, правильно. У меня установлена последняя версия arduino IDE и SPIFFS, использующая win10 x64. Вот код:
if (SPIFFS.begin())
{
Serial.println("SPIFFS.begin()...");
File f = SPIFFS.open(file, "w");//write...
if (!f)
{
Serial.println("failed to open.");
}
else//yes, file exists...
{
//found file write to it..
f.println("SomeSSID");//ssid...
f.println("MyPassword");//password...
f.close();
//now lets read the file..
f = SPIFFS.open(file, "r");
if (!f)
{
Serial.println("file failed to open..");
}
else
{
//read file...
String SSID = f.readStringUntil('\n');
String PASSWORD = f.readStringUntil('\n');
f.close();
//this didn't help
/*SSID.trim();
PASSWORD.trim();*/
ssid = (char*)SSID.c_str();
pwd = (char*)PASSWORD.c_str();
Serial.println(ssid);
Serial.println(pwd);
}
}
}
//does not work..
WiFi.begin(ssid, pwd);
@dandavis — спасибо! В итоге я просто изменил его на: const char * ssid = f.readStringUntil (‘\ n’). C_str ();
Других решений пока нет …