Line Things是Line推出的IoT平台 ,簡單來說就是透過Line 去控制附近的藍芽裝置,
介面則是透過Line去載入LIFF App中所設定的EndPoint URL,開發商只需依照Line的
規範去實作硬體及韌體,無須自行再開發APP。
1.首先要申請一個Line Bot ,然候掃描Bot QR Code加入好友!!!
2.Fork 這個Github到您的Github帳戶 (若有自己的網頁空間亦可以將
liff-app下的內容複制到您的個人空間中)
https://github.com/line/line-things-starter
3.到您帳號下Fork出來的專案中Settings頁面
將Source設為master branch,並且點擊Change theme後任選一個 ,就會出現您的網頁URL
4.接下來回到Line Bot,申請一個LIFF App
把剛才的URL貼在Endpoint URL中,記得補上/liff_app , 記下LIFF URL 最後數字及英文,就是LIFF APP ID ,記得BLE Feature要開
EX:
https://flowercatswets.github.io/line-things-starter/liff-app/
5.回到Channel Setting 記一下Token ,如果沒有出現按一下最右邊的Issue,選個24 HR
6.最重要的過程是註冊取得Service UUID ,在mac 或Linux可以透過指令
curl -X POST https://api.line.me/things/v1/trial/products -H 'Authorization: Bearer 剛才的Token' -H 'Content-Type:application/json' -d '{"name": "LIFF APP 名字(例如我的是LIFF_BOYWHY","liffId": "LIFF URL最後面的數字及英文"}'
在Windows可以透過Restlet Client
如果成功會回應如下內容,重要的只有圈起來的部份,就是我們要的UUID。
7.點擊您Fork出來的專案下的liff-app中的liff.js
點擊右方的筆圖示編輯它
把USER_SERVICE_UUID改成剛才得到的UUID
接下來拉到最下方按Commit存檔
7.在此以ESP32示範,官方的範例中亦支援nrf52 / Micro:bit等開發版的範例程式。
開啟Arduino,點擊Preferences,加入額外的開發版網址
https://dl.espressif.com/dl/package_esp32_index.json
接下來到版子管理員,搜尋ESP32並安裝
裝官方的Sample Code 貼到一個Arduino IDE中 ,並修改USER_SERVICE_UUID
我用的版子是這一塊 ESP32 Bit Kit , 版子上有LED及Button , 腳位和程式碼中相同。
選擇開發版為ESP32 Dev Module ,注意一下您的序列埠設定可能與我不同。
沒問題的上請上傳程式碼到ESP32,大概要1~2分鐘。
8.用手機掃描這個QR Code 開啟Line Things ,第一次開啟要同意資料存取。
接下來你就可以看到畫面上有你的LIFF APP名字
允許配對藍芽(iphone)
連線裝置成功。
至於為什麼頁面只有半面呢?這是剛才的選項中選擇了Compact,選擇FULL的話會是整頁。
接下來點一下Switch LED ON , 畫面呈現如下,此時ESP32上的LED也亮起來了
按幾下右邊的按鈕(左邊的是重置,不要按到),你會發現Click Count累進了。
當你按下ESP32上的按鍵不放時,Button State也會變成Pressed
以上是初次玩Line Things心得,如果我們把LIFF APP Size改成Tall及Full, 則如下
Line Things目前還比較麻煩,取得UUID必須靠注冊,每次註冊取得的UUID會不同。
即使你使用同一組Token,這點要稍微注意一下。
參考資料: