
134
|
第九章 網路協定
if (err) {
console.log("problem fetching weather");
console.log(err);
process.exit(0);
}
lcd.cursor(0,0).print(location);
lcd.cursor(1,0).print("temp: "+ result[0].current.temperature);
});
});
});
若一切正常,就可以在 LCD 螢幕上,看到指定地區的溫度。
準備 HTTP 客戶端
在動手打造作為氣象站台的 HTTP 伺服器之前,最好先準備好供客戶端存取的 API,以
便進行測試。請見圖 9-4,客戶端存取 API 時,會以 GET 請求來抓取資料,以 POST 請
求來更新資料。
輸入
裝置
輸出
裝置
氣象站台
POST 請求
GET 請求
發布來自感測器
的資料:溫度、
濕度…
抓取想監視
的資料
圖 9-4 POST 與 GET 兩種請求方式的不同用途
在 npmjs.com 網站上,可找到許多幫助我們撰寫客製 HTTP 客戶端的程式庫,其中最
受歡迎的是 request(
https://www.npmjs.com/package/request
)與 superagent(
https://www.
npmjs.com/package/superagent
)。我們將採用
request
,因為它是最火紅的 Node.js 模組
之一。
新增專案後,以如下指令安裝
request
模組:
$ npm install ...