一、需要的硬件
esp8266+usb转ttl
二、接线很简单,usb转ttl的TX和esp8266的RX相连,RX和TX,3.3v连3v,GND连G。后面就是烧MQTT+AT的固件,AT固件汇总 | 安信可科技 (ai-thinker.com)这个就是固件下载的地址。我下载的是下方的固件。
三、将固件烧录到esp8266板子上。烧录的工具flash_download_tools_v3.6.8,网上能找到下载。点上方绿色的...将下载的固件.bin文件加载上去,后面是0x0000.下方配置和我一样就行。(要吧esp8266使用usb转ttl连上电脑),最后点右下角START按钮,就能烧录,烧录固件有点慢,慢慢等。
四、注册心知天气
在心知天气中注册应该账号,这个简单,人很懒,懒得弄图片,反正就很简单。
五、就是连接串口发送AT指令
//测试AT指令(所有AT指令需要换行)
发送:AT
接收:OK
//esp8266复位,接收很长得数据,反正末尾是ready
发送:AT+RST
接收:....
...ready
//配置模式为STA
发送:AT+CWMODE=1
接收:OK
//连接wifi,(注意如果是手机热点需要吧AP频段改成2.4Hz频段,否则esp8266找不到wifi)
发送:AT+CWJAP="wifi名称","wifi密码"
接收:WIFI CONNECTED
WIFI GOT IP
OK
//设置时间地域
发送:AT+CIPSNTPCFG=1,8
接收:OK
//获取时间
发送:AT+CIPSNTPTIME?
接收:+CIPSNTPTIME:Tue Mar 19 14:20:44 2024
//我这里设置了一个开启单连接模式(可以不用这步,如果不行在加)
发送:AT+CIPMUX=0
接收:OK
//连接心知天气服务端
发送:AT+CIPSTART="TCP","api.seniverse.com",80
接收:CONNECT
OK
//开启透传模式
发送:AT+CIPMODE=1
接收:OK
//开始发送数据
发送:AT+CIPSEND
接收:OK
>
//发送GET指令来获取数据
发送:GET https://api.seniverse.com/v3/weather/now.json?key=私钥&location=chengdu&language=en&unit=c
接收:{"results":[{"location":{"id":"WM6N2PM3WY2K","name":"Chengdu","country":"CN","path":"Chengdu,Chengdu,Sichuan,China","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"Foggy","code":"30","temperature":"20"},"last_update":"2024-03-19T15:02:12+08:00"}]}
总结
还是挺简单得就是在连接wifi得时候没有设置频段一直连接不上wifi。