micro:bit天氣訊息積木

micro:bit加上WIFI模組,便可以很方便的讓micro:bit上網路搜尋想要的資料。Obloq是DFRobot出品的WIFI模組,透過序列埠可以和micro:bit或是Arduino溝通,有了WIFI模組,便補足了micro:bit在IoT上的不足。


雖然DFRobot提供了Obloq的積木供大家使用,但這些積木比較陽春,若要給國中小的學生透過這些積木上網路爬蟲,搜索資料,其實還是有其困難度,於是我便來慢慢補足這些積木的不足,首先就是提供一些積木讓micro:bit可以很輕鬆的取得各大城市的天氣資料。

OpenWeatherMap這個網站,https://openweathermap.org/,提供世界各城市的目前天氣、未來的預報,以及過去的歷史天氣資料,而且提供API,查詢目前天氣是免費的,但是要註冊,取得它的API Key,才能查詢世界各城市的天氣。在這個網站註冊好之後,點選「API Keys」就可以看到建立好的Key,請把它記下來。

接下來請在MakeCode安裝我寫好的擴展積木,擴展積木的網址:https://github.com/lioujj/pxt-Obloq_http

安裝好之後,會產生如下的積木,可以查詢的資料內容有:城市名稱、目前天氣、天氣詳述、溫度、濕度、當日最高溫、最低溫、風速、日出時間、日落時間.....等資料。查詢某個城市的天氣資料,必須靠城市編號,例如,台北的城市編號是1668341,所以,如果想要查台北的天氣資料,必須在積木裡輸入台北的城市編號,並輸入註冊網站取得的Key,便可以查詢台北天氣了。而各大都市的城市編號可下載這個檔案,解壓縮後它是個文字檔,由這個文字檔來查詢城市編號,城市編號檔案連結點:http://bulk.openweathermap.org/sample/city.list.json.gz

我設計的積木,也稍微列了幾個世界都市的城市編號,以及台灣各縣市的城市編號,方便大家不用查找。

使用範例:

在micro:bit的LED上顯示出查詢到的城市名稱以及目前天氣狀況。我用了一個陣列,儲存了想要查詢的所有都市的城市編號,並讓micro:bit的LED重複顯示這些都市名稱以及目前的天氣。

如果有燈板的話,便能很華麗的顯示這些天氣資訊了。