ESP8266心知天气获取时间 esp8266天气固件_AT

摘要

  • 主要是使用ESP8266通过AT指令获取天气状况
  • 心知天气:我注册的是免费用户,当然还有付费用户,免费用户可以调用国内 370 个主要城市天气实况,包括天气现象文字、代码和气温 3 项数据未来 3 天天气预报,包括白天天气现象文字及代码、晚间天气现象文字及代码、当天最高温度和最低温度、风向风速6 项基本类生活指数,包括穿衣、紫外线强度、洗车、旅游、感冒、运动指数。但是每分钟只能获取20条

硬件方面

准备一个ESP8266,准备正点原子的串口调试助手(因为这个我感觉挺好用的)

软件方面

1.AT固件烧写(已烧写的可以忽略此过程)

  1. 具体过程可以参考我的另一篇博客
  2. 这里的固件就只有一个,地址为0x00000,选择波特率为115200,这里我的8266FLASH是32Mbit
  3. 操作完成点击START开始烧录

2.注册心知天气

https://www.seniverse.com  注册完成后可以得到自己的私钥

ESP8266心知天气获取时间 esp8266天气固件_固件_02

3.AT指令控制8266

AT默认波特率为115200
  1. 首先测试AT(测试 AT 启动):正常启动就会响应OK
  2. 设置8266连接模式
AT+CWMODE_DEF=3(1或者3都行)
1. station 模式 (将8266连接至手机或者是路由器)
	 	2.softAP 模式 (将8266设置为热点,手机可以连接)
	 	3.softAP + station 模式(两种模式兼容)
  1. 将8266连接至路由器或者是手机热点
AT+CWJAP_DEF="WIFI名称","密码"

-------------

ESP8266心知天气获取时间 esp8266天气固件_天气_03

  1. 和心知天气建立TCP连接
AT+CIPSTART="TCP","api.seniverse.com",80

-----------

ESP8266心知天气获取时间 esp8266天气固件_ESP8266_04


5. 开启透传模式

AT+CIPMODE=1			设置成功则返回OK

ESP8266心知天气获取时间 esp8266天气固件_天气_05


6. 发送数据

AT+CIPSEND

------------

ESP8266心知天气获取时间 esp8266天气固件_ESP8266_06


7. 向网站提出请求

GET https://api.seniverse.com/v3/weather/now.json?key=你自己的私钥&location=xian&language=en&unit=c
这里的location可以改为自己的城市(我的是西安)
	语言language使用英语(en)
  • 多去看看心知天气官网的文档

8.网站返回数据

ESP8266心知天气获取时间 esp8266天气固件_天气_07