上回合已经实现了HTTP POST,对于HTTP协议,两种最常被用到的方法是:GET 和 POST,这篇就说下GET,就利用ESP8266,来GET一个天气,我使用的是心知天气心知天气介绍
官网:https://www.seniverse.com/

当然注册认证这些也是必要的,我略过了
还需要一个KEY,去控制台申请一个


这个KEY后边有用
然后直接奔文档:https://www.seniverse.com/docs

直接看天气类接口文档

示例

直接点示例
返回数据如下

{
"results": [
{
"location": {
"id": "C23NB62W20TF",
"name": "西雅图",
"country": "US",
"path": "西雅图,华盛顿州,美国",
"timezone": "America/Los_Angeles",
"timezone_offset": "-07:00"
},
"now": {
"text": "多云", //天气现象文字
"code": "4", //天气现象代码
"temperature": "14", //温度,单位为c摄氏度或f华氏度
"feels_like": "14", //体感温度,单位为c摄氏度或f华氏度
"pressure": "1018", //气压,单位为mb百帕或in英寸
"humidity": "76", //相对湿度,0~100,单位为百分比
"visibility": "16.09", //能见度,单位为km公里或mi英里
"wind_direction": "西北", //风向文字
"wind_direction_degree": "340", //风向角度,范围0~360,0为正北,90为正东,180为正南,270为正西
"wind_speed": "8.05", //风速,单位为km/h公里每小时或mph英里每小时
"wind_scale": "2", //风力等级,请参考:http://baike.baidu.com/view/465076.htm
"clouds": "90", //云量,单位%,范围0~100,天空被云覆盖的百分比 #目前不支持中国城市#
"dew_point": "-12" //露点温度,请参考:http://baike.baidu.com/view/118348.htm #目前不支持中国城市#
},
"last_update": "2015-09-25T22:45:00-07:00" //数据更新时间(该城市的本地时间)
}
]
}也很简单
先用网络调试助手试试先找个域名和端口

连接

发送(记得最后要有个回车换行,key换成自己的)
GET https://api.seniverse.com/v3/weather/now.json?key=**********&location=beijing&language=zh-Hans&unit=c

看到有乱码,是中文编码不同的问题,我们调整为英文试下

不错的
再用usb转串口控制esp8266

用在线解析工具解析一下

可以看到天气文本是 clear,翻译成汉语就是晴朗的,天气代码为1,查一下这个天气代码代表什么

晴,夜间的晴,使用单片机的时候可以直接用代码对比数组
我要赚赏金
