世界及台灣各縣市天氣查詢積木

之前曾經為了micro:bit以及OBLOQ寫了一個查詢世界各城市天氣現況的積木,最近把它改寫成為可在7697的BlocklyDuino Editor使用的積木,同樣也是承襲了MakeCode方便、好上手的的特性,我特地設計成適合國中小學生方便使用的積木,讓大家能用7697快速的查詢各地天氣狀況,而且加以顯示。

相關閱讀:我寫的micro:bit使用的天氣查詢積木

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

接下來要安裝我寫的7697的天氣查詢擴展積木。本來我的積木從20200223之後會自動更新,不需要重新安裝,但因為這個天氣查詢積木有用到一些額外的libraries,所以必須重新安裝過我寫的20200327以後版本的積木,相關安裝積木的方法請參考:7697擴展積木的安裝

安裝完後,便會看到如下的積木:

積木的詳細下拉選項:

範例一:

將7697搭配7697:bit,7697:bit上有個OLED面板,可以很方便的測試並顯示各地的天氣資訊。

7697:bit是ICShop為了讓7697能夠和micro:bit共同一些共同的套件而設計的一個擴展板,相關的產品資訊如下:

https://www.icshop.com.tw/product_info.php/products_id/27780

WIFI連線後,首先需要使用「網路擷取天氣資訊」這個積木,輸入「城市編號」以及「金鑰」後,便會從https://openweathermap.org/,這個網站取得該城市編號的天氣資訊,在這個範例中,城市編號2643743是英國倫敦。台北的城市編號是1668341,所以,如果想要查台北的天氣資料,必須在積木裡輸入台北的城市編號,並輸入註冊網站取得的Key,便可以查詢台北天氣了。各大都市的城市編號可下載這個檔案,解壓縮後它是個文字檔,由這個文字檔來查詢城市編號,城市編號檔案連結點:http://bulk.openweathermap.org/sample/city.list.json.gz

結果畫面:

範例二:

按下A鍵,會顯示苗栗縣的天氣資訊;按下B鍵,則會顯示新竹市的天氣資訊。在這裡,為了方便大家不用查城市編號,於是我設計了二個積木,一個是「取得台灣各城市編號」的積木,另一個則是取得一些國際大都市的城市編號積木,我把一些常見的國際都市以及台灣各縣市的城市編號做成下拉選單,因此可以很方便的取得城市編號。

結果畫面:

苗栗縣天氣資訊

按下A鍵便會顯示苗栗縣天氣資訊

新竹天氣資訊

按下B鍵便會顯示新竹的天氣資訊