作者/攝影 |
本文改編自聯發科技Cloud Sandbox(MCS)官方部落格上的文章,特此感謝聯發科技的授權,圖文版權均屬於聯發科技。 |
文章分類 | 教學技術文 |
時間 | |
成本 | |
難度 | |
材料表 |
以物聯網概念將剩餘車位資訊送至MCS服務上
這一次,MCS( MediaTek Cloud Sandbox 的簡稱)的工程師們,要教讀者如何透過外部服務與 MCS 進行互動,以達成客製化應用。
情境
您目前正經營一個停車場,某天您剛好去保養付款機台時,聽到一位常客抱怨無法在抵達前知道剩餘的車位,到現場時才能從顯示屏上得知停車位已滿的訊息,而必須繞路至附近另一間停車場或在現場苦等。
因此,您希望提供一個更便利的方式,讓常客們可更有效率造訪您的停車場。您想達成兩個目標:第一是讓用戶可透過手機查詢目前停車場的剩餘車位;第二是當剩餘車位低於某個數字時,主動推播提醒該位常客。
對於這兩個目標,我們要考量到以下幾點:
-
若獨立開發一個停車場的 App 服務,用戶需做較多操作,除增加行車危險性,且用戶額外安裝一個 App 的意願也不高。
-
開發一個停車場 App 的開發時間及成本
-
目前絕大多數台灣人隨時隨地都在使用 LINE
因此,您決定透過開發一個簡單的 LineBot 聊天機器人,使常客可透過將這個聊天機器人加入 LINE 好友,與您的停車場互動並達成上述兩個目標。
接下來,就將針對如何透過 LINE Bot 設定、MCS及自動化程式平台,說明如何開發這個簡單的 LINE Bot 聊天機器人。
首先,我們要開發一個簡單的物聯網裝置,連結停車場的車位管理設備,並讀取剩餘車位的資訊。當有用戶停車時,這個物聯網裝置會將更新後剩餘車位的數值送至 MCS 的雲端服務上,如下圖:
這裡要特別介紹一個概念:目前大部分的 MCS 的使用者,都是透過裝置與 MCS 服務做互動。但除了裝置外,MCS 也允許使用者開發的外部服務,透過在 MCS 上所申請的憑證與 MCS 互動 ,這組憑證即為 appId 和 appSecret。下圖為 MCS 官網上針對以外部服務讀取資料點的說明。
由於我們後續必須透過外部服務讀取這個裝置的剩餘車位資訊,這組憑證對接下來的開發將非常關鍵,我們將運用下一篇文章針對此部分進行詳細說明。
申請一個 LINE Bot 機器人及 Automate.io 簡介
接著,我們要去 LINE 申請一個 LINE Bot。
網路上已經有相當多關於如何申請 LINE Bot 的文章,在此我們就不多著墨。以下為在 LINE developers 後台內,該 LINE Bot 的設定畫面,我們為這個 LINE Bot 取一個很酷的名字 :互動式停車場-中山北路。
LINE Bot 所提供的 Messaging API ,允許開發者建立可接收訊息並回覆給加入LINE Bot 的用戶。此 LINE Bot 的程式處理架構為:LINE 公司的訊息伺服器(Messaging Server)負責接收及回應用戶端的訊息,並且管理 LINE 應用程式的權限。當 LINE 訊息伺服器收到用戶端的訊息時,它會把訊息轉送給我們所開發 Linebot 程式的網站,我們的網站程式會把我們設定要回覆給用戶的訊息傳回給 LINE 伺服器,最後再由 LINE 伺服器將訊息回覆給用戶。
在 LINE Bot 的設定頁面,請檢查以下設定:
-
Issue 一個 Channel access token(後面LINE Bot回覆訊息時,會需要用到此變數)。
-
Use webhooks 欄位修改為Enabled
-
將下方的自動回覆(Auto-reply messages)功能關閉
-
輸入 webhook 的 URL
以上1至3點設定完畢後,我們只差第4點尚未完成——輸入 Webhook URL(上圖的黃框)。LINE Server 會透過這個Webhook將訊息送至我們的開發 LINE Bot 程式的網站 ,而LINE官方範例使用Heroku這個服務做為開發 LINE Bot 程式網站的後端平台,並接收 LINE Server 的訊息(若讀者有興趣使用此後端服務開發LINE Bot,可直接上網搜尋「Building a sample bot with Heroku」)。但在此,我們直接使用一個非常好用的自動化程式平台Automate.io (https://automate.io/),可以讓我們透過簡單的設定,取代寫程式開發這個 LINE Bot 程式。而我們等一下也將透過Automate.io生成圖4中LINE Bot 設定頁面所需輸入的 Webhook URL 。
決定以 Automate.io 取代程式開發後,我們的 LINE Bot 聊天機器人服務架構就成為下面這張圖:
現在,我們有了整個 LINE Bot 的開發雛型。下次,我們將會向讀者說明,如何透過Automate.io連通MCS及LINE server,並完成LINE Bot 的開發。