ESP8266(ESP-12F) 学习笔记1 -- 网络连接

上一篇在Arduino IDE中把ESP8266环境安装完成后,你肯定迫不及待的想对ESP8266控制器进行编程,用它去联网做些不可思议的事情,那我们就开始吧~


1. 简单了解Arduino Core for ESP8266

不需要被Arduino Core for ESP8266这个不认识的东西吓到,简单来说,它就是Arduino平台上的ESP8266插件,其目的和作用是使开发者能方便的利用Arduino对ESP8266进行编程开发;Arduino Core for ESP8266在Arduino平台上提供了对ESP8266芯片的支持,除了能像操作Arduino开发板那样去调用ESP8266的IO口,I2C,SPI,EEPROM,Servo伺服电机等外围设备,甚至能调用ESP8266相关库来对ESP8266进行wifi基础功能配置,http客户端功能配置,web服务配置,配置TCP/UDP,DNS,甚至是OTA无线更新固件等,这些你都能做到。
在这里插入图片描述
直白点说,只要你有足够的Arduino编程知识,ESP8266对你来说就是10分钟上手的事。

2. ESP8266编程联网

在Arduino IDE上为ESP8266配置联网,只需要用到一个头文件 ESP8266WiFi.h ,在上面配图也可以看到,使用库函数进行联网配置的好处就是不用直接给ESP8266发送AT指令,这对新手来说是十分友好的事情,省去很多繁琐的事情,那么就直接甩代码了:

#include <ESP8266WiFi.h>		//添加ESP8266相关头文件(ESP8266核心头文件)

char *ssid = "WiFi_name";		//路由器/热点名称
char *pass = "123456789";		//路由器/热点密码

void setup()
{
	Serial.begin(115200);					//初始化串口波特率,进行热点连接状态打印
  	Serial.println("");
  	Serial.print("Connecting to ");
  	Serial.println(ssid);
  
	WiFi.begin(ssid,pass);					//ESP8266连接外部路由器/热点
	while(WiFi.status() != WL_CONNECTED)	//当外部热点连接成功时,返回值WL_CONNECTED
    {
      delay(500);
      Serial.print(".");					//模拟WiFi连接状态,持续打印 “.”
    }
    
    Serial.println("");
  	Serial.println("WiFi connected !");		//WiFi连接成功
  	Serial.print("IP address: ");
  	Serial.println(WiFi.localIP());			//打印ESP8266所在局域网的IP地址
}

void loop(){}

没错,简单几句指令就完成了ESP8266的联网。

3. 需要注意的几个点
热点字符串命名

示例代码中的热点名称密码如下

char *ssid = "WiFi_name";		//路由器/热点名称
char *pass = "123456789";		//路由器/热点密码

写成下面这样也是可以的

char ssid[] = "WiFi_name";		//路由器/热点名称
char pass[] = "123456789";		//路由器/热点密码
ESP8266工作模式设置

在连接热点之前,可以将ESP8266配置成AP模式或者STA模式,代码如下:

WiFi.mode(WIFI_AP);		//AP模式
WiFi.mode(WIFI_STA);	//STA模式

但其实不进行工作模式配置也可以成功进行联网配置,或者连接热点前配置成AP模式。

WiFi.status()的返回值

status函数可以在无线终端模式下,获取当前的ESP8266模块网络连接状态。

  • 返回0 = WL_IDLE_STATUS – 返回值为0说明正在尝试连接

  • 返回1 = WL_NO_SSID_AVAIL – 返回值为1说明没有找到设定的SSID的网络

  • 返回2​ = WL_SCAN_COMPLETED – 返回值为2说明网络扫描完毕

  • 返回3 = WL_CONNECTED – 返回值为3说明连接成功成功

  • 返回4 = WL_CONNECT_FAILED – 返回值为4说明连接失败

  • 返回5 = WL_CONNECTION_LOST – 返回值为5说明连接丢失

  • 返回6 = WL_DISCONNECTED – 返回值为6说明未连接

如上,当放回值为 3 (WL_CONNECTED) 时,表示热点连接成功,当热点一直连接不上的时候,不妨试试打印 WiFi.status() 的状态。

热点连接不成功的原因分析
  • 代码中给到的热点名称或密码错误。
  • 热点名称或密码中使用到易混淆的中英文输入的符号,例如 -
  • 所连接的热点没开启广播模式,也就是WiFi信号被隐藏了,连手机设备也不能直接搜到热点信号。

欧啦,其实也没有很难,快速读一遍就上手了,冲冲冲 ~

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GenCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值