认识ESP8266 WIFI模块
用ESP8266 WIFI模块创建一个热点
ESP8266 -12F
Arduino IDE (版本要大于1.6.7)
Basic
ESP8266-12f型号的wifi模块由安信可科技公司研发,esp8266模块其实可以理解为一块单片机在内部电路上接上一个wifi模块供单片机使用,它的内部mcu是领先业界的Tensilica L106超低功耗的32位微型mcu,该mcu的特性如下:
ESP8266模块性价比非常的不错,很适用用于无线方面的电子开发,该模块是高性能无线SOC,成本极低的同时能提供最大的使用性能,为wifi嵌入功能方面的开发提供了无限可能。
如上图,esp8266的wifi模块与Arduino UNO相比,体积小、性能高、自带wifi功能。
一般开发esp8266有以下几种形式:
这个课程,我们主要以使用Arduinio IDE开发esp8266内部mcu为主要的方法。
esp8266-12f wifi模块引脚介绍:
如上图:引脚有22个引脚
| esp8266-12f引脚标志 | 作用 |
|---|---|
| RST | 用于复位模块 |
| ADC | 用于A/D转换 |
| EN | 使能引脚 |
| IO16 | GPIO16引脚 |
| IO14 | GPIO14引脚 |
| IO12 | GPIO12引脚 |
| IO13 | GPIO13引脚 |
| VCC | 用于3.3V电源输入 |
| CS0 | 用于片选 |
| MISO | 主机输入,从机输出 |
| IO9 | GPIO9引脚 |
| IO10 | GPIO10引脚 |
| MOSI | 主机输出,从机输入 |
| SCLK | 模块时钟 |
| GND | 用于接电源负极 |
| IO15 | GPIO15引脚 |
| IO2 | GPIO2引脚 |
| IO0 | GPIO0引脚 |
| IO4 | GPIO4引脚 |
| IO5 | GPIO5引脚 |
| RXD | 串口UART0_RXD |
| TXD | 串口UART0_TXD |
1.打开Arduino IDE
2.选择对应的开发板,此步骤可以参照:**你的wifi我作主----DIY一个wifi杀手 **
3.导入所需要的库文件
#include
#include
4.设置该 wifi热点的ip地址
IPAddress Local(10,0,0,10);
IPAddress Gateway(10,0,0,1);
IPAddress Subnet(255,255,255,0);
5.将设置好的ip地址写入模块
WiFi.softAPConfig(Local, Gateway, Subnet);
6.设置该WIFI热点的名称
String Name = ("steemit_cha0s0000");
const char *APName = Name.c_str();
7.设置wifi热点的密码
String Pass = ("cha0s0000");
const char *APPass = Pass.c_str();
8.将设置好的wifi账号密码写入模块并生成热点
WiFi.softAP(APName, APPass);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
9.打印到串口调试
Serial.print("name is : ");
Serial.println(Name);
Serial.print("pass is : ");
Serial.println(Pass);
10.整合程序
#include
#include
void setup() {
Serial.begin ( 115200 );
Serial.println("");
// 设置内网
IPAddress Local(192, 168, 1, 1);
IPAddress Gateway(192, 168, 1, 1);
IPAddress Subnet(255, 255, 255, 0);
WiFi.softAPConfig(Local, Gateway, Subnet);
String Name = ("EFBC81");
const char *APName = Name.c_str();
String Pass = ("steemit_cha0s0000");
const char *APPass = Pass.c_str();
WiFi.softAP(APName, APPass);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
Serial.print("name is : ");
Serial.println(Name);
Serial.print("pass is : ");
Serial.println(Pass);
}
void loop() {
}
11.上传程序
注意:上传程序的时候,需要按一下esp8266-12f模块的RST键
12.测试效果: