初识ESP8266(一)————接入点与无线终端模式

一.模式介绍

1.接入点模式:在接入点模式下,ESP8266相当于一个无线路由器,能够向外发送wifi信号,其他手机电脑能够连接此wifi信号,但是不提供Internet服务。

2.无线终端模式:在无线终端模式下,ESP8266和手机电脑一样,相当于一个终端,能够连接其他的wifi信号,在同一wifi信号下的终端可以进行通讯。

二.函数介绍

1.WiFi.softAP(ssid,password)

参数:ssid为要创建的wifi信号的名称,password为创建wifi信号的密码

作用:在接入点模式下通过此函数来创建wifi信号

2.WiFi.softAPIP()

作用:在接入点模式下通过此函数来打印ESP8266的IP地址,此时IP地址为固定的

3.WiFi.begin(ssid,password)

参数:ssid为接入无线的名称,password为接入无线的密码

作用:在无线终端模式下,接入以ssid为名称,password为密码的无线信号

4.WiFi.status()

作用:在无线终端模式下,返回esp8266接入无线状态,如果正常接入无线,那么返回WL_CONNECTED。

5.WiFi.localIP()

作用:在无线终端模式下,返回此时ESP8266的IP地址,此时的IP地址由无线路由器分配

6.WiFi.SSID()

作用:在无线终端下,返回接入的无线名称

7.wifiMulti.addAP("HUAWEI Mate 30","1234567890")

作用:添加多个无线名称密码,ESP8266自动选择信号最强的连接

8.wifiMulti.run()

作用:与WiFi.status()类似,返回接入最强无线的状态

三.代码

//接入点模式
#include <ESP8266WiFi.h>
void setup(void)
{
  const char *ssid="GCR";
  const char *password="12345678";
  Serial.begin(9600);
  //创建名为GCR,密码为12345678的wifi信号
  WiFi.softAP(ssid,password);
  Serial.print("Access Point:");
  Serial.println(ssid);
  Serial.print("Address:");
  //在接入点模式下打印IP地址
  Serial.println(WiFi.softAPIP());
}
void loop(void)
{
  
}
//无线终端模式
#include <ESP8266WiFi.h>
void setup(void)
{
  int i=0;
  const char *ssid="HUAWEI Mate 30";
  const char *password="1234567890";
  Serial.begin(9600);
  //接入名为HUAWEI Mate 30,密码为1234567890的wifi
  WiFi.begin(ssid,password);
  Serial.print("Connect to:");
  Serial.println(ssid);
  //判断WiFi是否接入,如果没接入就等待
  while(WiFi.status()!=WL_CONNECTED)
  {
    delay(1000);
    Serial.print(i++);
    Serial.print("  ");
  }
  Serial.println(" ");
  Serial.println("Connect OK");
  //接入之后打印IP地址
  Serial.println(WiFi.localIP());
}
void loop(void)
{
  
}
//自动连接最强wifi
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
//创建一个类,可以调用这个类的函数
ESP8266WiFiMulti wifiMulti;
void setup(void)
{
  int i=0;
  Serial.begin(9600);
  //添加这两个WiFi,哪个信号强就连接哪个
  wifiMulti.addAP("HUAWEI Mate 30","1234567890");
  wifiMulti.addAP("HUAWEI-B91AN8","ghs13934488149");
  Serial.println("Connecting...");
  //判断信号最强的wifi是否接入,如果没接入就等待
  while(wifiMulti.run()!=WL_CONNECTED)
  {
    delay(1000);
    Serial.print(i++);
    Serial.print("  ");
    }
    Serial.println("  ");
    //接入成功,打印接入wifi的名称和IP地址
    Serial.println(WiFi.SSID());
    Serial.println(WiFi.localIP());
  }
void loop(void)
{
  
  }

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值