obniz が LINE Things に対応したというニュースを見て、
これは試さねば!、と思い早速やってみました。
obniz と LINE Things について
obinizとは、電子工作・IoTが簡単に行えるデバイスです。
詳細は、以下の記事・公式サイトをご覧ください。
LINE Thingsは、LINEアプリ を介して BLE(Bluetooth Low Energy)対応デバイスを操作するIoTプラットフォームです。
こちらも詳細は、公式ページをご覧ください。
試すときに参照した情報
今回参照した主な情報は、以下のとおりです。
- LINE Things Developer Trial ハンズオン - Qiita
- line-things-starter/obniz at master · line/line-things-starter
1つ目が、昨年11月に参加した LINE Things のイベントで提供されたハンズオン用資料で、
2つ目は、GitHub の LINE Things関連の情報のうち、obniz に関する情報が書かれた部分です。
LINE Things で obniz を使ってみる
obniz側の設定など
上記のGitHubのページを見つつ、準備を進めます。
- まず、obniz を利用可能な状態にします(電源をつないで、Wi-Fiに接続)。
-
obniz の「プログラム」のページを開き、
上記の GitHub のページのサンプル(htmlファイル) の内容を貼り付けつつ、
ソースコード中(「// Change this to your Obniz ID」の下の行)に、上記 1)で obniz の画面に表示された ID(8桁の数字)を入力します。 - 試しにプログラム実行してみると、QRコードや ID が表示されていた画面に、以下のように Obniz Ready という文字が表示されます。
上記 2)のソースコードの「USER_SERVICE_UUID」の部分は、書きかえる必要がありますが、ひとまず後回しに。
LINE側のあれこれ
上記の LINE Things ハンズオンの資料をもとに進めて行きます。
資料で丁寧に説明されているので、おおまかな流れだけをテキストをメインで記載します(詳細はハンズオン資料をご参照ください)。
- 資料の「LINE Things Starter を体験する」という部分の、
「LINE Developers の開発者情報登録とプロバイダーの作成」に従って、
開発者情報の登録や、LINE の Bot を作るためのプロバイダー作成を行います。 - 上記 1)の続きの部分「Messaging API のチャネル (LINE Bot) の作成」を参照しつつ、
Messaging API の新規チャネルを作成します。 - 上記 2)で作成したチャネルで「 "アクセストークン(ロングターム)" の "再発行" 」を実行します。
このページの「Channel Secret」と合わせて「アクセストークン(ロングターム)」を後で参照できるようメモしておきます。 - 同ページ内で「LINEアプリへのQRコード」という項目があるので、その QRコードを LINEアプリで読み込み、Botを友達追加します。
-
ハンズオン資料内の「LIFF アプリの準備と作成」の部分に従って、LIFF (LINE Front-end Framework) アプリの準備を行います。
資料に書かれたとおり、サーバの準備を省略するため「GitHub Pages」を活用すると良いです。
この手順を実行すると、「 https://{(GitHutのユーザ名)}.github.io/line-things-starter/liff-app/ 」という URLで LIFFアプリを利用できるようになります(この URL が「LIFF のエンドポイント URL」になります)。 - LINE Things 向けの LIFF を作成する際には、BLE feature を ON に設定する必要があります。
ハンズオン資料の「LIFF アプリの作成と BLE feature の付与」の部分を参照し「LINE Developers コンソールからの LIFF の作成」を行っていきます。
資料に書かれたとおり、BLE feature の付与やエンドポイント URL の設定を進めます。
この作成手順の後に表示される「LIFF URL」は、後で使うのでメモしておきます。 -
ハンズオン資料の「LINE Things プロダクトの作成」の部分を見ながら、curl コマンドを使って LINE Things の新しいプロダクトを作成します。
資料に記載された参照ページを見ながら、LINE Things Developer Trial 専用 API を利用してプロダクトを作成します。
手順の中の curl コマンドに含まれる「"name": ""」の部分は、好きなプロダクト名称で良いようです(後で分かりやすいものにしておくのが良いです)。また、liffId には、上記 6)で作成した LIFF URL の文字列のうち line://app/ 以降の部分の文字列を用います。
このプロダクト作成 API を叩いたときに、結果として表示される情報の中で、「serviceUuid」が、obniz のセットアップの手順にでてきた、ソースコード中の「// Change this to your generated service UUID」と書かれた行の下で使う情報です。obniz の「プログラム」のページで、この部分を 取得した serviceUuid の内容に書きかえましょう。 -
ハンズオン資料の「LIFF アプリの書き換え」の部分を参照しつつ、「liff.js」の「USER_SERVICE_UUID」を書きかえます。
ハンズオン資料では「Fork したリポジトリを手元の PC へ clone」して書きかえを行っていますが、この部分は下記のリポジトリのファイルを、GitHub上で直接書きかえました。
https://github.com/{(GitHutのユーザ名)}/line-things-starter/blob/master/liff-app/liff.js
- ハンズオン資料の「LINE と LINE Things デバイスを連携させてみよう」の部分の手順で、資料内に掲載されている QRコードを LINEアプリで読み取り、LINE Things の機能を有効化します。
- 上記 9)での機能の有効化を行った後、obniz の「プログラム」のページで「保存&開く」をクリックし、obniz側のプログラムを実行します。
- 上記 10)でプログラムの実行が成功していれば、LINEアプリで obnizが検出されます。そして、LINEアプリの画面の "連携可能なデバイス" の部分に、先ほど作成したプロダクトの名前が表示されるので、それを選択します。
- ハンズオン資料の「LINE Things の LIFF BLE 機能を体験しよう」の部分にあるとおり、LINEアプリの画面上で「連携画面のプロダクト名」をタップします。
- ここで表示されるペアリングの要求を承認すると、LIFF アプリが立ち上がります。起動されたアプリ上で、以下の動画にあるように、「Switch LED ON(OFF)」と書かれたボタンをタップすると、obnizのディスプレイ上に表示された ON/OFF の文字が、ボタンのタップに連動して切り替わります。
#obniz で #linethings 、
— you (@youtoy) 2019年2月4日
早速試してみたよ。 pic.twitter.com/tMjRyAATre
最後に
今回、obniz を LINE Things の連携デバイスとして利用しました。
その他、obnizは冒頭の記事などにも書いてあったとおり、電子工作などにも利用できます。
公式ページに obnizを使った楽しい作品例がたくさん掲載されていたり、公式で動作確認されたパーツのリスト&パーツを動作させるためのプログラム集が掲載されています。
是非、ご興味のある方は、そちらも見てみてください。