一、ESP8266 WiFi模块:
1、简介:
ESP8266是一款串口WiFi模块,内部集成MCU能实现单片机之间串口同信;这款模块简单易学,体积小,便于嵌入式开发。
2、使用方式:
根据原理图,把模块连接到开发板上,通过配置开发板串口便可以向ESP8366写入指令,配置模块不同的工作模式;还可以直接使用USB转TTL模块连接,通过串口助手发送相应指令,同样可以配置ESP8266的相关信息以及工作模式,当然也可以读取产品信息。
ESP8266模块我们可以理解成一个单片机带有WiFi功能,我们使用自己单片机进行控制时,只需要让两个单片机相互之间通信,指令相同,执行相应的操作---------就得知道指令是什么,我们知道格式之后便可以把正确信息读出来以及发送的指令ESP8266模块能够正确识别,才能得到我们想要的数据以及实现相应的功能。
3、指令集使用格式:
测试命令 AT+=? 该命令用于查询设置命令或内部程序设置的参数以及其取值范围
查询命令 AT+? 该命令用于返回参数的当前值。
设置命令 AT+=<…> 该命令用于设置用户自定义的参数值。
执行命令 AT+<cmd> 该命令用于执行受模块内部程序控制的变参数不可变的功能。
注:写指令是需要在后面加上:”\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)
网友评论