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”

10-1

這個範例需要使用到網路, 所以要將ssid, pass填入要連上的AP資訊, 並修改連線的方式。

另外,LASS還需要填入GPS資訊。這個範例裡沒有加上GPS sensor,所以需要手動填入GPS資訊。我們可以利用google map找到GPS資訊,首先找到要放置Ameba的地方,此時google map的網址列就會出現GPS的經緯度,以圖中的例子,可以看到GPS的latitude為24.7814033, longitude為120.9933676。

10-2

我們將GPS的資訊填入gps_lat與gps_lon裡

10-3

接著按照UART – PlanTower PMS3003的範例接線方式將sensor接上

AMB21 / AMB22 接線圖:

10-4

AMB23 接線圖:

10-4

BW16 接線圖:

10-4

BW16 type C 接線圖:

10-4

AW-CU488 Thing Plus 接線圖:

10-4

AMB25 接線圖:

10-4

接著編譯程式碼並上傳到Ameba, 按下Reset按鈕之後, Ameba就會每一分鐘嘗試讀取PM2.5的資料, 並上傳到LASS MQTT-Broker。

打開Serial Monitor,可以看到上傳的資訊,包括client id, topic, 目前的pm2.5數值。

10-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的流程都成功運作。

10-6

 
請先確認已安裝QQ通訊軟體