有很多伙伴可能并没有时间和经历去学习单片机例程,所以便有了AT固件的出现,它最主要的一个优点就是其中有很多程序已经写好在bin文件中,只要在乐鑫科技的官网下载并烧录到单片机,就可以用到很多功能,而且在乐鑫官网也会有技术支持和技术参考,今天我们就来一起学习如何用AT固件来获取天气信息:
1.在项目开始前,我们需要准备的硬件有:ESP32开发板、USB数据线*2、杜邦线、USB串行转换器,
关于硬件连接可以在乐鑫官网查到
2.现在硬件已经就位,就可以开始在乐鑫官网下载AT固件bin文件了(注:在下载和调试时需要注意的一点是下载和调试的端口是不同的,针对不同的ESP32模组,也会有不同的端口,而我在这里给大家展示的是ESP32-WROOM-32 系列,如有不同系列模组可以在去乐鑫官网查看不同端口)
值得注意的是在下载时USB串行转换器上的RX和TX要与ESP32上的RX和TX反接,否则烧录之后在调试步骤会出现错误。下载好后USB串行转换器和ESP32需要重新接线,ESP32上的16、17端口分别连接串行转换器上的TX和RX,这样才能在调试过程不出错。
3.下载好AT固件后进入串口调试助手用一些基本命令看固件是否下载烧录成功
每输入一个命令都回复ok即为安装成功。
4.确定固件安装成功后开始联网,使用“AT+CWMODE?”命令查看WiFi的默认模式,它的模式有
-
0: 无 Wi-Fi 模式,并且关闭 Wi-Fi RF
-
1: Station 模式
-
2: SoftAP 模式
-
3: SoftAP+Station 模式
再使用AT+CWMODE命令可以修改模式,例:
AT+CWMODE=1,即可换为Station模式,其他以此类推。
5.换好模式后可以开始进行联网:先用”AT+CWSTATE?“命令查看单片机是什么状态:
-
-
0: ESP32 station 尚未进行任何 Wi-Fi 连接
-
1: ESP32 station 已经连接上 AP,但尚未获取到 IPv4 地址
-
2: ESP32 station 已经连接上 AP,并已经获取到 IPv4 地址
-
3: ESP32 station 正在进行 Wi-Fi 连接或 Wi-Fi 重连
-
4: ESP32 station 处于 Wi-Fi 断开状态
-
之后可以继续使用”AT+CWJAP?“命令对单片机进行联网,例如你的WiFi账号是zbcd,密码是12345678,就可以输入“AT+CWJAP="zbcd",“12345678” ”,即可连接成功。
6.网络连接好后就可以开始对天气信息进行采集:
(1).使用AT+CIPSTART设置ESP32的传输模式、远程IP地址、端口;例:AT+CIPSTART="TCP","tianqiapi.com",80
(2)使用AT+CIPMODE指令设置是否开启透传接收模式,0为开,1为关;例:AT+CIPMODE=1
(3)再使用AT+CIPSEND指令确定是否数据是否已经发送到协议栈;例:AT+CIPSEND
(4)最后发送一个HTTP GET请求,对需要访问的天气网站调出JSON数据,即可完成使用AT获取天气信息;例:GET https://www.tianqiapi.com/free/day?appid=********&appsecret=******(这里的*号需要去易客云API注册获取ID和密钥)
最后就会获得一个JSON码,即为天气信息获取成功。