MQTT - 将 PM2.5 数据上传到 LASS 系统
材料准备
范例说明
介绍
LASS是一套「环境感测器网路系统」,在MakerPro上面有它的简介
在实作上,它是基于MQTT的系统,收集各方上传的资料,而需要这些资料的人也可以subscribe top来使用
而它目前的 官方网站 是共笔系统,可以在这边找到更多资讯
这个范例里,我们会使用到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”
LASS 需要 GPS 信息。此范例中不包含 GPS 传感器,因此您必须手动提供 GPS 信息。使用 Google 地图查找您计划放置 Ameba 的位置的坐标。您可以在此范例中看到纬度为 24.7814033,经度为 120.9933676
我们将GPS的资讯填入gps_lat与gps_lon里
接着按照UART – PlanTower PMS3003的范例接线方式将sensor接上
接着编译程式码并上传到Ameba, 按下Reset按钮之后, Ameba就会每一分钟尝试读取PM2.5的资料, 并上传到LASS MQTT-Broker。
打开Serial Monitor,可以看到上传的资讯,包括client id, topic, 目前的pm2.5数值。
我们也可以使用“MQTT Explorer”来看看是否能接收到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的流程都成功运作。