2023年8月16日 星期三

物聯網雲端平台: ThingSpeak

ThingSpeak是用Ruby編寫的開源軟件,允許用戶與啟用Internet的設備進行通信。它通過為設備和社交網絡網站提供API來促進數據訪問,數據檢索和數據記錄。ThingSpeak最初由ioBridge在2010年推出,作為支持IoT應用程序的服務。 (維基百科)

ThingSpeak 提供非商業使用的免費雲端服務,提供物聯網相關裝置的訊息紀錄之用,物聯裝置的免費商業使用限制訊息發送間隔必須大於15秒以上。

想使用平台服務當然得先加入會員,前往 ThingSpeak 首頁,按下左上角的人像圖形按鈕進入登入畫面,如下圖左,在按下其中的  Create one! 即可開始填寫會員加入資料,如下右圖。


註冊完畢別忘了收取驗證信進行註冊驗證。有了會員資格就可以開始使用 ThingSpeak 所提供的服務。

 ThingSpeak 資料除純單元叫做 Channel(通道) 其實就等同一張資料表,換個名稱而已,而這個 Channel(通道) 中的每一筆資料紀錄最多可以有8個欄位,假設我們要記錄場所的溫度與濕度變化,就可以建立一個 "溫溼度紀錄" 的 Channel(通道) ,而這個 Channel(通道) 裡有 "溫度" 、 "濕度" 兩個資料欄位。

進入 ThingSpeak 首頁並登入,在 Channels 頁面中按下 New Channel 按鈕。

填寫 Channel(通道) 名稱,所勾所需的欄位數量並填上對應的欄位名稱。資料填寫完畢資後,將頁面捲到最下方,按下 Save Channel 按鈕。

每一個 Channel(通道)都有一個對應的ID編號 (Channel ID) 與 Write API Key(等同寫入權限驗證碼),所以當我們要把資料上傳時就必須同時送上專屬的 API Key。建立好新 Channel(通道)後點選 API Keys 頁籤既可看到相關資料。

測試數據傳送

當我們想把資料送交 ThingSpeak 寫入到 Channel(通道)中。可以利用查詢字串的方式(GET)來做,也就是進行網址的組合:

平台網址 ? 參數1=參數值1 & 參數2=參數值2 & 參數2=參數值2 & 參數3=參數值3
以本例來說,兩個參數溫度與濕度,所以網址就是
GET https://api.thingspeak.com/update?api_key=專屬金鑰&field1=溫度值&field2=濕度值
每傳送一筆資料就會回傳該筆資料紀錄的編號數字,例如第一筆就是1,第十筆就是10,但如果回傳是0就代表發生寫入錯誤。

免費商業使用限制訊息發送間隔必須大於15秒以上。試著傳送幾筆資料後即可在 Private view 頁籤畫面中看到資料圖表。