【问题标题】:How to display the local IP of nodemcu esp8266 in Serial using arduino如何使用arduino在串行中显示nodemcu esp8266的本地IP
【发布时间】:2020-03-12 14:57:33
【问题描述】:

这是我的 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() {

    }

如何使用Arduino串口显示nodemcu esp8266的localIP?

【问题讨论】:

  • 在 Serial.begin 之后没有立即打印序列。添加 100 毫秒的小延迟
  • 先生,我添加了延迟,但它不起作用
  • 检查我的编辑先生
  • 延迟应该在begin之后之前打印
  • 延迟(100);那么连续先生?

标签: arduino arduino-uno arduino-ide arduino-esp8266 arduino-c++


【解决方案1】:

代码工作没有延迟,只需复制它(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

如果在 AP_Mode 下使用 nodeMCU(作为接入点),您必须自己分配所有相关数据。没有自己分配功能,您可以这样做:

  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 希望这对您和其他初学者有所帮助

【讨论】:

  • 此代码适用于以下(经过测试的)环境 Windows(7-10)、MacOSX、Arduino IDE 1.8.12 和 ESP8266Community Edition1.6.3。因此,请检查您的环境和 com 端口(驱动程序) 它应该至少打印“这是我的 IP”这一行。打开文件->首选项->编译器警告全部并发布您收到的所有警告/错误(编辑您的问题)如果没有详细的反馈,帮助很难
  • 你用什么USB芯片? CH340需要一些时间
猜你喜欢
  • 1970-01-01
  • 2021-05-25
  • 1970-01-01
  • 2017-12-12
  • 2017-01-17
  • 1970-01-01
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多