LINE 在 2017 年就宣佈要佈局物聯網了,介紹了『LINE Things』這個平台,一直到 2018 年年底的開發者大會,我們才看到一些端倪,而在 2019 年年初釋出了相關 API 文件。LINE 的想法是制定一個協議(規範)給 IoT 廠商走,他們就不需要為了這個裝置去開發 App,所以可以省下開發成本,而我們使用者可以很容易的利用 LINE 來控制相關的 IoT 裝置。
底下操作是參考官方給的文章去實作,若有任何錯誤或是其他問題,歡迎留言討論。
LINE的設定
- 創建一個新的頻道(機器人),並加為好友。
- 建立 LIFF 應用程序,這是要做一個網頁來控制藍芽,其中 Endpoint URL 先隨便填寫(後面步驟我們回過頭來填),然後記得要將 BLE feature 選 ON。
- 建立完成後,會看到 LIFF URL 產生了一個網址,line://app/xxxxxxxx-xxxxxxxx。line://app/ 後面就是你的 liffId (LIFF APP ID)。
- 接者我們要靠 LINE Things API 去註冊你的產品。curl 下的指令如下:
curl -X POST https://api.line.me/things/v1/trial/products \
-H 'Authorization: Bearer 你的 token' \
-H 'Content-Type:application/json' \
-d '{
"name": "你的產品名稱",
"liffId": "剛剛取得的 LIFF APP ID"
}'
成功之後回傳內容大概會有下列幾個項目,請把 serviceUuid 記下來。
{
"id": {productId},
"name": "{trial product name}",
"actionUri": "{LIFF APP URL}",
"channelId": {channelId},
"type": "BLE",
"serviceUuid": "{serviceUuid}",
"psdiServiceUuid": "{psdiServiceUuid}",
"psdiCharacteristicUuid": "{psdiCharacteristicUuid}"
}
LIFF 裡面的控制頁面程式
- 如果你沒有自己的 Web 空間,你可以利用 GitHub 頁面託管。請 fork 這個程式碼 https://github.com/line/line-things-starter/
- 修改 life-app/liff.js 這個檔案,將第 2 行 const USER_SERVICE_UUID 後面的 id 改為上一個步驟取得的 serviceUuid 字串。
- 我們要發佈,所以改完後執行 Settings,跳轉到設定頁面往下找到 GitHub Pages,將 Source 項目 None 改為 master branch 並儲存。
- 這時你應該會看到上面出現訊息:Your site is ready to be published a https://你的github帳號.github.io/line-things-starter
- 所以你的 LIFF 應用程序的 Endpoint URL 可以填寫了 https://你的github帳號.github.io/line-things-starter/liff-app/
開發版的程式
在硬體方面,需要藍芽功能,因此我準備了一塊 Espressif ESP32-DevKitC、LED 燈、電阻。接法如圖:

程式請複製官方範例 https://github.com/line/line-things-starter/blob/master/esp32/arduino/sample/sample.ino
一樣需要修改 serviceUuid,找到 #define USER_SERVICE_UUID “91E4E176-D0B9-464D-9FE4-52EE3E9F1552″,將後面的字串 91E4E176-D0B9-464D-9FE4-52EE3E9F1552 換成上面步驟取得的 serviceUuid。
開始啟動你的第一個 LINE Things
手機記得先開啟藍芽,然後開啟 LINE 掃描這個 QRCode。

請依照指示操作之後,若可以在『可連結的裝置』中看到你的開發版,恭喜你已經完成了!
資料參考
- LINE Things 指南 https://developers.line.biz/en/docs/line-things/
- LINE Things API 參考文件 https://developers.line.biz/en/reference/line-things/
- LINE 工程師的教學文章 https://engineering.linecorp.com/en/blog/line-things-developer-trial/
你或許會想要看:
- 暫無相關文章
是說這樣卡User service UUID 跟 PSDI真的太麻煩…
無法以現有裝置整合進去, 還要回頭改藍牙的部分才能連:(
目前看來都是試驗階段,猜想之後的相關ID參數,應該不會這樣子還要手動修改吧?!