Как отобразить локальный IP-адрес nodemcu esp8266 в Serial, используя arduino - PullRequest
2 голосов
/ 12 марта 2020

enter image description here

Это серийный номер моего arduino, который ничего не показывает, что я делаю неправильно в своем коде? Код Arduino

#include <SoftwareSerial.h>
    #include <ESP8266WiFi.h>
    #include <WiFiClient.h> 
    #include <ESP8266WebServer.h>

    const char* host = "WiFi_Robot4_NodeMCU";
    const char* ssid = "EarthQuakeBot";

    ESP8266WebServer server(80);

    void setup() {
      IPAddress ip;  
      Serial.begin(115200);
       ip = WiFi.localIP();
      Serial.println(ip);
    delay(100);
    // Connecting WiFi

      WiFi.mode(WIFI_AP);
      WiFi.softAP(ssid);
    // Starting WEB-server

         server.on ( "/", HTTP_handleRoot );
         server.onNotFound ( HTTP_handleRoot );
         server.begin();    

    }

    void loop() {

    }

Как отобразить локальный IP-адрес узла mcu esp8266 в Serial с использованием Arduino?

1 Ответ

0 голосов
/ 12 марта 2020

Код работает без задержки, просто скопируйте его (SoftwareSerial закомментирован и добавлена ​​текстовая строка для поддержки печати, никогда не используйте задержку с Esps):

    //#include <SoftwareSerial.h>
    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>

    const char* host = "WiFi_Robot4_NodeMCU";
    const char* ssid = "EarthQuakeBot";

    ESP8266WebServer server(80); 

    void HTTP_handleRoot() {
            // Some code here
            }

    void setup() {
      IPAddress ip;
      Serial.begin(115200);
      ip = WiFi.localIP();
      Serial.print("This is my ip: ");
      Serial.println(ip);

      // Connecting WiFi

      WiFi.mode(WIFI_AP);
      WiFi.softAP(ssid);
      // Starting WEB-server

      server.on ( "/", HTTP_handleRoot );
      server.onNotFound ( HTTP_handleRoot );
      server.begin();
    }

    void loop() {
    }

и отображает (о чудо ) следующее:

This is my ip: 0.0.0.0

Если вы используете nodeMCU в AP_Mode (в качестве точки доступа), вы должны назначить все соответствующие данные самостоятельно. Нет функции назначения, вы делаете это следующим образом:

  Serial.begin(115200);
 .....    
   WiFi.softAPConfig(apIP, apGateway, apSubnet);
   WiFi.mode(WIFI_AP);
   WiFi.softAP(ssid);
 .........
   ip = WiFi.localIP();
   Serial.print("This is my ip: ");
   Serial.println(ip);

Проработайте примеры библиотек и следуйте хорошему учебнику, например: https://tttapa.github.io/ESP8266/Chap01 - ESP8266. html Надеюсь, это поможет вам и другим новичкам

...