一、ESP8266 WiFi模块:

1、简介:ESP8266是一款串口WiFi模块,内部集成MCU能实现单片机之间串口同信;这款模块简单易学,体积小,便于嵌入式开发。

2、使用方式:根据原理图,把模块连接到开发板上,通过配置开发板串口便可以向ESP8366写入指令,配置模块不同的工作模式;还可以直接使用USB转TTL模块连接,通过串口助手发送相应指令,同样可以配置ESP8266的相关信息以及工作模式,当然也可以读取产品信息。ESP8266模块我们可以理解成一个单片机带有WiFi功能,我们使用自己单片机进行控制时,只需要让两个单片机相互之间通信,指令相同,执行相应的操作---------就得知道指令是什么,我们知道格式之后便可以把正确信息读出来以及发送的指令ESP8266模块能够正确识别,才能得到我们想要的数据以及实现相应的功能。

3、指令集使用格式:测试命令        AT+=?         该命令用于查询设置命令或内部程序设置的参数以及其取值范围

查询命令         AT+?           该命令用于返回参数的当前值。

设置命令         AT+=   该命令用于设置用户自定义的参数值。

执行命令        AT+   该命令用于执行受模块内部程序控制的变参数不可变的功能。

注:写指令是需要在后面加上:”\r\n”

4、指令集:

(1) 基础AT指令AT 测试指令

AT+RST 重启模块

AT+GMR 查看版本信息

ATE 开关回显功能

AT+RESTORE 恢复出厂设置

AT+UART 设置串口配置

(2) WiFi功能AT指令

AT+CWMODE 选择 WIFI 应用模式

AT+CWJAP 加入 AP

AT+CWLAP 列出当前可用 AP

AT+CWQAP 退出与 AP 的连接

AT+CWSAP 设置 AP 模式下的参数

AT+CWLIF 查看已接入设备的 IP

AT+CWDHCP 设置 DHCP 开关

AT+CWAUTOCONN 设置 STA 开机自动连接到 wifi

AT+CIPSTAMAC 设置 STA 的 MAC 地址

AT+CIPAPMAC 设置 AP 的 MAC 地址

AT+CIPSTA 设置 STA 的 IP 地址

AT+CIPAP 设置 AP 的 IP 地址

AT+SAVETRANSLINK 保存透传连接到 Flash

AT+CWSMARTSTART 启动智能连接

AT+CWSMARTSTOP 停止智能连接

(3) TCP/IP工具箱指令AT+CIPSTATUS 获得连接状态

AT+CIPSTART 建立 TCP 连接或注册 UDP 端口号

AT+CIPSEND 发送数据

AT+CIPCLOSE 关闭 TCP 或 UDP

AT+CIFSR 获取本地 IP 地址

AT+CIPMUX 启动多连接

AT+CIPSERVER 配置为服务器

AT+CIPMODE 设置模块传输模式

AT+CIPSTO 设置服务器超时时间

AT+CIUPDATE 网络升级固件

AT+PING PING 命令

其实就实用而言,很多指令是用不上的,也不用在意有些搞不清楚,只需要简单了解就好了。

二、ESP8266发送数据到服务器:

1、选择WiFi应用模式:AT+CWMODE =  1 , Station 模式

2 , AP      模式

3 , AP+Station 模式

2、重启生效:AT+RST,返回值是OK

3、接入路由:AT+CWJAP = "ssid","password”

ssid是路由器的名字;

password是路由器密码。

4、连接到服务器:AT+CIPSTART = "TCP","192.168.1.102",8001

TCP是通信协议,也可以是UDP ;

192.168.1.102服务器地址;

8001是服务器通道。

5、开启透传模式AT+CIPMODE=1;

6、发送数据AT+CIPSEND==len;发送指定长度的数据

发送的数据需要有一定的格式,如果没有一定的格式,那么不好处理信息,一般都会采用json格式来进行通信,因此我们的要在上传之前得把我们的数据弄成json的格式。具体怎么封装,可以参考别人的程序,这些都是比较常用的数据格式。

三、如何实现单片机接受服务器的信息:ESP8266不仅可以发送数据到服务器端,还可以接受服务器发过来的信息,如此一来,我们便可以进行远程操控,这个像不像物联网呢。在这里大家可以考虑用串口把服务器穿回来的数据打印出来看看,到底是什么,是不是我们想的那么高深,不要去想这个多么的难,看看数据在想其他的。

连接上服务器的之后,ESP8266模块和服务器之间便建立一种联系,可以相互之间发送数据。我们成功将数据发送到服务器上之后,ESP8266便会返回一串字符,表明发送数据成功:

SEND OK

(空行)

Recv 61 bytes

因此我们要给自己的数据约定一个格式,例如:约定在’ : ’ 后‘ # ’号前是我们的有效数据(当然其他的也是可以的),在单片机上相应处理数据,把取出来就好了,其他的我们可以不用管。

续、、、、、、(2017、12、29)