2019年4月24日 星期三

[IoT]Line Things 初體驗

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,這點要稍微注意一下。


參考資料:





沒有留言:

張貼留言