LASS Field Try 第一彈:PM2.5量測裝設指南
硬體安裝說明
- 準備下列硬體設備
- LinkIt One開發板一套(含電池、GPS、WiFi天線)
- G3 PMG3 PM2.5 sensor2.5 sensor x 1
- Grove - 溫度溼度傳感器 Pro x 1
- Grove- 4x公端杜邦線+母座 to Grove 4pin 連接線 x 1
- 以上硬體之套件包可以在下列網站購得:
- ICSHOP LASS Field Try 套件包

Linkit ONE HW block diagram示意圖

- 將LinkIt One的電池、GPS(方的那顆)與WiFi天線(寬與細的皆可)完成組裝
- (上圖表下方天線接口, 接口端有描述GPS與Wifi)
- 將 G3 PM2.5感測器的排線剪斷(沒錯,不要懷疑),並將第1,2,5根接線(分別為紫色、橘色、綠色)改裝成杜邦接頭
- 將 G3 PM2.5感測器的第一根接線(紫)插入LinkIt One上的 5V 接腳,將第二根接線(橘)插入 GND 接腳,將第五根接線(綠)插入 RX 接腳 , 第四根(藍) 線插入TX接腳

- 將 Grove 溫濕度感測器接上 Grove 對杜邦接頭轉接線,並將第一根接線(黃)插入 D2 接腳,將第二根接線(白)插入 D3 接腳(這根線其實不會用到,沒有插也無所謂),將第三根接線(紅)插入 3V3 接腳(本來應該要使用 5V 接腳,但因為已經被 PM2.5 感測器使用,所以改用 3.3 V,這個感測器也同時支援 3.3V 電壓),將第四根接線(黑)插入 GND 接腳

- 硬體安裝完畢,可將感測器與天線調整成喜歡的相對位置,也可以加上適當的外殼

- 接線圖( 注意下面的圖藍色與綠色的線, 綠色為RX 藍色為TX ,接反會造成 PM2.5 感應器無法正常啟動)

軟體安裝說明
- 若您為第一次使用LinkIt One,請先參考官方說明安裝LinkIt One開發環境:MS Windows 平台、Mac OS 平台
- (步驟執行至 Configure the Arduino IDE 結束即可)
- 附註:
- Arduino IDE 請使用1.5.6與1.5.7的版本,以免 LinkIt ONE Firmware Updater無法更新
- 請下載最新版的 LASS 程式碼: LASS.ino 、configuration.h
- 謹記LASS與Libraries這兩個資料夾,之後會使用到這兩個資料夾的檔案
- 請安裝在 Device_LinkItOne/Libraries 目錄中的 library, ,步驟可參考 "[Arduino]如安裝第三方函式庫(Library)":

- Import剛剛下載的以下七個Library (Sketch > Import Library... >新增函式)

- 溫濕度感測器的library: DHT_linkit.zip
- KalmanFilter :HP20x_dev.zip
- AWSArduinoMediaTekLibrary.zipl
- Grove_Digital_Light_Sensor.zip
- PubSubClient.zip
- HardwareLibrary.zip
- 檢查 Tools -> Broad 是否設為 LinkIt ONE
- 直接點擊開啟LASS.INO, 請修改分頁 configuration.h 中下列的變數設定
- 最新版為0.7.18 請參閱網路設定方式在本連結

- #define APP_ID (APPTYPE_SYSTEM_BASE+X) : 請將 X 改成 1
- #define DEVICE_ID "YOUR_DEVICE_NAME": 請將YOUR_DEVICE_NAME改成您自定的裝置名稱(任何字串皆可), Field Try 建議為 FT1_xxx
- #define WIFI_SSID "LASS": 請將 LASS 改成您的 WiFi 名稱
- #define WIFI_PASS "LASS123456": 請將 LASS123456 改成您的 WiFi 密碼(若不需要密碼可以跳過)
- #define WIFI_AUTH LWIFI_WPA: 請設定與網關相同之認證設定,需要時請將 LWIFI_WPA 改為 LWIFI_WEP (若使用 WEP安全機制)或 LWIFI_OPEN(若不使用加密)

- 請Ctrl+R重新編譯 LASS.ino 程式,確認有USB連線與Link modem port, 並上傳至 LinkIt One 即可執行


測試與資料接收
- 若要觀看即時呈現感測器的資料,可參考下列網頁之說明(看自己的需要決定需要看多少)
- 系統提供的部分(使用者只需使用,不需建置)
- LASS Field Try #1 - 即時 PM2.5 全台地圖
- LASS Field Try #1 - PM2.5 Figures by device ID
- LASS Data Portal
- 使用者客製化(只有在使用者有相關需求的時候才需要建置)
- 自上 ThingSpeak 的方法 LASS Field Try 1 之即時數據呈現系統
- 自上 ThingSpeak 儀表板 LASS Field Try 1 之即時PM2.5資訊儀表板介面
- 偵錯才需要
- 要檢查資料是否已經上傳 MQTT, 這個最直接,檢查 server 是否有將資料記錄在 log 中
- How to get data log from server
- 若使用 Apple 手機,可下載 MQTT Tester/Client (需付費),並設定 MQTT server 為 gpssensor.ddns.net,Port number 為 1883,Topic 為 LASS/Test/PM25,即可接收所有 Field Try 訊息
- 若使用Android手機, 可下載MyMQTT,設定值同上
- 此次 sensor 資料說明請參考 LASS - App List and Sensor information
常見問題與回答
- 建議開機方式:
- 如果遭遇當機,燈號 TX和RX都會間歇閃爍,這有可能是目前已知的Wifi 問題 也有可能是Power on reset 的問題。建議開機時,將USB插上後,先用BAT供電位置等待所有燈號熄滅 ,再切回USB供電位置。目前這樣開機 都還不太會遇到當機。
- 請更新程式碼到 0.7.13 或之後的最新版本,此版本的程式已針對WiFi導致的當機問題進行處理,大幅減低因為WiFi導致的當機機會
- 在系統的圖表沒看到的 DeviceID
- 檢查 server 有沒有收到
- How to get data log from server
- 如果沒收到,請檢查 USB console 的 debug output


- 如果顯示 wifi not ready
- 一般表示沒有連上 wifi ap, 請檢查 wifi id, wifi pwd, wifi_auth, 或是 wifi AP 是否正常
- 如果顯示 wifi ready
- 表示 AP 連接正常,如果 AP 連上 internet 是正常的,一般 server 應該已經收到。如果還沒收到,請確認 MQTT 設定是否被更動到
- 另外可將PC網卡設為AP mode, WireShark Linkit ONE,看有無MQTT封包在上面
- 如果看到時間不正常 (如上圖 2080-01-06)
- 一般是 GPS 沒有定到位。常見原因是在室內,或是GPS 天線沒有安裝。
- GPS 時間為 GMT+0, 所以和台灣時間差八小時是正常的
- 如果 server 有收到,而且資料格式正確(如果沒被更動到,一定是正確的),應該就可以在系統提供的功能報表上看到資料
- 當有問題時,如何取得協助
- 如果您有長期監測的打算,LASS 有 Field Try 的 FB 討論串,找個有在 Field Try 的夥伴,請他幫您加入
- 請確定查詢過 hackpad 相關的資料,以及上述的自我偵錯方式皆已無效
- 請將 USB console 的關鍵輸出,發文到 LASS FB ,提醒如果沒有提供關鍵的所需資料,人家很難幫助上您
- 覺得安裝與偵錯步驟寫得不夠正確,貼心?
- 每個人都有盲點,對系統越熟的人,越容易少寫東西,請隨手更新文件,因為前人的幫助,目前才能有這樣的系統,隨手做出貢獻,才是參與開源專案的良好習慣
- 如果在Monitor 中程式都執行正常,但是自已的資料好像都沒有送出
- 有可能是因為 Arduino 自動更新了你的 pubsubclient library,在新版的 pubsubclient 每次送出的長度只有 128 ,所以需要自已修改 PubSubClient.h,請手動修改在 PubSubClient.h 中 MQTT_MAX_PACKET_SIZE 設定值,建議修改到 768 (LASS 中 PubSubClient.h 的設定值)以上