準備工作
- 取得 ARM mbed 開發板,本文使用的 Arch Pro 是由 Seeed Studio 設計與生產的 ARM mbed IoT ethernet kit。
- 申請 wotcity.com 帳號。
- DIY 溫度感測裝置
DIY 溫度感測裝置
使用 Arch Pro 手作一個溫度感測裝置,需要準備以下零件:
- Arch Pro 開發板
- Base Shield
- Grove Temperature(溫度感測器)
- Grove - Universal 4 Pin 20cm Unbuckled Cable(杜邦線)
- mbed WiFi Shield
以下是基本零件:
七段顯示器僅作為本地測試使用,非必備。要讓 Arch Pro 上網,可直接連接 RJ45 乙太網路,或使用 WiFi 上網。要使用 WiFi 乙太網路,必須再安裝 mbed WiFi Shield:
組裝完成圖:
使用本文範例,請使用杜邦線將溫度感測器,連接至 Base Shield 上的 A0 插槽。使用杜邦線連線溫度感測器與 Base Shield 時,要注意黑線是接地(GND)。Pin 腳在電路板上有印刷字體。
Step 1:匯入 ARM mbed 專案
依照以下步驟匯入範例:
- 點選 workspace 上方選單的 Import 選項
- 進入 Import Wizard 後,點選 Click here to import from URL.(如圖 3.2)
- 輸入專案網址
https://developer.mbed.org/users/jollen/code/Mokoversity_WoT_Wifly_Temperature/
,如圖 3.3 - 匯入成功後,可以在 Program Workspace 看到 Mokoversity_WoT_Wifly_Temperature 專案
- 將專案展開後,可以找到 main.cpp 主程式
- 完成專案匯入
圖 3.2:Import Wizard
圖 3.3:輸入專案網址
Step 2:使用 WiFi
前面的教學使用 RJ45 乙太網路,不過使用 WiFi 好像比較酷。所以這個範例將使用 Arch Pro + mbed WiFi Shield。根據 Step 1 匯入範例後,請開啟 main.cpp,找到以下程式碼:
WiflyInterface eth(D1, D0, D5, LED4, "<SSID>", "<Password>", WPA);
將
WiflyInterface eth(D1, D0, D5, LED4, "jollenchen", "12345678", WPA);
Step 3:取得 Device Name
既然都能推送即時的度數據了,不打造一個有點樣子的 Web App Frontend,怎麼樣都說不過去。以下暫時以 WoT.City 平台進行「實驗」;未來,這會換成自已架設的平台,到時就不需要 WoT.City 了。
至 http://wotcity.com/ 申請帳號並登入。依照以下步驟取得 Device Name:
- 點選 http://wotcity.com/account 頁面左邊的 Device Manager
- 點撃 Launch New Device 按扭
- 系統會建立一個新的裝置
- 從列表中的 Device Name (Physical Object) 欄位 Copy 裝置名稱,如圖 1.4
圖 3.4:取得 Device Name
Step 4:修改 main.cpp
延續 Step 1,將 main.cpp 開啟後,找到以下程式片斷:
/*
* We use WoT.City Websocket channel service.
* See: https://www.mokoversity.com/wotcity
*/
Websocket ws("ws://wot.city/object/[Object Name]/send");
while( !ws.connect() );
led2 = 1;
修改 Websocket 的 URI,將 [Object Name] 替換為 Step 2 取得的 Device Name。例如:
/*
* We use WoT.City Websocket channel service.
* See: https://www.mokoversity.com/wotcity
*/
Websocket ws("ws://wot.city/object/5547870f4dd3e08d63000007/send");
while( !ws.connect() );
led2 = 1;
Step 5:開始 Data Push
更新 firmware 並啟動 Arch Pro 後,溫度感測器數據就會開始推送(Data Push)到 Internet。要知道目前的 Data Push 情況,可以使用 WoT.City 的監視看功能:
- 登入 http://wotcity.com/
- 點選 http://wotcity.com/account 頁面左邊的 Device Manager
- 在列表中找到所使用的 Device Name
- Status 欄位會切換為 Live,表示目前裝置已連上 Internet,如圖 3.6
- 點撃 Manage 欄位中的 Watch 按紐,即可看到即時的推送數據(JSON 格式的文件)
圖 3.6:裝置顯示為 Live
點撃 Manage 欄位中的 Live App 按紐,可以開啟這個裝置的 web app。
其它
- Mokoversity 物聯網開發平台嚴選商店,提供 ARM mbed 開發板銷售服務