利用radio傳送數據至wifi:bit再上傳至thingspeak

wifi:bit 的定位為簡單IoT extension board 供電較弱亦不設易接駁的Pins(腳位), 因而在收集數據和輸出(Output)略受限制 , 為了解決以上問題可以多用一隻micro:bit 收集數據並至radio形式傳送數據至wifi:bit再透過互聯網上傳到Thingspeak等的雲端。

所需材料:

micro:bit x 2

wifi:bit x 1

Sensor + extension board x 1 (如需要)

這次我們先以簡單的 micro:bit light level 作示範

編程教學:

micro:bit A (發送數據):

編程概覽:

Microsoft MakeCode for micro:bit — Mozilla Firefox

在傳接訊號時 , 兩者都需在同一個 radio group 上。

Microsoft MakeCode for micro:bit — Mozilla Firefox

使用radio set group 1 將 radio group 設成 1 , micro:bit B 亦需這樣做。

在 On start 時加入 radio group 的原因是這能確保接下來的所有編程都能以radio 傳接。

Microsoft MakeCode for micro:bit — Mozilla Firefox

利用「On Button A pressed」的目的是給予一個 Input 用家決定何時傳送 light level 數據

show number 目的是顯示當前所收集的數據 , 亦能確保數據有傳送出去!

由於這次要傳送的是數據所以需使用「radio send number 」 , light level 則是需傳送出去的數據(number) , light level 可在「Input」中找到。

micro:bit B(wifi:bit) 上傳數據:

是次教學只會注重在接收radio訊號及上傳數據的編程上;

關於如何設置 ThingSpeak 可看 : ThingSpeak使用教學(wifibit ver.)

連接至互聯網:

Microsoft MakeCode for micro:bit - Google Chrome

相信連接互網聯的編程大家都不陌生了 , 唯一不同的地方是加入「radio set group 1」,

目的前跟micro:bit A 建立同一個 radio group 以接收/傳送訊號。

接收radio數據並上傳至ThingSpeak編程:

利用 on radio received receivedNumber 來接收micro:bit A 發傳的數據(light level)

Microsoft MakeCode for micro:bit - Google Chrome

receivedNumber 是從micro:bit A 發傳的number(light level)

輸入api.thingspeak.com (上傳data至thingspeak server) , port 保持80不變

receivedNumber 是從micro:bit A 發傳的number(light level)

把「/update ........... field1= 」複製並貼上到「join」後, join可在「Text」中找到

注意 : 不需要copy field1 = 後的「0」, update 前的「/」請記緊複製

show icon 「❤」作用是表示數據有成功上傳!

API KEYS 部份 :

API Keys - ThingSpeak IoT - Google Chrome

整個編程:

Microsoft MakeCode for micro:bit - Google Chrome

ThingSpeak 上查看數據:

按下「Private View」便能查看已上傳的數據