政府資料開放平台提供了許多政府的公開資料,如台灣氣象、空氣品質、水文、雨量等,這些資料可以開放給社會公眾,任何人都可以自由出版使用,不論是要拿來出版或是做其他的運用都不加以限制,這就是Open Data。所以,就以大家所關心的空氣品質資料,將它製作成7697的積木,透過拖拉幾個積木,便可以隨時讀取台灣各地不同地方的空氣品質。
台灣空氣品質指標資料網站https://data.gov.tw/dataset/34827
實際的空氣品質指標網站,資料網站為http://opendata2.epa.gov.tw/AQI.json ,裡面包含台灣各地約共83個監測站的空氣品質監測資料,這些資料每一小時會更新一次。
這些資料因為沒有縮排,以致於看起來有點雜亂無章,若是將這些資料拷貝到以下所列的這個網站,https://jsoneditoronline.org/ ,它會將這些看似雜亂無章的JSON檔整理成有秩序的資料。以下圖為例,便可以看出苗栗縣頭份鎮的各項空氣品質AQI、PM10、PM2.5等指標,以及空氣中各個有害成份,如二氧二硫(SO2)、一氧化碳(CO)等有害氣體的濃度。
以上這些資料,如果要用7697來抓取,對於不熟悉如何擷取資料的人來說會有些難度,於是我設計了一些抓取這些資料的積木,透過拖拉幾個簡單的積木,便能查詢全台灣的83個監測站資料,即使是國中、小學生也能輕易上手。如果你之前已經安裝過20200327版本的積木,那麼這個「空氣品質」積木會自動安裝到BlocklyDuino Editor,所以不需要重新安裝積木。如果之前沒有安裝過「吉哥積木」,那麼請參考安裝積木的方法:7697擴展積木的安裝
每十分鐘重新抓取台灣各地空氣品質資料,並將「頭份」監測站的資料顯示在OLED上。環保署的監測站每一小時才會更新一次資料,所以間隔時間不要太短,以免增加網路負擔。
程式在初始化時便從網路擷取台灣空氣品質資料,按下A鍵時,會在OLED顯示PM2.5數值以及一氧化氮的濃度;按下B鍵時,則是顯示基隆監測站的資料。在這裡可以看到二個查詢數值不同的方法,查詢PM2.5的資料是使用下拉選單,查詢一氧化氮時,則是直接輸入文字「NO」便可以查詢一氧化氮濃度。這二種方法以下會有說明。
按下A鍵顯示頭份的資料
按下B鍵顯示基隆的資料
1.在「取得空氣資訊」的積木中的監測站直接輸入監測站站名。全台灣目前共有83個監測站,監測站名稱可以觀看以下這個連結中的資料,找到SiteName資訊,http://opendata2.epa.gov.tw/AQI.json 。
2.至於各項資訊,可以利用下拉式選單,塞進「取得空氣資訊」積木的「資訊」欄位中,但這個下拉選單我只做出部份常用的選單,如果不夠,則請自行觀看上面連結中的欄位名稱,直接輸入文字在「資訊」欄位中。
如果下拉選單沒有提供適當的選單,便可以直接輸入文字名稱。例如想要查詢一氧化碳八小時之內的平均值,參照下圖查出欄位名稱是「CO_8hr」,所以只要在「取得空氣資訊」積木的「資訊」欄位中直接輸入「CO_8hr」便可以查詢資料(大小寫及符號都要完全相符)。
空氣品質資料很龐大,而ESP8266內部的記憶體較小,無法一次抓取台灣所有的測站資料,因此,特地再做二個ESP8266專屬的積木。
抓取資料時便要指定測站名稱,上網路便只抓取該測站的資料,避免塞爆ESP8266的記憶體。