ThingSpeak 是一個老牌的雲端 IoT 物聯網網站, 可用來儲存與顯示感測器輸出的資料, 此網站在十年前我開始玩 Arduino 時就非常有名, 但它後來被圖控軟體大廠 MathWorks 併購 (其知名產品即 MATLAB), 使用者帳號系統也被整合, 我之前申請的帳號太久沒使用也必須重設才行, 所以今天乾脆用備用手機 iPhone 的 Gmail 信箱來申請一個全新的帳號.
1. 註冊 ThingSpeak 帳號 :
ThingSpeak 官網網址如下 :
點 Email 框下方的 Create one! 超連結 :
通知去收信, 按下信中的確認按鈕後再回來此頁按 Continue :
按下確認信中的 Verify email 鈕 :
選擇美國/歐洲網站伺服器, 預設選美國 :
回到上面註冊頁面按 Continue 後設定密碼 (至少 8 個字元, 須含一個大寫與小寫字母), 勾選 I accept the Online Service Aggrement 後按 Continue :
這樣便完成帳號註冊了, 按 OK 會詢問申請帳號之用途 :
按 OK 會即進入通道設定頁面.
2. 新增通道 Channel 與欄位 Field :
在通道設定頁面按 New Channel 鈕新增通道 (Channel), 所謂通道其實就是 ThingSpeak 資料庫中的一張資料表, 裡面有欄位名稱為 field1, field2, field3, ... 等順序編號的固定欄位名稱 (免費帳戶每個通道只有 8 個欄位) :
填寫通道名稱, 描述, 與欄位 (Field) 名稱後按底下的 Save Channel 鈕 :
這時會進入 Dashboard 頁面, 上面的 Channel ID 要記下來, 這在呼叫 ThingSpeak API 存取通道時會用到. 底下則是此通道各欄位資料的圖形框, 因為現在還沒有傳送資料儲存在 ThingSpeak, 所以目前沒有資料圖形出現 :
呼叫 ThingSpeak API 需要取得其金鑰, 按上方導覽頁籤 API key 會看到有寫入與讀取兩個 API key (注意, 每個通道的 key 都不同以資識別), 將資料寫入 ThingSpeak 資料庫用的是寫入的 API key, 這要與 Channel ID 一起記下來備用 :
然後切到 Sharing 頁籤, 因我這個氣象資料是要讓任何人都能看到, 所以在 Channel sharing settings 中要改為勾選中間的 Share channel view with everyone
至此就完成全部設定了, 可以按 New Channel 鈕繼續新增其他通道, 點選 Dashboard 上方 Channels 選單的 My Channels 會顯示全部通道清單 :
按右上角帳戶頭像點選 My Account 會顯示帳戶基本資訊, 可見免費帳戶最多可以建立 4 個通道, 使用期限為一年 (到期可付費繼續使用), 免費總訊息量為 300 萬則, 亦即這些免費額度須在一年內用完, 到期就須付費了 :
按右上角帳戶頭像點選 My Profile 會顯示帳戶詳細資訊, 例如註冊之 Email, 使用者名稱, 時區, 帳戶之 API key, 以及 REST API 呼叫的網址格式等 :
可以按 Edit 修改時區欄位為台灣時區, 注意, ThingSpeak 伺服器是依據此選項紀錄欄位資料寫入資料表之時戳, 若沒改為自己的時區的話, 則 Dashboard 顯示的統計圖上的數據點時間軸會是預設時區的時間 :
右下角是 REST API 格式的說明 :
按 Learn More 前往 REST API 教學文件 :
我們主要會用到的是用下列格式的 REST API 網址向 ThingSpeak 提出 GET 請求 :
https://api.thingspeak.com/update.?api_key=<API_KEY>&field1=<V1>&field2=<V2> .....
此 API 會將欄位資料存入通道的欄位裡, 其中 API_KEY 是該通道的 Write API key, field1, field2, filed3 ... 則是該通道的 1~8 欄位, V1, V2, V3, ... 是要寫入各欄位之值.
下一步即可開始撰寫程式呼叫 ThingSpeak API 了.
沒有留言:
張貼留言