Ameba Arduino: [RTL8195] [RTL8710] Cloud - 向 Xively Cloud 上传PM2.5数据
我们提供了Xively相关的API 来支持向Xively云端获取或上传数据的解决方案。
材料准备
- Ameba x 1
- PlanTower PMS3003 (or PMS5003) x 1
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将要去获取最新的数据。