LINE Thingsって何ですか?
LINE Thingsは、LINEを介して、チャネルとBluetooth® Low Energy対応デバイスを連携し、操作を可能にするIoTプラットフォームです。
LINEでって書いてあるけど、LINEでIoTデバイスと連携ってあんまりイメージ湧かない。というかそんなにうれしくない気がする。どう活用できるんだろう?
ただ、LINE Front-end Framework(LIFF)ってのがあって、これと連携っていうのはいろいろ便利そう。LIFFありき?
LIFF
LINE Front-end Framework(LIFF)は、LINE内で動作するウェブアプリのプラットフォームです。
LIFFに登録したウェブアプリ(LIFFアプリ)をLINE内で起動すると、LINEのユーザーIDなどをLINEプラットフォームから取得できます。LIFFアプリではこれらを利用して、ユーザー情報を活用した機能を提供したり、ユーザーの代わりにメッセージを送信したりできます。
(ぜんぜん関係ないけどLINE SDK for Flutterともあるのか。お手軽そうだし触ってみたい。。)
Hello LINE Things
そんなわけでLIFFとLINE ThingsとESP32デバイスを使ってHello worldしてみようと思います。一回どんなものか試してみないとイメージが膨らまない。
いやね。LINE Things Mini Awardってのがあるらしくて何か応募だけでもできないかと思いまして。
ちなみに今回使うのはこれ。今ちょうど余ってるので。
LINE Things Starter を試してみる
こちらのLINE Things Starter を試してみるあたりからを参考にしつつ進めていきます。
まずmacにarduino ideが入ってなかったので入れました。https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md に書いてあるボードマネージャも追加しておく。
次にhttps://github.com/line/line-things-starter/ をcloneして、esp32/arduino/sample/sample.inoを開いて、とりあえず焼いてみる。
手順
line-things-starter/esp32/README.ja.md
で、ちょっといろいろ試行錯誤はあったものの、ちゃんと焼けて、Bluetoothもスマホからは見えてて問題なさそうなんだけど・・
LINE Things からはいくら待っても見つからず。。
一旦諦める。
わからんのや。
公式ドキュメントに沿った流れに乗ってみます。
作業の流れ
公式のドキュメントです。ひとまずはこれに沿ってやります。
- Messaging APIのチャネルの作成
- LIFFアプリを作成する
- ボットアプリを作成する
- デバイスの作成
- LINE Thingsを試してみる
1. Messaging APIのチャネルの作成
すでに使えるのはある事はあるんだけど、適当なのを一から作ってみます。
どうせ公開しないので適当です。
このページのチャネルシークレットとアクセストークンが必要らしいです。
LINE ThingsのスターターLIFFアプリをデプロイする
独自のLIFFアプリを作成する場合は、『LINE Front-end Frameworkドキュメント』を参照してください。
とありますが、ひとまずは簡単な方で。
- https://github.com/line/line-things-starter/ をfork
- フォークしたリポジトリの[Settings]をクリックし、「GitHub Pages」の「Source」の[None]をクリックして、[master branch]をクリックします。
- github pages完成
- Messaging APIのチャネルにLIFFアプリを追加します。
ここからやるみたい。エンドポイントURLはhttps://{github username}.github.io/line-things-starter/liff-app/みたいな感じらしいです。
ボットアプリを作成する
今回はスキップ
デバイスの作成
デバイスを作成します。
LIFFアプリを完成させます。
ESP32とかにserviceUuidのようなLINE Thingsとして識別できる情報を埋め込んだりしつつデバイスを作る。line-things-starterのgithubのコードで概ね問題ないと思うのだが・・はて。
/liff-app/liff.jsのUSER_SERVICE_UUIDとかがデバイス側と一致してれば問題なさそう。
LINE Thingsを試してみる
スマホでサイト上のQRコードを読み込んでLINE Thingsの画面に。
そしてデバイスを見つけたら連携する。
いや、これが見つからんのですわ。。
・・お?
なんかアイホンで試してみたらうまくいきましたし。
俺のドロイドさんがなんかあかんのかな?
ほんとはもうちょっとやりたい事があったんだけど、今日のとこまではここまでにしといたる。
ちょっと中途半端だけど。
でもmacにarduino環境作れたしよかった。
その中途半端なソースはここ。完全にプロトタイプだけどおそらくこれは放置でまた新しく作る。
https://github.com/ikegam1/arduino-linethings-tutorial