Grove - UART Wifi V2
Grove - UART WiFi 是一个串行收发器模块,采用了无处不在的 ESP8285 物联网 SoC。通过集成的 TCP/IP 协议栈,该模块让您的微控制器只需几行代码就能与 WiFi 网络交互。每个 ESP8285 模块都预装了 AT 命令集固件,这意味着您可以发送简单的文本命令来控制设备。该 SoC 具有集成的 WEP、WPA/WPA2、TKIP、AES 和 WAPI 引擎,可以作为带有 DHCP 的接入点,可以加入现有的 WiFi 网络,并具有可配置的 MAC 和 IP 地址。
版本
参数 | V1.0 | V2.0 |
---|---|---|
产品发布日期 | 2016年6月24日 | 2018年3月26日 |
WiFi 芯片 | ESP8266 | ESP8285 |
天线类型 | 外置 | 板载 |
LED | 3个LED-电源/WiFi/AT命令 | 2个LED-电源/WiFi |
按钮 | 1个按钮:短按复位,长按进入UART启动模式 | 2个按钮分别对应这两个功能 |
您可能会问 ESP8266 和 ESP8285 之间有什么区别。ESP8285 是 ESP8266 的更新版本,增加了内置的 1MB 闪存。除此之外,它们几乎相同。
特性
- Grove 4针连接器(RX、TX、VCC、GND)
- 802.11 b/g/n 协议(2.4GHz)
- WiFi Direct(P2P)、软AP
- 支持三种模式:AP、STA 和 AP+STA 共存模式
- 集成 TCP/IP 协议栈
- LwIP(轻量级IP)
- 集成低功耗32位CPU,可重新编程为应用处理器
- 集成温度传感器
- 串行 UART 接口
- 多队列 QoS 管理
- 在 < 2ms 内唤醒并传输数据包
- 金属屏蔽
- 板载陶瓷天线
- 复位开关
有关 Grove 模块的更多详细信息,请参考 Grove 系统
规格参数
- 输入电压:3V / 5V
- 波特率:115200
- 基于 ESP8285 ESP-06 SoC
- AT 固件:esp_iot_sdk_v1.1.0
- 将红色 WiFi LED 注册到 ESP8285 wifi 状态 LED。
- AT 命令集
- SDIO 1.1/2.0、SPI、UART
- 五种电源状态:OFF、DEEP_SLEEP、SLEEP、WAKEUP 和 ON。
- 待机功耗 < 1.0mW(DTIM=3)
- 集成 TR 开关、巴伦、LNA、功率放大器和匹配网络
- 集成 PLL、稳压器、DCXO 和电源管理单元
- 在 802.11b 模式下输出功率为 +19.5dBm
- 断电泄漏电流 <10uA
- CCMP(CBC-MAC、计数器模式)、TKIP(MIC、RC4)、WAPI(SMS4)、WEP(RC4)、CRC 的硬件加速器
- WPA/WPA2 PSK 和 WPS 驱动程序
- A-MPDU 和 A-MSDU 聚合以及 0.4ms 保护间隔
- 尺寸:25.43mm x 20.35mm
超低功耗技术
ESP8285 采用专利电源管理技术设计,可实现极低的能耗,该技术可减少非必要功能并调节睡眠模式。有五种电源状态:
- OFF
- DEEP_SLEEP - 实时时钟运行,但芯片的所有其他部分都关闭
- SLEEP - 功耗小于 12uA,只有实时时钟和看门狗运行。芯片将在 MAC、主机、RTC 或外部中断时唤醒。
- WAKEUP - 系统正在从睡眠状态转换到开启状态。晶体振荡器和 PLL 被启用。
- ON - 功耗小于 1.0mW(DTIM = 3)或 0.5mW(DTIM = 10)。
实时时钟可以编程为在指定时间段内唤醒 ESP8285。
DTIM 周期越高,设备可能睡眠的时间越长,因此设备可能节省的电力就越多。
为了满足移动应用和可穿戴电子设备的功耗要求,为了降低整体功耗,可以在固件中自定义 PA 输出功率。
应用创意
- 家庭自动化
- 传感器网络
- 网状网络
- 可穿戴电子设备
- 婴儿监视器
- 网络摄像头
- 工业无线控制
- WiFi信标
- 智能电源插头
- 位置感知应用
入门指南
在本节之后,您只需几个步骤就可以让Grove - UART WiFi运行起来。
与Arduino一起使用
如果这是您第一次使用Arduino,我们强烈建议您在开始之前查看Arduino入门指南。
所需材料
Seeeduino Lite | Grove-OLED | Grove-UART Wifi |
---|---|---|
![]() | ![]() | ![]() |
立即购买 | 立即购买 | 立即购买 |
硬件
-
步骤1. 将Grove-UART Wifi连接到Seeeduino Lite的SERIAL端口。
-
步骤2. 将Grove-OLED连接到Seeeduino Lite的I2C端口。
-
步骤3. 通过Micro-USB线缆将Seeeduino Lite连接到PC。
软件
-
步骤1. 从Github下载128X64 OLED库。
-
步骤2. 参考如何安装库为Arduino安装库。
-
步骤3. 打开Arduino IDE并将以下代码复制到新的草图中。
// test grove - uart wifi
// scan ap and display on Grove - OLED 0.96'
// Loovee @ 2015-7-28
#include <Wire.h>
#include <SeeedOLED.h>
char ap_buf[30][16];
int ap_cnt = 0;
void setup()
{
Serial1.begin(115200);
delay(3000);
Wire.begin();
SeeedOled.init(); // initialze SEEED OLED display
SeeedOled.clearDisplay(); // clear the screen and set start position to top left corner
SeeedOled.setNormalDisplay(); // Set display to normal mode (i.e non-inverse mode)
SeeedOled.setPageMode(); // Set addressing mode to Page Mode
}
void loop()
{
ap_cnt = 0;
SeeedOled.clearDisplay();
SeeedOled.setTextXY(3,0);
SeeedOled.putString("Wifi Scan...");
cmd_send("AT+CWLAP");
wait_result();
display_ap();
delay(5000);
}
// send command
void cmd_send(char *cmd)
{
if(NULL == cmd)return;
Serial1.println(cmd);
}
// wait result of ap scan
// +CWLAP:(3,"360WiFi-UZ",-81,"08:57:00:01:61:ec",1)
void wait_result()
{
while(1)
{
LOOP1:
char c1=0;
if(Serial1.available()>=2)
{
c1 = Serial1.read();
if(c1 == 'O' && 'K' == Serial1.read())return; // OK means over
}
if('('==c1)
{
while(Serial1.available()<3);
Serial1.read();
Serial1.read();
Serial1.read();
int d = 0;
while(1)
{
if(Serial1.available() && '"' == Serial1.read()); // find "
{
while(1)
{
if(Serial1.available())
{
char c = Serial1.read();
ap_buf[ap_cnt][d++] = c;
if(c == '"' || d==16)
{
ap_buf[ap_cnt][d-1] = '\0';
ap_cnt++;
goto LOOP1;
}
}
}
}
}
}
}
}
// display
void display_ap()
{
char strtmp[16];
sprintf(strtmp, "get %d ap", ap_cnt);
SeeedOled.clearDisplay(); // clear
SeeedOled.setTextXY(3,3); // Set the cursor to Xth Page, Yth Column
SeeedOled.putString(strtmp); // Print the String
delay(2000);
int cnt = ap_cnt;
int offset = 0;
while(1)
{
SeeedOled.clearDisplay();
if(cnt>=8)
{
for(int i=0; i<8; i++)
{
SeeedOled.setTextXY(i,0); // Set the cursor to Xth Page, Yth Column
SeeedOled.putString(ap_buf[8*offset+i]); // Print the String
}
cnt-=8;
offset++;
}
else
{
for(int i=0; i<cnt; i++)
{
SeeedOled.setTextXY(i,0); // Set the cursor to Xth Page, Yth Column
SeeedOled.putString(ap_buf[8*offset+i]); // Print the String
}
return;
}
delay(2000);
}
}
- 步骤4. 上传演示程序。如果您不知道如何上传代码,请查看如何上传代码。
然后您将看到OLED显示您周围的wifi AP。
固件更新
我们的模块板在出厂设置时已经烧录了固件,如果您愿意,可以烧录其他固件。点击这里下载出厂设置固件的源代码。
所需材料
- 固件更新需要一个USB转串口转换器,如果您不知道在哪里购买,可以选择UartSBee V5。
- 需要一根Grove跳线转换线,我们也有销售。
- 需要一根micro USB线(A型转C型)。
硬件
步骤1. 将Grove跳线转换线的一端连接到Grove - Uart Wifi上的grove插座,另一端连接到UartSBee V5,如下图所示。
步骤2. 然后按照下图连接线缆:
软件
步骤1. 下载烧录工具和固件
步骤2. 按住按钮直到红色LED指示灯亮起,这意味着它已准备好烧录固件。
步骤3. 启动FLASH DOWNLOAD TOOLS文件中的可执行文件(双击)进行如下步骤的配置:
1. 从下载的固件bin文件中选择所需文件。
2. 选择SpiAutoSet复选框。
3. 选择COM端口和波特率。
4. 点击START按钮
- 在固件烧录过程中将显示进度条。
- 最后,固件烧录完成。
AT命令
AT命令快速入门
硬件
所需材料和硬件连接与固件更新相同
让我们进入软件部分
软件
您可以使用任何您喜欢的串口工具,我们这里使用Arduino。请确保您已将USB转串口转换器连接到您的PC。
步骤1. 打开Arduino IDE,点击Tools选择相应的Port。
步骤2. 然后点击右上角的
步骤3. 按照下图设置Serial Monitor。特别是:2-选择Both NL & CR,3-将波特率设置为115200
步骤4. 在1-命令行中输入您需要的AT命令,然后点击4-Send按钮。您将看到如上图所示的返回信息。
基本AT命令
命令 | 描述 |
---|---|
AT | 测试AT启动 |
AT+RST | 重启模块 |
AT+GMR | 查看版本信息 |
AT+GSLP | 进入深度睡眠模式 |
ATE | 启用/禁用AT命令回显 |
AT+RESTORE | 恢复出厂设置 |
AT+UART | UART配置(已弃用) |
AT+UART_CUR | UART当前配置(不保存到Flash) |
AT+UART_DEF | UART默认配置(保存到Flash) |
AT+SLEEP | 睡眠模式 |
AT+RFPOWER | 设置RF发射功率 |
AT+RFVDD | 根据VDD33设置RF发射功率 |
WiFi AT命令
命令 | 描述 |
---|---|
AT+CWMODE | WIFI模式(已弃用) |
AT+CWMODE_CUR | 当前WIFI模式(不保存到Flash) |
AT+CWMODE_DEF | 默认WIFI模式(保存到Flash) |
AT+CWJAP | 连接到AP(已弃用) |
AT+CWJAP_CUR | 当前连接到AP(不保存到Flash) |
AT+CWJAP_DEF | 默认连接到AP(保存到Flash) |
AT+CWLAP | 列出可用的AP |
AT+CWQAP | 断开与AP的连接 |
AT+CWSAP | 配置softAP(已弃用) |
AT+CWSAP_CUR | 配置当前softAP(不保存到Flash) |
AT+CWSAP_DEF | 配置默认softAP(保存到Flash) |
AT+CWLIF | 列出连接到softAP的站点 |
AT+CWDHCP | 启用/禁用DHCP(已弃用) |
AT+CWDHCP_CUR | 当前启用/禁用DHCP(不保存到Flash) |
AT+CWDHCP_DEF | 默认启用/禁用DHCP(保存到Flash) |
AT+CWAUTOCONN | 开机时自动连接到AP |
AT+CIPSTAMAC | 设置站点mac地址(已弃用) |
AT+CIPSTAMAC_CUR | 设置站点mac地址(不保存到Flash) |
AT+CIPSTAMAC_DEF | 设置站点mac地址(保存到Flash) |
AT+CIPAPMAC | 设置softAP mac地址(已弃用) |
AT+CIPAPMAC_CUR | 设置softAP mac地址(不保存到Flash) |
AT+CIPAPMAC_DEF | 设置softAP mac地址(保存到Flash) |
AT+CIPSTA | 设置站点IP地址(已弃用) |
AT+CIPSTA_CUR | 设置站点IP地址(不保存到Flash) |
AT+CIPSTA_DEF | 设置站点IP地址(保存到Flash) |
AT+CIPAP | 设置softAP IP地址(已弃用) |
AT+CIPAP_CUR | 设置softAP IP地址(不保存到Flash) |
AT+CIPAP_DEF | 设置softAP IP地址(保存到Flash) |
AT+CWSTARTSMART | 启动SmartConfig |
AT+CWSTOPSMART | 停止SmartConfig |
TCP/IP AT命令
命令 | 描述 |
---|---|
AT+CIPSTATUS | 获取连接状态 |
AT+CIPSTART | 建立TCP连接或注册UDP端口 |
AT+CIPSEND | 发送数据 |
AT+CIPSENDEX | 发送数据,如果遇到或"\0",数据将被发送 |
AT+CIPSENDBUF | 将数据写入TCP发送缓冲区 |
AT+CIPBUFRESET | 重置段ID计数 |
AT+CIPBUFSTATUS | 检查TCP发送缓冲区状态 |
AT+CIPCHECKSEQ | 检查特定段是否已发送 |
AT+CIPCLOSE | 关闭TCP/UDP连接 |
AT+CIFSR | 获取本地IP地址 |
AT+CIPMUX | 设置多连接模式 |
AT+CIPSERVER | 配置为服务器 |
AT+CIPMODE | 设置传输模式 |
AT+SAVETRANSLINK | 将透明传输链接保存到Flash |
AT+CIPSTO | 设置ESP8266作为TCP服务器运行时的超时时间 |
AT+CIUPDATE | 通过网络升级固件 |
AT+PING | Ping一个IP地址或主机名 |
原理图在线查看器
资源
-
[PDF] PDF格式原理图
-
[Zip] Eagle格式原理图
-
[数据手册] 乐鑫科技 ESP8285
-
[更多阅读] http://www.esp8266.com
-
[更多阅读] ESP-06
-
[更多阅读] Hackaday上的ESP8266
-
[更多阅读] https://nurdspace.nl/ESP8266
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。