---
# System prepended metadata

title: LASS Linkit ONE Field Try
tags: [LASS, Linkit ONE]

---



# LASS Linkit ONE Field Try
> LASS Field Try 安裝筆記
###### tags: `LASS` `Linkit ONE`
---

[TOC]

---

## 0.硬體清單

* Linkit ONE 開發板(含電池、Wifi及GPS天線)
* PM2.5 Sensor (擇一) 
    * PMS1003 G1
    * PMS3003 G3
    * PMS5003 G5
    * PMS5003T G5T
    * other...
* 溫溼度感測器 (擇一)
    * DHT11
    * DHT22
    * SHT31
    * other...

以下使用LinkIt ONE + PMS1003 + DHT11 的搭配來說明
![](https://i.imgur.com/IgcdDa6.jpg)



---

## 1.硬體安裝 
### 1.1 : LinkIt ONE安裝電池、WIFI及GPS天線
(若要直接給定座標，則可不裝GPS天線)
![](https://i.imgur.com/XmKJZZq.jpg)
> 這組的wifi天線不見了😭

<br />

### 1.2 : 將PMS1003 G1感測器之排線剪斷
並將剪斷那端的P1(紫)、P2(橘)、P4(藍)、P5(綠)四條線壓上杜邦接頭，其餘的線則收納好

<br />

### 1.3 : 將壓好的感測器排線接上LinkIt ONE:


| LinkIt ONE | PMS1003 G1 | 
| ---------- | ---------- | 
| 5V         | P1(紫)      | 
| GND        | P2(橘)      | 
| TX         | P4(藍)      | 
| RX         | P5(綠)      |

<br />

紫色接至5V、橘色接至GND、藍色接至TX、綠色接至RX:
![](https://i.imgur.com/cdBTo0h.jpg)

<br />

### 1.4 : 接上溫溼度感測器DHT11:
	

| LinkIt ONE | DHT11     |
| --------   | --------  |
| 3.3V       | P1        | 
| DATA (D2)  | P2        |
| GND        | P4        |

<br />

若使用非搭載在PCB的模組，DATA腳位須接上拉電阻:
![](https://i.imgur.com/nd41sSE.png)
> ref : DHT11 Datasheet 

<br />

(注意這裡的DHT11是有用上拉電阻的，不過拍的角度&用熱縮包起來所以不明顯)
![](https://i.imgur.com/9sBC9eg.jpg)

<br />
複習一下接線圖:
![](https://i.imgur.com/kW5Avg6.png)
> ref : https://lass.hackpad.tw/LASS-Field-Try-PM2.5-7xQSIilMeGU

<br />

將全部零件找個盒子或平台收納好，或者使用提供的3DP列印外殼:
https://github.com/anemoneryu/LASS/tree/master/3dp/anemone
![](https://i.imgur.com/EhjfixY.png)
> 其他組裝圖
>
>可以先安裝PM2.5感測器與電池
>![](https://i.imgur.com/3frNbI7.jpg)
>
>鎖上開發板，注意這鋰電池在開發板下方
>![](https://i.imgur.com/ucgzArR.jpg)
>
>完成圖
>![](https://i.imgur.com/XfZ3F2O.jpg)
>![](https://i.imgur.com/r20P96a.jpg)
>![](https://i.imgur.com/sLTIKuM.jpg)





>





 

<br />

## 2.軟體安裝
### 2.1 : 初次使用LinkIt ONE者請先安裝SDK:
https://docs.labs.mediatek.com/resource/linkit-one/en/getting-started/get-started-on-windows/install-the-arduino-ide-and-linkit-one-sdk

### 2.2 : 安裝專案所會用到的Library:
https://github.com/anemoneryu/LASS/tree/master/Device_LinkItOne/Libraries
> Arduino library安裝可參考:
> http://skybow.pixnet.net/blog/post/106036427-%5Barduino%5D%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%9D%E7%AC%AC%E4%B8%89%E6%96%B9%E5%87%BD%E5%BC%8F%E5%BA%AB(library)

### 2.3 : 下載需要的主程式與設定檔LASS.ino 、 configuration.h
https://github.com/anemoneryu/LASS/tree/master/Device_LinkItOne/LASS
>原版Code未支援PMS1003及DHT11感測器，若有使用此兩種感測器請使用此連結版本的主程式及Library

<br />

### 2.4 : 執行主程式，點擊configuration.h分頁進行設定:

**// STEP1部分:**
#define WIFI_SSID "LASS"; 
> 請將雙引號中的 *LASS* 改成您的 WiFi 名稱

#define WIFI_PASS "LASS123456"; 
> 請將雙引號中的 *LASS123456* 改成您的 WiFi 密碼（若不需要密碼可以跳過）

#define WIFI_AUTH LWIFI_WPA: 
>請設定與網關相同之認證設定，需要時請將 LWIFI_WPA 改為 LWIFI_WEP （若使用 WEP安全機制）或 LWIFI_OPEN（若不使用加密）

<br />

**// STEP3部分:**
#define DEVICE_ID "YOUR_DEVICE_NAME": 
>請將雙引號中的*YOUR_DEVICE_NAME*改成您自定的裝置名稱（任何字串皆可），Field Try 建議為 FT1_xxx


**// STEP4部分:**
#define FAKE_GPS 1
>若要使用實體GPS，請將FAKE_GPS設為0，並確保裝置的GPS訊號不會被屋頂等遮蔽。

>若FAKE_GPS 設1，則使用指定的座標位置。先打開google maps，在欲安裝的地圖位置點下滑鼠右鍵選擇[這是哪裡?]，並記下畫面下方出現的經緯度，最後填入gps_lat[]及gps_lon[]中。

在要安裝的地點右鍵->點擊**這是哪裡?**
![](https://i.imgur.com/D7MFbx9.png)

畫面下方會出現該座標的經緯度，將數值輸入到configuration.h中的gps_lat[]及gps_lon[]兩個參數中
![](https://i.imgur.com/jUvGhr8.png)


>以虎科大 綜三館為例:
const char gps_lat[]= "23.703489"; 
const char gps_lon[]= "120.431466";	


以上都修改完成後，將程式燒入至LinkIt ONE，並開啟終端機確認是否成功

<br />

## 3.測試與接收資料
若是連接電腦，可直接從終端機查看輸出:
![](https://i.imgur.com/Hiym90H.png)

<br />

若Wifi以及MQTT的連線正常，也可以在網址 https://pm25.lass-net.org/data/show.php?device_id=[YOUR_DEVICE_ID] 來查看，[YOUR_DEVICE_ID]請自行改為自己的裝置名稱

> 範例:https://pm25.lass-net.org/data/show.php?device_id=FT1_MHCI_LAB
> ![](https://i.imgur.com/wPjMClo.png)

<br />

也可以直接查看上傳的原始資料數據，到開放資料入口網站[https://data.lass-net.org/](https://data.lass-net.org/ )，將欲查詢的裝置ID輸入後送出即可
![](https://i.imgur.com/7ilZh9u.png)
>若是剛佈建完成的設備，建議使用7日內的API來查詢。由於系統使用的時區為UTC+0，使用每日的API要從早上08:00後才看的到資料；而最近一筆資料的API有時並不靈敏

<br />

## 已知問題
- Reconnecting to MQTT Proxy 有時會造成死機
> 在程式LOOP的過程中，若與Wifi AP的連線中斷，重新連上Wifi AP時，但這台Wifi AP並沒有連到網際網路就會發生
 
- ~~NTP server 獲得的時間少整整一天~~ (已解決)
> ~~目前先直接將所得到的時間加上86400(一天的秒數)~~

- ~~發送出去的時間比實際時間快一點~~ (已解決)
> ~~當前時間是由NTP所得到的時間，加上LinkitONE運行時間來求得的，只要setup的時間越長，誤差就越大 -> 扣掉啟動後一直到從NTP獲得資料的這段時間~~

<br />

## Reference:
https://lass.hackpad.tw/LASS-Field-Try-PM2.5-7xQSIilMeGU
https://lass.hackpad.tw/LASS-Data-specification-1dYpwINtH8R
https://github.com/LinkItONEDevGroup/LASS
https://data.lass-net.org/