在 Intel Edison 開發板上,利用 JavaScript 打造聰明的桌上型時鐘

步驟 4:將 Grove Shield 組裝到 Intel Edison 的 Arduino 擴充板上

在 Intel Edison 開發板上,利用 JavaScript 打造聰明的桌上型時鐘

 

  1. 拔除 Arduino 擴充板所有的電源連接。
  2. 將 Grove Base Shield 安裝到 Intel Edison 開發板上,請對準所有的針腳,並且確實將 Shield 板插進擴充板的接頭。
  3. 將 Grove(4 針腳)線的一端連接到 Grove LCD。
  4. 將 Grove 線的另一端連接到 Grove Base Shield,請注意,必須連接到有「I2C」標示的插槽。
  5. 重新接通開發板的電源。

步驟 5:啟用 Google Calendar API

在 Intel Edison 開發板上,利用 JavaScript 打造聰明的桌上型時鐘在 Intel Edison 開發板上,利用 JavaScript 打造聰明的桌上型時鐘

要瞭解如何設定 Google Calendar API,請參考 Google Developers 網站上的 Node.js Quickstart指南:

https://developers.google.com/google-apps/calendar/quickstart/node

我錄了以下影片,逐步說明這個過程:

完成這個「快速入門指南」之後,您應該會得到:

  • 一個 Google Calendar API 專案(也許可以叫做「smart-clock」),已經在 Google Developer Console啟用。
  • 一個client_secret.json的檔案。
  • 一個 NodeJS 指令檔,可將接下來的 10 個行事曆事件列印出來,送到「開發人員控制台」。

步驟 6:將 Google Calendar API 的 Node Quickstart 程式碼移植到 Edison

在 Intel Edison 開發板上,利用 JavaScript 打造聰明的桌上型時鐘

Intel Edison 是以 Linux 為基礎的微控制器,因此,要將可在電腦上執行的 Node 指令檔移植到 Intel Edison,只需編輯幾個小地方。

我錄了以下影片,逐步說明這個過程:

 

  1. 在 Intel XDK 的 IoT 版本:開始新專案 >匯入您的 Node.js 專案
    1. 使用先前步驟建立的資料夾(裡面含有 quickstart.js 的資料夾)。
    2. 提供專案名稱,例如「smart-clock」。
  2. 建立package.json檔案。
    1. 加入 Github 這段程式碼:https://github.com/pearlchen/iot-smart-desk-clock/blob/master/iot-version/package.json
  3. 刪除專案資料夾中的node_modules資料夾(及其中的內容)。
    1. 因為這個資料夾太大了,如果讓 Intel XDK 透過無線方式複製到開發板,還沒完成就會發生逾時。在後面的步驟,我們會將 Node 程式庫直接安裝到開發板上。
  4. 建立main.js檔案。
    1. 將先前在 quickstart.js 編寫的所有程式碼複製到 main.js。
    2. 如果您跳過了前面的步驟,請使用這段程式碼:https://github.com/pearlchen/iot-smart-desk-clock/blob/master/desktop-version/quickstart.js
  5. 請確實儲存剛才建立的任何檔案。
  6. 如果還沒有連接開發板,請透過「IoT Device」下拉式清單連接到開發板。
  7. 按一下底部工具列的「Manage your daemon/IoT device」按鈕,開始管理物聯網裝置。
    1. 按一下「Sync PC time w/clock on target device」,同步處理電腦與目標裝置的時間
    2. 選取「Run npm install directly on IoT Device」,直接在物聯網裝置執行 npm 安裝(這將會使用先前在 package.json 定義的依存關係)
  8. 按一下底部工具列的「Upload」按鈕,開始上傳。
  9. 按一下底部工具列的「Build」按鈕,它在「Upload」旁邊。
  10. 使用 SSH Terminal標籤頁(透過無線網路)或Serial Terminal標籤頁(透過 micro-USB 傳輸線)來連接開發板。
  11. 輸入:「cd /node_app_slot」,這是 Intel XDK 複製任何專案檔案的地方。
  12. 執行您自己的 main.js,也就是這裡的指令檔:「node main.js」
  13. 依提示說明取得 Token 認證,再傳遞回去終端機命令列。
  14. 如果看到了您接下來 10 項行事曆事件的輸出結果,就表示 Intel Edison 順利透過無線網路與 Google Calendar API 通訊了!
  15. 現在,嘗試從 Intel XDK 執行 Node 應用程式,取代執行「node main.js」。按一下底部工具列上的「Run」按鈕,開始執行。
  16. 你會看到錯誤訊息:「Error loading client secret file」,表示載入檔案發生錯誤,這是因為 Intel XDK 在專案資料夾的範圍之外執行應用程式。
  17. 對 main.js 做以下編輯,儲存檔案,再按一次「Run」按鈕,應該就會看到你接下來的 10 項行事曆事件。
// add this line at the top:
var SECRET_FILE = '/node_app_slot/client_secret.json';

// edit this line (around line 13-14)
// fs.readFile('client_secret.json', function processClientSecrets(err, content) {
// to be:
fs.readFile(SECRET_FILE, function processClientSecrets(err, content) {


恭喜!

下一步,就是加入 LCD 螢幕的支援。

Jazzbear
作者

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則