Как установить char * из EEPROM в качестве значения по умолчанию для поля ввода html

Я работаю над администрированием для своего IoT на базе ESP8266.
Я могу редактировать некоторые настройки через веб-сервер и сохранять их в EEPROM.

Но я застрял при установке значения формы ввода по умолчанию, которое я читаю из EEPROM. Я сохранил SSID в EEPROM, я могу прочитать его обратно и подключиться к нему, так что я знаю, что он написан правильно.

Serial.print(); печать: секретный WiFi (SSID Wi-Fi).
Но как только я пытаюсь установить его как значение по умолчанию для текстового поля формы ввода, я получаю:

���?etwi0��?�!@P��?`��?0��?B!@���?���?��?���?
void EEPROMwriteChar(int address, String to_save) {
int how_long= to_save.length();

EEPROM.write(address, how_long); // zápis délky řetězce na nultou adresu
EEPROM.commit();

for ( int i = 0; i <= how_long; i++) {
if (i < delka) {
EEPROM.write((address+ 1 + i), to_save[i]);
}
else {
EEPROM.write((address+ 1 + i), '\0'); // ukončení řetězce
}
EEPROM.commit();
}
}

char* EEPROMreadChar(int address) {
int how_long = EEPROM.read(address);
char value[how_long];

if (how_long > 0) {
for (int i = 0; i <= how_long; i++) {
value[i] = EEPROM.read((address + 1 + i));
}
return value;
}
}

Это функции чтения и записи.

Функция вывода HTML:

String formWifiSettings() {

char* WSSID = EEPROMreadChar(0);
Serial.print("SSID HTML:");
Serial.println(WSSID);

String html = "<form action='/wifi' method='POST' id='wifi_form'> \n";

//...some more html code...

html += "<td><input name='WIFI_SSID' type='text' id='WIFI_SSID' size='40'     maxlength='63' ";

html += "value='";
html += String(WSSID);
html += "'";

html += " /></td> \n";

//...some more html code again...

return html;
}

Серийный выход:

SSID HTML:secretwifi

html:
input name="WIFI_SSID" id="WIFI_SSID" size="40" maxlength="63" value="���?etwi0��?�!@P��?`��?0��?B!@���?���?��?���?" type="text"

Даже без String(); конверсия это фигня.

Может быть, это глупый вопрос, но я два дня гуглю его, как сумасшедший, но безуспешно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]