esp8266学习报告
1、认识esp8266
ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。
以下简称为模块

2、wifi
esp8266与其他电子设备处于同一个网络下才能进行通信,故需要让模块连接网络或创建热点
AT指令
- 前期准备:对ESP8266进行固件烧录(满足所执行的AT指令)
esp8266 download tool 下载链接

烧录完之后,打开安信可串口调试助手–打开串口,出现乱码并以ready则烧录成功,可以发送AT指令调节工作方式

- AT指令集(部分)
本模块可以工作在三种模式:
1、STA
2 、AP
3 、AP+STA
每种模式说明
以AP为例
AT+CWMODE=2 //开启 AP 模式
AT+CWSAP=“ESP8266”,“ct_con”,11,0 //设置模块的 wifi 名称和密码,11为通道号,0为加密方式
AT+CIPSERVER=1,8899 //设置模块服务器端
- TCP
在已经配置好的esp8266基础上建立与客户端的通信
在AP模式下模块提供热点所以须在手机端连接热点,使用网络调试助手,创建TCP服务器并打开端口,连接8266,查看手机ip及端口号
- 发送指令:
串口助手
AT+CIPSTART="TCP","手机ip", //端口号 连接手机端建立的TCP服务器
AT+CIPSEND=0,8 // 进入数据发送模式为8个字节
//进入发送模式
ct_con520 //发送的 8 个数据
手机的网络调试助手
自此介绍了一种方式来发送指令实现通信接下来用软件来实现
Arduion
安装ESP8266的Arduino开发环境
使用arduion配置wifi
#include <ESP8266WiFi.h>
char* ssid = "ESP8266";
char* pass = "ct_con";
int status = WL_IDLE_STATUS;
void setup()
{
while ( status != WL_CONNECTED) {
status = WiFi.begin(ssid, pass); //连接Wi-Fi
delay(1000);
}
}
void loop () {
delay(10000);
}
接收客户端数据
TCP Socket Server
主要处理客户端发来的数据
- 设定端口WiFiServer server(8266)
- 开始监听server.begin(); 【setup】
- 获取一个已连接的 client 【loop】
- while(client == true ){ client.read() server.write() } 读数据
#include <ESP8266WiFi.h>
const char *ssid = "esp8266";
const char *password = "ct_con";
const char *host = "192.168.43.102";//修改为Server服务端的IP,即你电脑的IP,确保在同一网络之下。
WiFiClient client;
const int tcpPort = 8266; //端口
void setup()
{
Serial.begin(115200);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);·
WiFi.begin(ssid, password);//启动
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
//几句提示
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop()
{
while (!client.connected())//若未连接到服务端,则客户端进行连接。
{
if (!client.connect(host, tcpPort))//实际上这一步就在连接服务端,如果连接上,该函数返回true
{
Serial.println("connection....");
delay(500);
}
}
while (client.available())//available()表示是否可以获取到数据
{
char val = client.read();//read()表示从网络中读取数据。
}
}
小结
至此介绍两种配置WiFi的方式前一种方式操作起来较为简单,但需要下载许多的资源。后一种方式需要写代码,有一定难度,但只是写基础的配置较为简单。以上的资料均可在csdn上查阅。
607

被折叠的 条评论
为什么被折叠?



