Как в топике передать локальный ip esp8266?

Тема в разделе "ESP8266, ESP32", создана пользователем Drunkbarbarian, 19 авг 2020.

  1. Drunkbarbarian

    Drunkbarbarian Нерд

    Добрый вечер, коллеги. Столкнулся с проблемой передачи 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);
     
  2. SergeiL

    SergeiL Оракул Модератор

    Да тут все просто ;)
    Разбираемся с типами данных и не путаем char и string.
    Описания buffer нет в примере, поэтому можем только предполагать...
     
  3. b707

    b707 Гуру

    блин, зачем так сложно то? пользуйтесь встроенными функциями, все в 2 строчки делается:
    Код (C++):
    IPAddress ip = WiFi.localIP();
    String IP_local = ip.toString();
     
  4. Drunkbarbarian

    Drunkbarbarian Нерд

    Мне походу надобно в char переводить, чтоб топиком потом в телефон уходило. Пока не выходит каменный цветок.
    Где смотреть встроенные функции.А то пока в новинку все.
     
    Последнее редактирование: 20 авг 2020
  5. Drunkbarbarian

    Drunkbarbarian Нерд

    Короче, допер сам. Всем спасибо!
    Код (C++):
    IPAddress ip = WiFi.localIP();
    String IPlocal = ip.toString();
    char *IP_local = &IPlocal[0];
    client.publish("IP_MOZG1", IP_local);
     
  6. parovoZZ

    parovoZZ Гуру

    проще:
    Код (C++):
    char *IP_local = IPlocal;
     
  7. b707

    b707 Гуру

    опять переусложнили
    Код (C++):
    IPAddress ip = WiFi.localIP();
    String IPlocal = ip.toString();
    client.publish("IP_MOZG1", IPlocal.c_str());
     
  8. Drunkbarbarian

    Drunkbarbarian Нерд

    А вот это вот IPlocal.c_str() как понять. Это перевод str в char? Или публикуем в топике String строку. Требуется объяснение.
     
  9. b707

    b707 Гуру