Добрый вечер, коллеги. Столкнулся с проблемой передачи IP с устройства на телефон. Свое не выходит. Мыкался в поисках варианта на просторах интернета, че-то воще ничего нет. Прошу помочь. Код (C++): int ip1 = WiFi.localIP()[0]; int ip2 = WiFi.localIP()[1]; int ip3 = WiFi.localIP()[2]; int ip4 = WiFi.localIP()[3]; char *IP1; char *IP2; char *IP3; char *IP4; IP1 = itoa(ip1,buffer,10); IP2 = itoa(ip2,buffer,10); IP3 = itoa(ip3,buffer,10); IP4 = itoa(ip4,buffer,10); String IP_local = (IP1+"."+IP2+"."+IP3+"."+IP4); client.publish("IP_MOZG1", IP_local);
Да тут все просто Разбираемся с типами данных и не путаем char и string. Описания buffer нет в примере, поэтому можем только предполагать...
блин, зачем так сложно то? пользуйтесь встроенными функциями, все в 2 строчки делается: Код (C++): IPAddress ip = WiFi.localIP(); String IP_local = ip.toString();
Мне походу надобно в char переводить, чтоб топиком потом в телефон уходило. Пока не выходит каменный цветок. Где смотреть встроенные функции.А то пока в новинку все.
Короче, допер сам. Всем спасибо! Код (C++): IPAddress ip = WiFi.localIP(); String IPlocal = ip.toString(); char *IP_local = &IPlocal[0]; client.publish("IP_MOZG1", IP_local);
опять переусложнили Код (C++): IPAddress ip = WiFi.localIP(); String IPlocal = ip.toString(); client.publish("IP_MOZG1", IPlocal.c_str());
А вот это вот IPlocal.c_str() как понять. Это перевод str в char? Или публикуем в топике String строку. Требуется объяснение.
привыкайте находить документацию сами https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/