5. 章節1: 上載數據到ThingSpeak

ThingSpeak是一個IoT平台供使用者收集及整理實時數據。通過設定不同的頻道,能夠對不同類別的數據進行統計及用現覺方式顯示,方便進行分析數據,提取資訊。

ThingSpeak支援多種不同的裝置及平台,例如電腦、智能電話、以及IoT:bit。當在項目中使用IoT:bit時,Micro:bit就可以輕易地把取得的數據(如溫度、濕度、亮度、嘈音、雨水、距離等)上載到ThingSpeak,讓使用者或他人都能夠遙距監控裝置所在環境的情況。

auto_fit

5.1. ThingSpeak設定


目標:

我們需要先建立一個頻道及取得頻道的密鑰

第一步驟

前往https://thingspeak.com/, 註冊一個帳號用來登入。

auto_fit

第二步驟

登入後,選擇頻道->我的頻道->建立新頻道。

auto_fit

第三步驟

分別輸入頻道名稱,資料」類別」,然後儲存。
例如:
名稱:智能家居
Field1: 溫度
auto_fit

第四步驟

看到ThingSpeak提供一個圖表用來表示溫度。

auto_fit

第五步驟

切換到 『API Keys』 , 取得用於輸入資料的密鑰,記下

auto_fit

5.2. 編程(Makecode)


第一步驟

在上載數據到ThingSpeak前,需要先連接上Wi-Fi。
auto_fit

第二步驟

在設定ThingSpeak上載時,需要注意每次上載需間隔15秒。

  • 添加一個如果..否則的條件式用以檢查是否已連上Wi-Fi

  • 然後在ThingSpeak上載的區塊那密鑰填入剛才記下的ThingSpeak密鑰

  • 之後選擇需要上載的數值,放進對應的域

  • 添加一個15秒的等待

auto_fit

第三步驟

如需知道上載的情況,能夠使用 『ThingSpeak上載事件處理器』 取得回傳的結果。配合上OLED顯示屏就能夠輕鬆知悉上載成功或是錯誤狀態。

  • 事前先初始化OLED顯示屏(128x64像素)

  • 在事件處理器中用OLED顯示出回傳的狀態或錯誤碼

  • 為了正常顯示,需要在每次顯示前清除之前的畫面


auto_fit

完整答案

MakeCode: https://makecode.microbit.org/_Dgh5iF8C52Ha

你可以在以下網頁下載HEX檔案:

5.3. 結果


在連接上網絡後,程式就會開始自動上載數據到ThingSpeak。

在每一次的上傳完成後,都會在OLED上顯示狀態及錯誤碼。
在正常的情況,狀態會是 OK 及錯誤碼 0
auto_fit

如果無法成功上載數據,狀態將會顯示為 FAIL,以及有不同的錯誤碼。

  • 若錯誤碼為400,為輸入了錯誤的密鑰。

  • 若錯誤碼為-28674,為沒有網絡連接。 auto_fit

    成功上載後,在ThingSpeak頻道上的圖表會更新 auto_fit