配合weather:bit利用radio上傳數據

在上次的教學中,我們嘗試過以radio形式傳送micro:bit A讀取到的light level至 micro:bit B 並透過wifi:bit 上傳數據至ThingSpeak。

為了收集更多數據 :

這次我們會利用 weather:bit 自身的sensor以及 soil moisture sensor 收集數據 ,

並透過 radio 的形式傳送至接駁了wifi:bit的micro:bit 上並上傳數據至ThingSpeak。

所需材料:

micro:bit x 2

wifi:bit x 1

weather:bit x 1

Soil Moisture Sensor x 1

Jumper Wire M/F x 3

編程教學:

micro:bit A (發送數據):

編程概覽:

Microsoft MakeCode for micro:bit — Mozilla Firefox

由於這次需要上傳3組不同的數據 , 我們將使用「radio send "Value" = ___」 來發送訊號。

Microsoft MakeCode for micro:bit — Mozilla Firefox

value "name" 一般會是數據的名稱 (例如 : temp) ;

「= 0」 的位置則會輸入數據數值 , 多會以variable來表示。

加入 weather:bit extensions

Microsoft MakeCode for micro:bit — Mozilla Firefox

按下「Extensions」

Microsoft MakeCode for micro:bit — Mozilla Firefox

輸入weather-bit , 然後選取它

TEMP (溫度) 部份 :

Microsoft MakeCode for micro:bit — Mozilla Firefox

利用不同button以發送不同數據 , 要留意的是從 weather:bit 收集到的是raw data ,

我們需自行進行 calibration 來把數值轉換成有用的數據 i.e ÷ 1000 以獲取攝氏溫度(C)

「temperature(C) 」可在 weatherbit 中直接取出 , 不需另建新的variable ,

÷ 則可以在 「Math」找到 , 會以 「0 ÷ 0」 表示。

Humidity (室內濕度) 部份 :

Microsoft MakeCode for micro:bit — Mozilla Firefox

humidity 則需要 ÷ 1024 以得到濕度%

Soil Moisture (泥土濕度) 部份:

Microsoft MakeCode for micro:bit — Mozilla Firefox

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

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

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

Channel Settings - ThingSpeak IoT - Google Chrome

唯一要留意的地方是這次需要處理3組數據 , 我們需設置3個 Field 來接收相應數據。

連接至互聯網:

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

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

SSID 及 PASSWORD 部份請輸入你要連接的網絡。

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

利用 on radio received name value 來接收micro:bit A 發傳的數據

Microsoft MakeCode for micro:bit - Google Chrome

name 為你在 micro:bit A 設下並發出的名稱 , 比方說 temp ;

利用 「if then statment」 來決定wifi:bit 接收到的"name"及"value"要上傳至那個「filed」上。

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

「filed」 後的數字可在「Channel Setting」中找到 , 例如我們將temp 設成 1

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

show string "T"作用是表示上傳了那個數據了!

API KEYS 部份 :

另外兩組數據的編程:

Microsoft MakeCode for micro:bit - Google Chrome
Microsoft MakeCode for micro:bit - Google Chrome

基本上都是大同小異 , 特別需注意的地方是運用了「else if」 以及 filed 後的數字需自行改成 2/3 (對應Channel Setting)

Microsoft MakeCode for micro:bit - Google Chrome

「else」在沒上傳數據/待機時則清空micro:bit的LED screen。

線上瀏覽編程:

ThingSpeak 上查看數據:

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

wifi bit radio - ThingSpeak IoT - Google Chrome

你將看到三組 Filed Chart : Temp(C) , Soil Mositure , Humudity(%)

** Printscreen位置不足所以僅顯示2組