Ameba Arduino: [RTL8195AM] [RTL8710AF] Cloud - 向 Xively Cloud 上傳PM2.5數據
我們提供了Xively相關的API 來支持向Xively雲端獲取或上傳數據的解決方案。
材料準備
- Ameba x 1
- PlanTower PMS3003 (or PMS5003) x 1
將Ameba與PMS3003 (or PMS5003)連接起來。
RTL8710 的接線圖如下:
- Add device
點擊“DEVELOP“的標籤,選擇‘Add Device’的按鍵。
- Get Feed ID and API Key
“Add Device”完成後,可以在該頁面上看到我們所需要的所有訊息(Feed ID 以及 API key),在之後的範例中會用到。
為了結合提供的Android APP使用Xively,我們規範了Xively的數據結構。以PM2.5的實例為例,PMS3003 (or PMS5003) sensor一共提供了3組數據:PM1.0, PM2.5 和PM10。因此對於此設備,供需要Xively的4個Channel來存放數據。
- 設定此設備的Friendly name
每個設備都會佔用一個Channel 用來設定一個Friendly name。這個Friendly name會提供給Android APP用作顯示以及識別這個設備的標示。
格式:{Channel Name: 此設備的物理地址(MAC ADDRESS), Value: 定義給這個設備的名字} 。
- 設定此設備的數據
存放數據的Channel name共有四部分組成,格式為:
{MAC(12)}_{R/W(1)}{datatype(1)}_{displayed channel name}
MAC: 設備的的物理地址(MAC ADDRESS)
R/W: 數據對於APP的權限 R: 只讀(read only); W: 可寫(write and read)
Datatype: 存放的數據類型,目前有四種:i/f/s/t ( i: integer; f: float; s: string; t: on/off)
Displayed channel name: 該數據在手機APP上顯示的名稱
- An example
範例說明
然後打開 Upload PM2.5 Data的範例, “File” -> “Examples” -> “AmebaXively” -> “WiFiUploadPM2.5Data”
這個範例需要使用到網路, 所以要將 ssid, pass填入要連上的AP資訊, 並修改連線的方式。
紅色標記的部分為網路的相關設定。
粉色標記的部分為Xively的相關設定,將xivelyFeed後的“YourFeedID”改為自己的Feed ID, “YourAPIKEY”改為自己的API KEY。
黃色標記的部分為此設備的Friendly name,可自行更改為所需的名字。
接著編譯程式碼並上傳到Ameba, 按下Reset按鈕。打開Serial Monitor,可以看到上傳的資訊。
在Xively的網頁頁面上,可以看到目前的數值:
“My Cloud” APP 可以通過Xively的Username和password來登入Xively帳戶,並從中獲取符合Ameba規定的數據結構的數據。
我們將以本次範例為例演示如何使用“My Cloud” APP。
目前My Cloud還在進行APP上架程序中,如果需要請先下載安裝: My Cloud
- 添加雲端帳戶
目前此APP僅支援Xively,之後會添加Firebase等雲端服務。點擊右下角粉色的“+”來添加帳戶。輸入Username和password。
添加成功後會有Xively的圖標顯示:
- 刪除帳戶或更改帳戶名稱
長按圖標可選擇“更改賬戶名稱”或者“刪除賬戶”
- 讀取Xively帳戶內的數據
點擊想要讀取的帳戶圖標
- 更新數據
按著顯示數據的部分將屏幕向下拉,APP將要去獲取最新的數據。