ESP-01S 模块
- 接线
- AT命令
- ESP01S联网测试并获取心知天气
- 测试流程
接线
引脚 | 接线 |
---|---|
3V3 | 接电源 |
RST | 外部复位引脚,低电平复位。可以悬空或者接高电平。 |
EN | 接高电平,高电平使能。 |
TX | 接CH340的RX |
RX | 接CH340的TX |
IO0 | 悬空:Flash Boot,工作模式。下拉:UART Download,下载模式。 |
IO2 | 通用IO,内部已上拉 |
GND | 接地 |
AT命令
命令 | 描述 |
基本命令 | |
AT | 测试AT启动 |
AT+GMR | 查看版本信息 |
AT+CWMODE | 选择WIFI应用模式 |
AT+RST | 重启模块 |
客户端模式 | |
AT+CWLAP | 列出当前可用路由器接入点 |
AT+CWJAP | 加入接入点 |
AT+CWQAP | 退出接入点 |
AT+CIPSTART | 建立 TCP, 连接服务器 |
AT+CIPCLOSE | 关闭 TCP |
AT+CIFSR | 获取本地 IP 地址 |
AT+CIPMODE | 设置模块传输模式 |
AT+CIPSEND | 发送数据 |
服务器模式 | |
AT+CWSAP | 查询和设置 AP(server) 模式下的WIFI名称、密码、加密方式 |
AT+CWLIF | 查看已接入设备的 IP地址 |
AT+CIPMUX | 启动多连接 |
AT+CIPSERVER | 配置为服务器默认端口333 |
AT+CIPSTO | 设置服务器超时时间 |
AT+ CIPSTATUS | 获得连接状态 |
ESP01S联网测试并获取心知天气
按照接线表格,使用USB-TTL接入电脑。
注意:
- 使用外部电源供电,可以使用单节3V锂电池供电。
- 注意地线需要连接到一起。
- 在使用串口调试助手时,需要选择加回车换行。
测试流程
- 发送AT,测试AT开发模式启动 ;
- 发送AT+GMR :查看固件版本信息;
- 发送AT+CWMODE=1 :设置WIFI应用模式;1——Station模式,2——AP模式,3——AP兼Station模式。AP指作为接入点,station指作为客户端站;
- 发送AT+RST :重启;
- 发送AT+CWLAP :列出可用的接入点;
- 发送AT+CWJAP=“SSID”,“PWD”:加入接入点;这里输入热点名称和密码,加入连接点。注意:连接苹果手机时,需要在苹果手机的个人热点中打开最大兼容性。如果WIFI名称含有中文,暂时没研究出如何连接。
- 注册心知天气,通知心知天气获取城市的天气。注册完成后,会分配公钥和私钥,在后面获取天气时会使用到。
- 发送AT+CIPSTART=“TCP”,“api.seniverse.com”,80:使用TCP方式访问心知天气,80端口;
- 发送AT+CIPMODE=1:设置模块的传输模式为透传模式。
- 发送AT+CIPSEND:开启数据传输。
- 在心知天气的访问量统计下面有接口,点击天气实况的右边,跳转到接口地址页面,只需要复制接口地址,在后面发送的时候更换秘钥和城市,即可获取对应接口的参数。
这里的接口地址:https://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c
- 发送GET https://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=Yangzhou&language=zh-Hans&unit=c
:获取扬州的天气实况。返回的是JSON格式的数据,这里使用串口接收数据,中文部分会显示乱码,这是因为发送端和接收端的编码格式不一致导致的,接收的数据解析出来编码是utf8格式,在串口或者LCD上显示都是乱码。在代码处理时需要将其转码。
这里可以将GET后面的链接输入浏览器,查看获取的具体数据。