Ameba Arduino: [RTL8195] [RTL8710] Cloud – 向 Xively Cloud 上傳PM2.5數據

我們提供了Xively相關的API 來支持向Xively雲端獲取或上傳數據的解決方案。

材料準備

  • Ameba x 1
  • PlanTower PMS3003 (or PMS5003) x 1
連接 Sensor
將Ameba與PMS3003 (or PMS5003)連接起來。詳情請參考 Example: 讀取目前的PM2.5空氣懸浮粒子讀數
1

RTL8710 的接線圖如下:
1

Xively 準備
若還沒有Xively的帳戶,可以到 https://personal.xively.com/signup/ 註冊。

  • Add device

點擊“DEVELOP“的標籤,選擇‘Add Device’的按鍵。
2

  • Get Feed ID and API Key

“Add Device”完成後,可以在該頁面上看到我們所需要的所有訊息(Feed ID 以及 API key),在之後的範例中會用到。
3

 

數據結構說明

為了結合提供的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

4

範例說明

此範例會將PMS3003 (or PMS5003) sensor提供的PM1.0, PM2.5 以及PM10三組數據上傳到Xively,并利用Android APP來從手機端讀取相應的數值。首先確定板子是 Ameba, “Tools” -> “Board” -> “Arduino Ameba”,以及確認是正確的port。
然後打開 Upload PM2.5 Data的範例, “File” -> “Examples” -> “AmebaXively” -> “WiFiUploadPM2.5Data”
5這個範例需要使用到網路, 所以要將 ssid, pass填入要連上的AP資訊, 並修改連線的方式。
紅色標記的部分為網路的相關設定。
粉色標記的部分為Xively的相關設定,將xivelyFeed後的“YourFeedID”改為自己的Feed ID, “YourAPIKEY”改為自己的API KEY。
黃色標記的部分為此設備的Friendly name,可自行更改為所需的名字。
接著編譯程式碼並上傳到Ameba, 按下Reset按鈕。打開Serial Monitor,可以看到上傳的資訊。
6

在Xively的網頁頁面上,可以看到目前的數值:
7

Android APP的使用
“My Cloud” APP 可以通過Xively的Username和password來登入Xively帳戶,並從中獲取符合Ameba規定的數據結構的數據。
我們將以本次範例為例演示如何使用“My Cloud” APP。
目前My Cloud還在進行APP上架程序中,如果需要請先下載安裝: My Cloud

  • 添加雲端帳戶

目前此APP僅支援Xively,之後會添加Firebase等雲端服務。點擊右下角粉色的“+”來添加帳戶。輸入Username和password。
8

添加成功後會有Xively的圖標顯示:
9

  • 刪除帳戶或更改帳戶名稱

長按圖標可選擇“更改賬戶名稱”或者“刪除賬戶”
10

  • 讀取Xively帳戶內的數據

點擊想要讀取的帳戶圖標
11

  • 更新數據

按著顯示數據的部分將屏幕向下拉,APP將要去獲取最新的數據。
12