Ameba Arduino: [RTL8195] [RTL8710] 上传PM2.5资料到LASS环境感测网路系统

LASS简介

LASS是一套「环境感测器网路系统」,在MakerPro上面有它的简介

在实作上,它是基于MQTT的系统,收集各方上传的资料,而需要这些资料的人也可以subscribe top来使用

而它目前的官方网站是共笔系统,可以在这边找到更多资讯

材料准备

  • Ameba x 1
  • PlanTower PMS3003 (or PMS5003) x 1

范例说明

这个范例里,我们会使用到Ameba网站里提到的其它应用,包括

  • MQTT: 用来连上LASS的MQTT-Broker,其中Client为“FT1_0XXXX”, 后面四位数为Ameba的Wifi Mac后4码,outTopic则是“LASS/Test/Pm25Ameba/clientID ” 后面的clientID为实际上Ameba的MQTT client ID
  • NTP: 上传的资料里需要时间的注记
  • PM2.5: 上传的资料里带有PM2.5的资讯

我们打​​开这个范例,它在 “File” -> “Examples” -> “AmebaMQTTClient” -> “lass_basic”

这个范例需要使用到网路, 所以要将ssid, pass填入要连上的AP资讯, 并修改连线的方式。

另外,LASS还需要填入GPS资讯。这个范例里没有加上GPS sensor,所以需要手动填入GPS资讯。我们可以利用google map找到GPS资讯,首先找到要放置Ameba的地方,此时google map的网址列就会出现GPS的经纬度,以图中的例子,可以看到GPS的latitude为24.7814033, longitude为120.9933676

我们将GPS的资讯填入gps_lat与gps_lon里

接着按照UART - PlanTower PMS3003的范例接线方式将sensor接上

RTL8710 的接线图如下:

10-4

接着编译程式码并上传到Ameba, 按下Reset按钮之后,  Ameba就会每一分钟尝试读取PM2.5的资料, 并上传到LASS MQTT-Broker

打开Serial Monitor,可以看到上传的资讯,包括client id, topic, 目​​前的pm2.5数值

 

我们也可以使用MQTTlens来看看是否能接收到Ameba上传的资讯,

我们将MQTT-Broker server位置填“gpssensor.ddns.net”,Subscribe的Topic填Serial Monitor看到的“LASS/Test/PM25/live”, 就可以接收资讯了

里面的资讯里,时间使用UTC格式,而PM2.5的资料放在s_d0的地方,在图中可以看到s_d0=9代表PM2.5的数值是9,代表整个publish/subscribe的流程都成功运作。