利用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 (發送數據):
編程概覽:
在傳接訊號時 , 兩者都需在同一個 radio group 上。
使用radio set group 1 將 radio group 設成 1 , micro:bit B 亦需這樣做。
在 On start 時加入 radio group 的原因是這能確保接下來的所有編程都能以radio 傳接。
利用「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.)
連接至互聯網:
相信連接互網聯的編程大家都不陌生了 , 唯一不同的地方是加入「radio set group 1」,
目的前跟micro:bit A 建立同一個 radio group 以接收/傳送訊號。
接收radio數據並上傳至ThingSpeak編程:
利用 on radio received receivedNumber 來接收micro:bit A 發傳的數據(light level)
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 「❤」作用是表示數據有成功上傳!
ThingSpeak 上查看數據:
按下「Private View」便能查看已上傳的數據