1.3 NodeMCU开发板的接入点模式

物联网开发教程

  • 接入点模式(Access Point, 也称 AP)

在这种模式下,NodeMCU会建立WIFI给其他设备进行连接

  • 相关函数和库
    #include <ESP8266WiFi.h>

这是ESP8266WIFI库,后面有一些函数是来自这个库

  • WiFi.softAP(id, password);

这是启动接入点模式的函数,来自ESP8266WiFi库

第一个参数是建立的WiFi的名称,第二个参数是建立的WiFi的密码

  • WiFi.softAPIP()

调用这个函数可以返回ESP8266的IP地址

  • 例程
#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库

const char *id = "ESP8266";   // 这里定义将要建立的WiFi名称。此处以"ESP8266"为示例
                                   // 您可以将自己想要建立的WiFi名称填写入此处的双引号中

const char *password = "12345678";  // 这里定义将要建立的WiFi密码。此处以12345678为示例
                                    // 您可以将自己想要使用的WiFi密码放入引号内
                                    // 如果建立的WiFi不要密码,则在双引号内不要填入任何信息

void setup() {
  Serial.begin(9600);              // 启动串口通讯

  WiFi.softAP(id, password);     // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。
                                   // 括号中有两个参数,ssid是WiFi名。password是WiFi密码。
                                   // 这两个参数具体内容在setup函数之前的位置进行定义。


  Serial.print("Access Point: ");    // 通过串口监视器输出信息
  Serial.println(id);                // 告知用户NodeMCU所建立的WiFi名
  Serial.print("IP address: ");      // 以及NodeMCU的IP地址
  Serial.println(WiFi.softAPIP());   // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址
}

void loop() { 
}

这里的loop中并没有其他内容

  • 第一次烧录失败

报错是esp8266could not open port ‘COM10’

然后就拔掉了USB接口然后重新接上,中间等了一段时间,然后又能烧录成功

难道是插得太久没有烧录导致ESP8266进入睡眠模式,然后串口就打不开了?

eg:之前插着有很长一段时间

  • 第二次烧录成功

进入串口监视器

物联网接入java_单片机

但是这个时候串口没有显示任何内容,这是因为开发ESP8266时每次打开窗口监视器程序不会自动复位

物联网接入java_物联网_02

这个时候可以按下ESP8266板子上的RST复位按键进行手动复位,可以发现串口更新了内容

物联网接入java_stm32_03

前面的乱码是正常现象,可以不用管

后面的输出IP得益于这个语句中的函数

WiFi.softAPIP()

现在可以使用电脑连接ESP8266建立的WiFi

物联网接入java_IP_04

然后输入之前在程序之中设置的密码输入进行连接

连接成功以后可以打开cmd窗口,输入Ping空格IP地址

物联网接入java_单片机_05

输入的IP地址应当和在串口监视器中显示的一样

物联网接入java_IP_06

显示Ping成功,注意一定是要连接到这个WiFi才能Ping成功,否则会显示请求超时

[外链图片转存中…(img-YMyxGGn6-1640695829625)]

显示Ping成功,注意一定是要连接到这个WiFi才能Ping成功,否则会显示请求超时