5 Get the city weather
The development of preparation
- 1. First, ensure the integrity of the current firmware dependency package
help(“modules”)
- The effect is shown below. If you do not have two dependency packages on the diagram, please burn the latest firmware.
- Make sure you're connected to the Internet. if not , please see 2 WiFI wireless connection
Prepare the weather API
- 1 I'm using the national weather service API here, http://www.weather.com.cn/data/cityinfo/101200801.html # 101200801 (In jingzhou city),See details of city ids:http://mobile.weather.com.cn/js/citylist.xml
- 2. Request to return Json data sample
{ "weatherinfo": { "city": "jingzhou", "cityid": "101200801", "img1": "n7.gif", "img2": "d2.gif", "ptime": "18:00", "temp1": "16℃", "temp2": "23℃", "weather": "Rain turns shade" } }
We can analyze these json files and write an example like this
example analyse
import urequests from microbit import * def get_weather(): url = "http://www.weather.com.cn/data/cityinfo/101200801.html" rsp = urequests.get(url) data = eval(rsp.text) # eval function is used to convert string type json data from -> to python dictionary type weather = data["weatherinfo"] L = weather["temp1"] #lowest temperature H = weather["temp2"] #the highest temperature return "L:" + L[:-1] + " H:" + H[:-1] #Data sample-> L:16 H:23 display.scroll(get_weather()) # L[:-1] H[:-1]Remove ℃ ℉ and two special symbol, can appear otherwise coding errors