Блок имени ESP в сети (нужна помощь)

Создаем свой блок. Вопросы, помощь знатоков.
Ответить
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

Блок имени ESP в сети (нужна помощь)

Сообщение Phazz »

Как мне вывести имя сети на вход? Если задаю имя сети через параметр, все компилируется. А вот через вход выдает ошибку. Как с этим бороться?

Отправлено спустя 1 час 39 минут 27 секунд:
Сама ошибка

Код: Выделить всё

C:\Users\Админ\AppData\Local\Temp\flprog\pr67\pr67.ino: In function 'void loop()':

pr67:60:27: error: no matching function for call to 'WiFiClass::setHostname(String&)'

In file included from C:\Users\�����\Desktop\PortableFLProg_6-3-1_Win64\ideV5\portable\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi\src/WiFi.h:32:0,

                 from C:\Users\Админ\AppData\Local\Temp\flprog\pr67\pr67.ino:2:

C:\Users\�����\Desktop\PortableFLProg_6-3-1_Win64\ideV5\portable\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi\src/WiFiSTA.h:76:10: note: candidate: bool WiFiSTAClass::setHostname(const char*)

     bool setHostname(const char * hostname);

          ^

C:\Users\�����\Desktop\PortableFLProg_6-3-1_Win64\ideV5\portable\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi\src/WiFiSTA.h:76:10: note:   no known conversion for argument 1 from 'String' to 'const char*'

Несколько библиотек найдено для "WiFi.h"
 Используется: C:\Users\Админ\Desktop\PortableFLProg_6-3-1_Win64\ideV5\portable\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Не используется: c:\Users\Админ\Desktop\PortableFLProg_6-3-1_Win64\ideV5\libraries\WiFi
exit status 1
no matching function for call to 'WiFiClass::setHostname(String&)'
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

Блок имени ESP в сети (нужна помощь)

Сообщение aidar_i »

Преобразуйте на чар
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

Блок имени ESP в сети (нужна помощь)

Сообщение Phazz »

[ref=#000080]aidar_i[/ref],
А можно пример увидеть как это делается? Если не трудно
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

Блок имени ESP в сети (нужна помощь)

Сообщение aidar_i »

Любой мой блок возьмите, дисплеи, например, где вход строка есть.
Там в декларации пишите новую переменную, например, char ArrHostname [30]; длину сами поставьте сколько надо.
Конвертацию ставите перед используемой функцией, в сетап или лооп,
ArrHostname это вход блока строкой
StrHostname.toCharArray(ArrHostname, StrHostname.length() +1);
ArrHostname вставляете куда надо.
Например
setHostname(ArrHostname);
Переменные можете сами обозвать как хотите.

Здесь буфер подсчитывается сама по размеру строки:
// Define
String str = "This is my string"; //Эт а строка и есть вход

// Length (with one extra character for the null terminator)
int str_len = str.length() + 1;

// Prepare the character array (the buffer)
char char_array[str_len];

// Copy it over
str.toCharArray(char_array, str_len);
Ответить

Вернуться в «Разработка пользовательских блоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя