LASS Field Try 1 之即時數據呈現系統
前情提要
- LASS 的第一個 Field Try 即將展開
- LASS Field Try #1 - 大家一起來
- LASS Field Try 第一彈:PM2.5量測裝設指南
- 使用者需要一個即時知道自己感測器資料的方法,例如:
- FT1_001 的即時資料顯示介面(https://thingspeak.com/channels/61022)
- FT1_001 的PM2.5 即時資訊儀表板介面(https://thingspeak.com/apps/plugins/25091)
準備步驟
Windows 作業系統
- 要先確定電腦有安裝 python
- http://goo.gl/j77HPU python安裝教學
- WINDOWS 要注意環境變數要設定好
- 開啟命令提示字元
- 安裝 pip (Python套件管理程式ˇ)
- 下載 get-pip.py
- 輸入 python get-pip.py
- 利用 pip 來安裝 mqtt 函式庫
- pip install paho-mqtt
- pip install httplib2
- 在 ThingSpeak.com 上建立一個帳號(若已有帳號可略過)
- 使用ThingSpeak.com帳號登入系統後,選擇 Channels -> My Channels -> New Channel
- 在 New Channel 的設定網頁中依序填入
- Name: 您所要呈現的 LASS Field Try 1 的設備 ID (FT1_XXX 格式)
- Field 1: 輸入 PM2.5
- Field 2: 先在旁邊方格打勾,接著在文字框輸入 Temperature
- Field 3: 先在旁邊方格打勾,接著在文字框輸入 Humidity
- Field 4: 先在旁邊方格打勾,接著在文字框輸入 Battery Level
- Tags: 輸入 PM2.5, LASS, LinkIt One
- Make Public?: 在方格打勾
- 最後點擊 "Save Channel"
- 在 My Channels 中選擇剛剛設定的 Channel,接著選取 API Keys,記下上面的 Write API Key (共16個英數字元)
- 下載 lass_pm25_to_thingspeak.py
- 執行 lass_pm25_to_thingspeak.py
- 輸入 python lass_pm25_to_thingspeak.py FT1_0XX WRITE_ API_KEY
- FT1_0XX 為裝置名稱
- WRITE_ API_KEY 為寫入資料到 thinkspeak 所需要的 key
MAC 作業系統
- 在 ThingSpeak.com 上建立一個帳號(若已有帳號可略過)
- 使用ThingSpeak.com帳號登入系統後,選擇 Channels -> My Channels -> New Channel
- 在 New Channel 的設定網頁中依序填入
- Name: 您所要呈現的 LASS Field Try 1 的設備 ID (FT1_XXX 格式)
- Field 1: 輸入 PM2.5
- Field 2: 先在旁邊方格打勾,接著在文字框輸入 Temperature
- Field 3: 先在旁邊方格打勾,接著在文字框輸入 Humidity
- Field 4: 先在旁邊方格打勾,接著在文字框輸入 Battery Level
- Tags: 輸入 PM2.5, LASS, LinkIt One
- Make Public?: 在方格打勾
- 最後點擊 "Save Channel"
- 在 My Channels 中選擇剛剛設定的 Channel,接著選取 API Keys,記下上面的 Write API Key (共16個英數字元)
- 下載LASS資料轉ThingSpeak程式: https://github.com/LinkItONEDevGroup/LASS/blob/master/DataPresentation/lass_pm25_to_thingspeak.py i
- 執行LASS資料轉ThingSpeak程式:./lass_pm25_to_thingspeak.py LASS_DEVICE_ID ThingSpeak_API_Key
- 其中 LASS_DEVICE_ID 為 LASS Field Try 1 的設備 ID (FT1_XXX 格式)
- ThingSpeak_API_Key 為新設 ThingSpeak Channel的 ThingSpeak Channel (共16個英數字元)
- 在unix like系統上,可用下列指令將程式丟到背景執行(除非關機,否則即使logout也會繼續執行): nohup ./lass_pm25_to_thingspeak.py LASS_DEVICE_ID ThingSpeak_API_Key &
- 需要先安裝 pip 請參考這裡 http://pip.readthedocs.org/en/stable/installing/
- python library installation
- pip install paho-mqtt
- pip install httplib2
- 回到 ThingSpeak 網站,在 My Channels 中選擇剛剛設定的 Channel,接著選 Private View 或 Public View 即可見到即時更新的感測資料,其中 Public View 的網頁網址可以分享給其他朋友(不需要 ThingSpeak 帳號即可瀏覽)
- 若要呈現PM2.5即時資訊儀表板介面,可參考LASS Field Try 1 之即時PM2.5資訊儀表板介面自行製作。
其他功能
- 若要自行撰寫資料相關程式,可參考 ThingSpeak API 網頁
- 若要設定「斷線通知」,可在 ThingSpeak 下依照下列步驟設定
- ThingSpeak 主畫面 -> Apps -> React
- 點擊 「New React」
- 在 React Name 輸入這個 Reack 的名稱,例如:"LASS FT1_XXX Offline"
- 在 Condition Type 選擇 No Data Check
- 在 Test Frequeny 選擇 Every 10 minutes
- 在 Condition 的第一個選單中,選擇對應的 ThingSpeak Channel
- 在 Condition 的第二個方框中,輸入 "2"
- 在 Action 的選單中選擇 ThingTweek
- 在 then tweet 方框中輸入當設備斷線時,您希望收到的訊息,例如: "[LASS] Your device FT1_XXX is offline"
- 在 using Twitter account 中,選取您的 Twitter 帳號 (註:您必須事先設定好 ThingSpeak 和您的 Twitter 帳號連結)
- 在 Options 中選擇 Run action only the first time the condition is met
- 點擊 「Save React」
- 按照以上設定,倘若LASS設備出現當機現象時,最遲在 12 分鐘內,在您的 Twitter 帳號上便會收到 ThingSpeak 傳來的通知
- 若要設定「PM2.5警報」,可在 ThingSpeak 下依照下列步驟設定
- ThingSpeak 主畫面 -> Apps -> React
- 點擊 「New React」
- 在 React Name 輸入這個 Reack 的名稱,例如:"LASS FT1_XXX Alarm"
- 在 Condition Type 選擇 Numeric
- 在 Test Frequeny 選擇 Every 30 minutes
- 在 Condition 的第一個選單中,選擇對應的 ThingSpeak Channel
- 在 Condition 的第二個選單中,選擇 1 (PM2.5)
- 在 Condition 的第三個選單中,選擇 is greather than
- 在 Condition 的輸入方框中,輸入您想要設定的PM2.5警報臨界值,例如 35
- 在 Action 的選單中選擇 ThingTweek
- 在 then tweet 方框中輸入當PM2.5超過臨界值時,您希望收到的訊息,例如: "[LASS] PM2.5 of FT1_XXX is %%trigger%% now!",其中 %%trigger%% 將來在送出訊息時,會自動被取代成 PM2.5 的量測值
- 在 using Twitter account 中,選取您的 Twitter 帳號 (註:您必須事先設定好 ThingSpeak 和您的 Twitter 帳號連結)
- 在 Options 中選擇 Run action only the first time the condition is met
- 點擊 「Save React」
- 按照以上設定,倘若LASS設備量測到超過臨界值的 PM2.5濃度時,最遲在 30 分鐘內,在您的 Twitter 帳號上便會收到 ThingSpeak 傳來的通知
常見問題與答案