與 IoT 相關的雲端服務為數眾多,例如:ThingSpeak、WoT.City、AWS、IBM Bluemix、MediaTek MCS 等,並在透過這些雲端服務可在對資料進行資料視覺化、資料分析與其它的應用,本文描述如何使用 Google Spreadsheet 接收 LinkIt Smart 7688 的感測資訊。
學習目標
- Google Developers Console 設定
- LinkIt Smart 7688 讀取感測資訊
- 傳送感測資訊至 Google Spreadsheet
情境
執行步驟
前置準備作業
一台可上網的電腦
LinkIt Smart 7688 Duo
Arduino Breakout for LinkIt Smart 7688 Duo
Grove - Temperature&Humidity Sensor
Micro-USB Cable
將 LinkIt Smart 7688 與 Arduino Breakout for LinkIt Smart 7688 Duo 組裝、Grove - Temperature&Humidity Sensor 裝到 A0 的位置並將 Micro-USB Cable 連接至電腦與 LinkIt Smart 7688
電腦端相關設定 - 請參考 LinkIt Smart 7688 / 7688 Duo 基礎教學 文章
Google 帳號
連接圖
❖ 感謝 【 Anker Taiwan 】 提供拉不斷的 Micro USB Cable
Google Developers Console 端
Step 1. 到 Google Developers Console 頁面
❖ 1.1 開啟瀏覽器並輸入下方網址
https://console.developers.google.com/
Step 2. 建立專案
❖ 2.1 點選畫面左上角的【 請選取專案 】
❖ 2.2 點選畫面右上角的【 + 】
❖ 2.3 ① 輸入專案名稱,e.g., LinkIt Smart 7688
② 再點選【 建立 】
❖ 2.4 ① 點選右上角的【 鈴鐺 】的圖示
② 剛剛的專案已建立完成
❖ 2.5 ① 點選畫面左上角的【 請選取專案 】
❖ 2.6 ① 選取剛剛所建立的專案
❖ 2.7 ① 原本畫面左上角的【 請選取專案 】已變成剛剛所選取的專案名稱
❖ 2.8 ① 在【 搜尋所有 API 】的欄位中輸入【 google drive 】
② 再點選下方【 Google Drive API 】
❖ 2.9 ① 點選上方的【 啟用 】按鈕
❖ 2.10 ① 點選右邊的【 建立憑證 】按鈕
❖ 2.11 ① 在【 API 的呼叫來源為何? 】選擇【 網路伺服器 (例如 node.js、Tomcat) 】
② 在【 您需要存取什麼資料? 】選擇【 應用程式資料 】
③【 您要使用 Google App Engine 還是 Google Compute Engine? 】選擇【 否,我並未使用任何一項服務 】
④ 點選【 我需要那些憑證 ? 】按鈕
❖ 2.12 ① 在【 服務帳戶名稱 】欄位輸入名稱,e.g., 輸入自已的英文名稱
② 在【 角色 】欄位選擇【 Project 】➙【 編輯者 】
③ 在【 金鑰類型 】欄位選擇【 JSON 】
④ 點選【 繼續 】,隨後會下載憑證檔
Step 3. 設定 Google Spreadsheet
❖ 3.1 透過瀏覽器開啟 【 雲端硬碟 】
❖ 3.2 點選左上角 【 新增 】按鈕 ➙【 新增資料夾 】再輸入資料名稱,e.g., 感測資訊
❖ 3.3 ① 點選左上角 【 新增 】按鈕 ➙【 Google 試算表 】
② 點選右邊 【 共享 】按鈕
❖ 3.4 ① 在【 無標題的試算表 】欄位輸入名稱,e.g., sensingData
② 點選【 儲存 】按鈕
❖ 3.5 ① 在【 使用者 】欄位輸入剛剛下載的憑證中 【 client_email 】欄位後面的資訊
② 點選【 可以編輯 】按鈕
③ 再點選【 傳送 】按鈕
㊟ 憑證中【 client_email 】欄位後面的資訊如下所示
❖ 3.6 ① 在 A1 的欄位輸入【 Temperature 】
② 在 B1 的欄位輸入【 Humidity 】
❖ 3.7 ① 刪除多餘的列,從第 2 到第 1000 列
② 將頁籤的名字從【 工作表1 】更名為【 DHT 】
LinkIt Smart 7688 端
Step 1. 匯入溫溼度 Library
1.1 匯入溫溼度 Library
❖ 在 Arduino Sketch 中點選【 草稿碼 】➙【 匯入程式庫 】 ➙ 【 Manage Libraries 】
1.2 搜尋 DHT Library
❖ 在右上角搜尋欄位輸入【 dht 】
1.3 安裝 DHT Library
❖ 選擇【 DHT sensor library by Adafruit 】的 【 Version 1.2.3 】的版本並按裝
Step 2. 撰寫 Arduino 程式取得感測資料
2.1 下載 【 getDHT_Bridge.ino 】 的程式碼
❖ 請到下方 URL 中的程式碼複制到 Arduino IDE
https://github.com/ArcherHuang/Linkit_Smart_7688/blob/master/IoT%20Cloud/Arduino/getDHT_Bridge/getDHT_Bridge.ino
Step 3. 燒錄程式
❖ 點選 【 草稿碼 】➙ 【 上傳 】
❖ 上傳成功
Step 4. 透過 Python 傳送感測資訊到 Google Spreadsheet
4.1 下載 【 linkit_Smart_7688_googleSpreadSheet.py 】 的程式碼
❖ 請到下方 URL 中的程式碼複制到 IDE
https://github.com/ArcherHuang/Linkit_Smart_7688/blob/master/IoT%20Cloud/Python/linkit_Smart_7688_googleSpreadSheet.py
4.2 修改程式中的相關資訊
① 將【 from_json_keyfile_name 】後面的 【 ooo.json 】改成憑證的名稱
4.3 將上一步驟的 Python 與憑證傳送到 LinkIt Smart 7688
請參考【 傳送檔案與登入到開發板 】 教學文章
4.4 遠端登入到 LinkIt Smart 7688
請參考【 傳送檔案與登入到開發板 】 教學文章
4.5 執行下方指令
① opkg update
② uci set yunbridge.config.disabled=0
③ uci commit
④ reboot
⑤ pip install gspread oauth2client
4.6 執行 Python
python linkit_Smart_7688_googleSpreadSheet.py