LASS Field Try 第二彈:即時數據呈現系統

Home AllLASS Field Try 第二彈:即時數據呈現系統
擷取

LASS Field Try 第二彈:即時數據呈現系統

No Comments

前情提要
  • 使用者需要一個即時知道自己感測器資料的方法,例如:
  1. FT1_001 的即時資料顯示介面(https://thingspeak.com/channels/61022
  1. FT1_001 的PM2.5 即時資訊儀表板介面(https://thingspeak.com/apps/plugins/25091
  • 以下介紹如何建立一個和上面例子中一樣的網頁
準備步驟
 Windows 作業系統
  • 要先確定電腦有安裝 python
  • WINDOWS 要注意環境變數要設定好
  • 開啟命令提示字元
  • 開始 –> 執行 –> cmd
  • 安裝 pip (Python套件管理程式ˇ)
  • 輸入 python get-pip.py
  • 利用 pip 來安裝 mqtt 函式庫
  • pip install paho-mqtt
  • pip install httplib2
  • 在 ThingSpeak.com 上建立一個帳號(若已有帳號可略過)
  • 使用ThingSpeak.com帳號登入系統後,選擇 Channels -> My Channels -> N
  • ew 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程式:./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 &
  • python library installation
  • pip install paho-mqtt
  • pip install httplib2
  • 回到 ThingSpeak 網站,在 My Channels 中選擇剛剛設定的 Channel,接著選 Private View 或 Public View 即可見到即時更新的感測資料,其中 Public View 的網頁網址可以分享給其他朋友(不需要 ThingSpeak 帳號即可瀏覽)
其他功能
  • 若要自行撰寫資料相關程式,可參考 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 傳來的通知

發佈留言