ESP8266模块配置

1. ESP8266模块介绍

ESP8266EX 提供了高度集成的 Wi-Fi 解决⽅方案,具有低功耗、设计紧凑、性能可靠等特点。ESP8266EX 是一个完整且⾃自成体系的 Wi-Fi ⽹网络解决⽅方案,能够独⽴立运⾏行,也可以作为从机搭载于其他主机 MCU 运⾏行行。ESP8266EX 在搭载应⽤用并作为设备中唯一的应⽤用处理器时,能够直接从外接 Flash 中启动。内置的⾼高速缓冲存储器有利利于提⾼系统性能,并减少内存需求。当 ESP8266EX 负责⽆无线上⽹网接⼊入承担 Wi-Fi 适配器的任务时,可以将其添加到任何基于微控制器的设计中,连接简单易⾏,只需通过 SPI/SDIO 接口或 I2C/UART 口即可。除了 Wi-Fi 功能,ESP8266EX 还集成了 Tensilica L106 钻⽯石系列列的 32-bit 处理器和片上SRAM,拥有强⼤的片上处理理和存储能⼒。ESP8266EX 可通过 GPIO ⼝集成传感器器及其他设备,降低前期的开发成本,并在运行中最少地占⽤用系统资源。乐鑫提供的软件开发包(SDK) 包含多种应⽤用的示例例代码。ESP8266EX ⾼高度片内集成,包括天线开关,射频 balun,功率放大器,低噪声接收放大器,滤波器和电源管理模块。因此整个解决⽅方案仅需极少的外部电路路,并且所占的 PCB空间达到最低。配置 ESP8266EX 的系统表现出来的领先特征有:

• 节能在睡眠/唤醒模式之间的快速切换

• 配合低功率操作的⾃自适应⽆无线电偏置

• 前端信号的处理功能

• 故障排除

• 消除蜂窝/蓝牙/DDR/LVDS/LCD 干扰的无线电系统共存特性

ESP8266EX 功能结构图如图

在这里插入图片描述

ESP8266EX芯片参数
在这里插入图片描述

2. WI-FI工作模式

WIFI模块两种工作方式:AP即无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个AP,其它无线终端 可以通过AP相互连接。 STA即无线站点,是一个无线网络的终端。如笔记本电脑、PDA等。

工作在STA的模式下,这是一种基木的组网方式,由一个AP和许多STA组成,如下图。其特点是AP处于中心地位,STA之间的相互通信都通过AP转发完成。该模式下,WIFI模块工作在STA(CLIENT)模式。通过适当的设置,COM的数据与WIFI的网路数据相互转换。如下图:
在这里插入图片描述
工作在AP的模式下,工作在AP模式下,手机、PAD、电脑等设备可以直接连上模块,可以很方便对用户设备进行控制,如下图:
在这里插入图片描述

3. AT指令介绍

详情请转 AT指令一览

4. 配置

4.1 硬件连接

在这里插入图片描述

4.2 串口工具

这里使用的是由正点原子开发的XCOM串口工具,也可以使用其他的串口工具

在这里插入图片描述

4.3 AT指令配置

4.3.1 基础AT指令配置

确认模块正常工作

基础AT指令
命令描述
AT测试AT启动
AT+RST重启模块
AT+GMR查看版本信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3.2 WIFI功能指令配置

Wifi 功能 AT 指令
命令描述
AT+CWMODE选择WIFI应用模式
AT+CWJAP加入AP
AT+CWLAP列出当前可用AP
AT+CWQAP退出与AP的连接
AT+CWSAP设置AP模式下的参数
AT+CWLIF查看已接入设备的IP
  1. 设置WiFi工作模式

调试测试模块在STA模式下的透传设置

①AT+CWMODE=1设置WiFi模式

AT+CWMODE=1

响应:OK
在这里插入图片描述

②AT+RST模块重启

AT+RST

响应:OK
在这里插入图片描述

③AT+CWJAP=“ssid“,”pwd“连接路由器

例如:AT+CWJAP=“test”,“11111111”

连接当前环境的WIFI热点(热点名,密码)

(如果是在你本机上模拟服务器,则这个wifi热点名必须是你的电脑连接到的WIFI)

AT+CWJAP="test","11111111"

WIFI CONNECTED
WIFI GOT IP

OK

在这里插入图片描述

④AT+CIPMUX=0 设置单路连接模式

AT+CIPMUX=0

OK

在这里插入图片描述

⑤查询模块IP: AT+CIFSR

AT+CIFSR
+CIFSR:STAIP,"192.xxx.xxx.xxx"
+CIFSR:STAMAC,"e8:xx:xx:x9:xx:x0"

OK

在这里插入图片描述

⑥使用网络调试助手,创建一个临时服务器(模拟服务器数据接收),这里使用的是正点原子的XNET网络调试助手
在这里插入图片描述

⑦AT+CIPSTART=“TCP”,“xxx.xxx.xxx.xxx”,xxxx 建立TCP连接(这是网络调试助手的虚拟IP地址号)

例:AT+CIPSTART=“TCP”,“192.168.31.181”,9421

如果环境中有过多网络设备,以防万一,端口号可以设置大一些

AT+CIPSTART="TCP","192.168.31.181",9421
CONNECT

OK

在这里插入图片描述

⑧开启透传模式AT+CIPMODE=1

AT+CIPMODE=1

OK

在这里插入图片描述

⑨开始透传AT+CIPSEND

AT+CIPSEND

OK

>

在这里插入图片描述

现在就可以相互发数据了
在这里插入图片描述
在这里插入图片描述

⑩+++退出透传模式

透传模式下,所有AT指令都没有响应,指令也当做数据发送到服务器
在这里插入图片描述
在这里插入图片描述

+++后服务器收不到数据

如需发送数据重新进入透传即可AT+CIPSEND
在这里插入图片描述
在这里插入图片描述

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
配送一个自己写的串口驱动程序 用DMA接收数据 接收完会产生一个空闲中断 由此可判断接收完一个包的数据 再配送一个我自己写的动态内存管理 跟ESP8266的驱动 在项目中测试460800的波特率 30kb一秒的数据接收 一包1024个字节 每包需要应答15字节的情况下 AT指令处理是使用多个缓冲级来处理模块发送过来的数据 分别有模块应答缓冲级 跟等待应答的缓冲级、被忽略的AT指令集的缓冲级(例如注册一个SEND OK\r\n则模块应答此条指令立刻清除缓冲级释放内存无需等待超时直接忽略)还有需要回调的缓冲级(则出现此指令调用回调函数)都是通过注册的方式来实现 如果出现一包跟指令被分到一个包内 AT处理函数一样可以搜索到AT指令 使用strstr函数来实现 函数的缓冲级都是指针不占用内存 使用动态内存管理的方式 有数据则创建内存放入数据作为一个缓冲级 如果模块应答的数据在规定的时间内没有响应则删除此缓冲级 函数前都有注释介绍 下面介绍一些常用的函数: at_init初始化一些变量已经串口 at_time_task使用定时器回调 1毫秒回调一次 用来计数超时的指令缓冲&等待超时的计数 at_clear_all 在模块开机的时候可能会有很多乱数据 可以在初始化完毕后使用此函数清除所有缓冲级 释放所有内存 at_processing处理AT的应答超时的指令(做删除释放内存的动作),还有处理等待的AT指令 此函数一定要不断循环处理 可以加入到定时器 目前我实验是在UCOS上的 所以直接创建个任务来执行此函数 当程序在等待某个AT指令的时候此函数会寻找接收的缓冲级是否有等待的AT指令 at_cmd_cb_hand回调处理函数 如果接收缓冲级出现某个已经注册的指令则回调注册时所填写的函数地址 at_send_cmd 发送一个AT指令 可以用跟printf一样使用 %d等等 at_send_data 发送数据的时候所使用 需要填写长度 at_cmd_ignore_register 注册一个被忽略的AT指令 带入参数 *s (例如填写一个"SEND OK" 则模块应答的此条指令直接被忽略 释放内存 被忽略之前会检查此缓冲级会不会带有别的AT指令需要回调的) at_cmd_ignore_cancel 取消被忽略的指令 则取消已经注册的被忽略的AT指令 at_cmd_cb_register AT指令的回调注册 例如参数填写"+IPD",函数名a 则出现+IPD的时候回调a函数 a函数有类型 在at.h文件里面有 at_cmd_cb_cancel注销回调你懂得 at_wait_cmd 等待一个AT指令集或者超时则立刻返回 等待途中会不断调用OS的延迟程序 让系统能有时间去执行其他任务 使用方法例如{ at_send_cmd("AT+UART=%u,%u,%u,%u,%u\r\n",baudrate,databit,stopbit,parity,flow_control); return (esp_error)at_wait_cmd("\r\nOK\r\n",2000,NULL); } at_error at_wait2_cmd(char *s,char *s2,u16 timeout,u8 *index) 此函数是等待两个AT指令集 如果出现一个则立刻返回 返回值h文件有介绍 AT_DONE则出现此条指令 index参数则提取应答的缓冲首地址 使用at_buf_get函数获取首地址 使用完后要调用at_free_buf来清除并释放这个缓冲级 at_buf_len_get查询此应答的缓冲级长度 如果在index填写NULL则不需要缓冲级首地址 直接清除释放缓冲级

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

长空有风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值