[MCS雲端服務] 透過「服務提供者」功能,讓LINE Bot與MediaTek Cloud Sandbox連動(上)

作者/攝影

本文改編自聯發科技Cloud Sandbox(MCS)官方部落格上的文章,特此感謝聯發科技的授權,圖文版權均屬於聯發科技。

文章分類教學技術文
時間
成本
難度
材料表

以物聯網概念將剩餘車位資訊送至MCS服務上

這一次,MCS( MediaTek Cloud Sandbox 的簡稱)的工程師們,要教讀者如何透過外部服務與 MCS 進行互動,以達成客製化應用。

 

情境

您目前正經營一個停車場,某天您剛好去保養付款機台時,聽到一位常客抱怨無法在抵達前知道剩餘的車位,到現場時才能從顯示屏上得知停車位已滿的訊息,而必須繞路至附近另一間停車場或在現場苦等。

 

因此,您希望提供一個更便利的方式,讓常客們可更有效率造訪您的停車場。您想達成兩個目標:第一是讓用戶可透過手機查詢目前停車場的剩餘車位;第二是當剩餘車位低於某個數字時,主動推播提醒該位常客。

 

對於這兩個目標,我們要考量到以下幾點:

  1. 若獨立開發一個停車場的 App 服務,用戶需做較多操作,除增加行車危險性,且用戶額外安裝一個  App 的意願也不高。

  2. 開發一個停車場 App 的開發時間及成本

  3. 目前絕大多數台灣人隨時隨地都在使用 LINE

 

因此,您決定透過開發一個簡單的 LineBot 聊天機器人,使常客可透過將這個聊天機器人加入 LINE 好友,與您的停車場互動並達成上述兩個目標。

 

接下來,就將針對如何透過 LINE Bot 設定、MCS及自動化程式平台,說明如何開發這個簡單的 LINE Bot 聊天機器人。

 

首先,我們要開發一個簡單的物聯網裝置,連結停車場的車位管理設備,並讀取剩餘車位的資訊。當有用戶停車時,這個物聯網裝置會將更新後剩餘車位的數值送至 MCS 的雲端服務上,如下圖:

圖1 該裝置在測試裝置頁面示意,位置資訊在此裝置內為固定 | mcs.mediatek.com

 

這裡要特別介紹一個概念:目前大部分的 MCS 的使用者,都是透過裝置與 MCS 服務做互動。但除了裝置外,MCS 也允許使用者開發的外部服務,透過在 MCS 上所申請的憑證與 MCS 互動 ,這組憑證即為 appId 和 appSecret。下圖為 MCS 官網上針對以外部服務讀取資料點的說明。

圖2 無論是讀取或上傳資料點,外部服務皆可透過憑證與MCS互動 | mcs.mediatek.com

 

由於我們後續必須透過外部服務讀取這個裝置的剩餘車位資訊,這組憑證對接下來的開發將非常關鍵,我們將運用下一篇文章針對此部分進行詳細說明。

 

申請一個 LINE Bot 機器人及 Automate.io 簡介

接著,我們要去 LINE 申請一個 LINE Bot。

 

網路上已經有相當多關於如何申請 LINE Bot 的文章,在此我們就不多著墨。以下為在 LINE developers 後台內,該 LINE Bot 的設定畫面,我們為這個 LINE Bot 取一個很酷的名字 :互動式停車場-中山北路

圖3 Line developers 的後台設定頁面

 

LINE Bot 所提供的 Messaging API 允許開發者建立可接收訊息並回覆給加入LINE Bot 的用戶。此 LINE Bot 的程式處理架構為:LINE 公司的訊息伺服器(Messaging Server)負責接收及回應用戶端的訊息,並且管理 LINE 應用程式的權限。當 LINE 訊息伺服器收到用戶端的訊息時,它會把訊息轉送給我們所開發 Linebot 程式的網站,我們的網站程式會把我們設定要回覆給用戶的訊息傳回給 LINE 伺服器,最後再由 LINE 伺服器將訊息回覆給用戶。

 

在 LINE Bot 的設定頁面,請檢查以下設定:

  1. Issue 一個 Channel access token(後面LINE Bot回覆訊息時,會需要用到此變數)。

  2. Use webhooks 欄位修改為Enabled

  3. 將下方的自動回覆(Auto-reply messages)功能關閉

  4. 輸入 webhook 的 URL

圖4 LineBot 設定頁面,可拉至最底端掃描這個 LINE Bot 的 QR Code,將機器人加入您的LINE好友,以利後續測試。

 

以上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 。

圖5 Automate.io 是個自動化程式平台,很類似 Zapier/IFTTT,可讓使用者建立自動化程式(Bot),透過簡單的 REST、Webhook等設定,串連使用者所用的網路服務而不需撰寫程式,進而節省使用者的開發時間。

 

決定以 Automate.io 取代程式開發後,我們的 LINE Bot 聊天機器人服務架構就成為下面這張圖:

圖6 LINE Bot聊天機器人 / 自動化程式平台 / Mediatek Cloud Sandbox開發架構示意圖 | mcs.mediatek.com

 

現在,我們有了整個 LINE Bot 的開發雛型。下次,我們將會向讀者說明,如何透過Automate.io連通MCS及LINE server,並完成LINE Bot 的開發。

 

相關文章

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *