uPyCraft-micropython教程之获取天气
忙活了一天,终于有时间玩micropython了,一看时间是下午3点半,哭晕。。。。今天学习了一下http的get和post,用get请求完成了一个获取天气的应用,供大家参考学习一.注册网站https://www.seniverse.com
使用它的免费服务,一天可以请求400次,基本天气信息都有了
二. 注册完成后会有API-KEY,请保存下来
三. 准备材料
1. firebeetle-esp32或firebeetle-esp8266主板
2. uPyCraft 0.21版本(7月6日发布)
四 开始实验
1.将uPy_Lib目录下的urequests.py拖动到板子的lib目录下(注意这个文件我做了更改,官方原版不支持params)
图片
2. 使用下面这个代码,保存成py文件,下载到板子上并运行
import urequests as requests
import time
import network
import ujson
API_KEY = 'mggxhv8zbogqbmqj'
UID = "UF239A86CE"
LOCATION = 'beijing'
URL = 'https://api.seniverse.com/v3/weather/now.json'
UNIT = 'c'
LANGUAGE = 'en'
SSID="DFROBOT_AP"
PASSWORD="12345678"
wlan=None
s=None
def connectWifi(ssid,passwd):
global wlan
wlan=network.WLAN(network.STA_IF)
wlan.active(True)
wlan.disconnect()
wlan.connect(ssid,passwd)
while(wlan.ifconfig()=='0.0.0.0'):
time.sleep(1)
return True
def fetchWeather(location):
result = requests.get(URL, params={
'key': API_KEY,
'location': location,
'language': LANGUAGE,
'unit': UNIT
})
return result.text
if __name__ == '__main__':
connectWifi(SSID,PASSWORD)
result = fetchWeather(LOCATION)
print(result)
j=ujson.loads(result)
print("\r\n\r\n")
print(j['results']['location']['name'])
print(j['results']['now']['text'])
print(j['results']['now']['temperature'])
五.实验效果
看看北京的天气如何,竟然下雨了
将LOCATION改为chengdu,就可以查看我大成都天气了,方法简单,就不再上图了
心知天气控制台是不是还要绑定api的呀,怎么测试都不成功~求指点 学习学习 您好,urequests.py这个文件需要做哪些更改?刚开始学习,有点不懂
页:
[1]