Wappsto:bit 配合 ThingSpeak 上傳數據

Wappsto:bit 雖已有完善的 IoT visualization tools , 但有見於不少老師是 ThingSpeak 的長期用家 ,

他們亦希望能繼續使用 ThingSpeak 平台能進行 IoT 的活動 , 這篇教學教大家如何將 Wappsto:bit 收傳到的數據上傳至 ThingSpeak。

所需物料 :

micro:bit x 1

Wappsto:bit x 1

USB cable x 1

Smartphone / iPad x 1

Laptop / desktop x 1

首先連接你的Wappsto:bit 詳細教學 : 看此

編程教學 :

加入 「Wappsto」 Extension :

按下「Advanced」然後再按「Extensions」

輸入「Wappsto」, 選擇 「wappsto」加入Extension。

在「On start」加入「setup micro:bit on Wappsto with name "thingspeaktest"」

Name是專題的名稱 , 在dashboard上已連接的Wappsto:bit會顯示為這個名字 , 隨意改變。

「setup number value」的作用是設定 dashboard 要顯示的數據類型和名稱 ,

Number Value 1 即是dashboard第一組數據 , name "counter" 是顯示的名稱 ;

as 「Number」是數據的類型 , 這邊我們將收集 Counter 的數據。

使用 Counter 的原因是 , 當按下 Button 時 Counter 累計的數值是必定會改變的 ,

這能確保 ThingSpeak 上的數值有明顯的變動 , 有些數據例如溫度很難隨時作改變 , 所以不建議作為例子示範!

創建 Counter :

在「Variables」中創建一個新的 Variable , Make a Variable ....

輸入「Counter」再按「OK」。

每按下 Button A 一次 , Counter 的數值便 + 1 , change counter by 1 可在 Variables 中找到。

ThingSpeak 部份 :

創建帳號 :

Step 1.確保你的micro:bit已經連上了wifi

Step 2. 前往 https://thingspeak.com 創建帳號

Step 3. 註冊帳號

設定 Channels :

Step 4. login後從網頁上方的Channels選取My Channels

Step 5. 選取New Channel

Step 6. 輸入Channel的名字,並加入Field來記錄數據.

Wappsto Dashboard 上的編程 :

有別於一般的 Extension board , Wappsto:bit 上傳數據至 ThingSpeak 的編程並不是在 micro:bit 上編寫的 。

它有一個獨立的 Coding Dashboard 供用家配合其他平台/設備使用 eg ThingSpeak。

加入 Wappsto Blocks :

Wappsto - Google Chrome

進入 Wappsto Web version (必須使用Web) 接下「Store」加入 Blocks Extension 並進行編程 ;

連接可繼續利用 App 版。

網址 : https://wappsto.com/

store - Google Chrome

選擇 「Blocks」

store - Google Chrome

按「Install」以進行安裝。

Wappsto - Google Chrome

完成後返回 Wappsto Dashboard , 這次按下 「Wapps」 你會看到剛剛加入的 「Blocks」。

請按下「Blocks」以進行編程。

Blocks - Google Chrome
Blocks - Google Chrome

按下「Add New」以加入新的 Blocky Applications。

Blocks - Google Chrome

成功的話 , 你將會看到以上頁面!

預設的編程可以拖拉至右下的垃圾堆刪除。

Blocks - Google Chrome

按下「Wappsto」然後再按下「Select devices...」 ,

注意你的 Wappsto:bit 必須接駁電源並成功連接互網聯(可運作)

Blocks - Google Chrome

按下「Fetch all devices」 。

Blocks - Google Chrome

成功的話 , Wappsto 下方將會出現正中運行的Wappsto:bit專題 (i.e. 剛完成的 ThingSpeak program)

裡面的 counter block 亦會對應成 micro:bit project 中的 Value name i.e. counter

Blocks - Google Chrome

在 Wappsto Block 取出 「on Value chage ..... with data to」 ,

這個代碼的目的是當 Wappsto:bit 的 data 有變動時便做出相對 Output.... eg 上傳數據至ThingSpeak。

Blocks - Google Chrome

將 counter 加至該空格 , 這代表 counter 的數值受改變時 , 便會出現接下來的 Output

Blocks - Google Chrome

在 Vaiables 中取出 set data to 並拉至 On value change 下 , 作用是把 data 連接至 ThingSpeak網站!

Blocks - Google Chrome

然後在 External 中取出上面的 HTTP GET , 作用是連接 ThingSpeak 平台 ,

URL 是  ThingSpeak 平台的 GET API KEY。

Blocks - Google Chrome
Blocks - Google Chrome

URL 的位置需加入「create text with」以及「" " 」來輸入 URL 的網址 , 該2個代碼都可在「text」中找到。

前往 ThingSpeak 網站複製 GET API KEY :

My Channels - ThingSpeak IoT - Google Chrome
API Keys - ThingSpeak IoT - Google Chrome

前往你剛建立的 Channel , 並進入 「API KEYs」的頁面。

API Keys - ThingSpeak IoT - Google Chrome

你應會看到一個 API Requests 的欄 , 複製 「Write a Channel Feed」中的網址 ,

注意 0 千萬不要複製 , = 後的數字是 ThingSpeak Channel 將顯示的數值 ,

我們將用 counter 的數值取代該數字 (需顯示的數值)

Blocks - Google Chrome

複製至 text 代碼裡。

Blocks - Google Chrome

最後把 variable data 加至 create text with 的另一行 , 則加入 = 後的數值 (data)

data 即是 counter value (上面設定好的)

進行測試 :

按下 micro:bit 的 Button A , micro:bit LED 會出現 counter 的數值 ;

每按一下 , 數字會 + 1

Wappsto Dashboard 上的數據 :

Wappsto - Google Chrome

假如你是使用數字清單的方式呈現數據 , 你應會看到跟上面類似的畫面。

ThingSpeak 上的數據 :

Thingspeak - ThingSpeak IoT - Google Chrome

按下「Private View」可前往 Channel Stats 查看數據 ,

圖表所呈現的數據應與 Wappsto Dashboard 所呈現的一樣 ,

時間均為 15:37 , Counter Value 為 2-10 ...