概要
LINEのリッチメニューからobnizをLチカしてみたのでポイントを整理しておく。
Lチカの様子
obnizをLINEでリッチにLチカ#obniz#IoT#JavaScript#LINE#MessagingAPI#Lチカ pic.twitter.com/p7BY8fGc3x
— m (@getapojim) 2018年9月12日
にっこりポイント😄
- リッチメニュー作成時の指定内容は「URL」とし、obnizクラウド上のプログラムを直接指定する.
こうすることで自前のサーバーやクラウドサービスを経由する必要なし.
がっかりポイント😞
- 操作する際にリッチメニューをタップするたびに画面遷移が発生してウザい.
作成の流れ
①obnizにLEDをつなぐ
②obnizクラウド上でプログラムを作る
③obnizのイベントとして登録する
④LINE Messaging APIでチャネルを作成する
⑤LINE@ MANAGERでリッチメニューを作る
必要なもの
- obniz
- 抵抗入りLED
- リッチメニュー用画像(横1200ピクセル × 縦810ピクセル) 1枚
- LINE developersアカウント
作成手順
①obnizにLEDをつなぐ
obnizにLEDと電源をつないでWiFiに接続しておく.
LEDは抵抗入りを使うと、写真のように直接挿すだけなのでオススメ.
②obnizクラウド上でプログラムを作る.
obnizのサイト右上メニューから「クラウド」→「マイページ」をクリック
「新規作成」をクリック→以下を入力して「作成」をクリック
タイプ : WebApp - 新しいプログラムのためのhtmlファイル(デフォルト)
アクセスレベル : 非公開
ファイル名 : webhook_LED
(※正しいファイル名は自動でprivate_webhook_LED.htmlとなる)
![obniz_LINE_Lチカ_03](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F85506%2F7a5cb579-07d7-01cf-e63c-1ae94c1b7c4b.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8e9817581af70f095391a7645aa753f4)
ソーステンプレートを以下のソースで置き換えて「保存&開く」をクリック.
"OBNIZ_ID_HERE"の箇所は自分のobnizのIDを記載する。
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
<script src="https://unpkg.com/obniz@1.9.5/obniz.js" crossorigin="anonymous"></script>
</head>
<body>
<script>
var obniz = new Obniz("OBNIZ_ID_HERE"); //IDは自分で置き換える
obniz.onconnect = async function () {
var led = obniz.wired("LED", { anode:0, cathode:1 } );
led.on();
}
</script>
</body>
</html>
いったん「終了」をクリック.
(※ここまでは普通のLチカ.)
③obnizのイベントとして登録する
マイページの画面に戻り、画面下部のイベント欄の「新規作成」をクリック.
Create Eventの画面で以下の通り入力して「作成」をクリック.
名前 : Lチカ_webhook
実行するWebApp : 先ほど作成した「private_webhook_LED」を選択.
きっかけ : 「webhook」を選択.
![obniz_LINE_Lチカ_07](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F85506%2F8d83e8a3-4a6e-0b2f-9a6e-37bd426f1ebc.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=a210873a7af6e40d18c5ccfc4f916f7d)
イベントが作成されて「Edit Event」画面になる.
Endpointが表示されるのでURLの文字列を控えておく。
※右上の「テスト実行」ボタンは、obnizが電源OFFの状態であっても{"status":"OK"}となるのであまり役に立たない?
④LINE Messaging APIでチャネルを作成する
LINE Developersのサイト右上メニューから「プロバイダー新規作成」をクリック
プロバイダー名を入力して、「確認する」をクリック.
プロバイダー名 : m(何でもよい)
「プロバイダーが作成されました!」と表示されるので、
「Messaging API」の画像をクリック.
「新規チャネル作成」画面で、以下の通り入力して「入力内容を確認する」をクリック.
アプリアイコン画像 : アイコン用に好きな画像を指定する
アプリ名 : obniz_Lチカ
アプリ説明 : LINEのリッチメニューからobnizをLチカします.
プラン : Developer Trial
大業種 : 個人
小業種 : 個人(その他)
メールアドレス : (自分のメールアドレス)
情報利用に関する同意事項が表示されるので、「同意する」をクリック.
確認画面が表示されるので、画面下部にて以下の通り入力して「作成」をクリック.
LINE@利用規約 : チェックを付ける
Messaging API(Developer Trial プラン)利用規約 : チェックを付ける
![obniz_LINE_Lチカ_19](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F85506%2Fb18d9f13-d55d-8507-d12e-7add69a20e5c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6fab2f3ac3bad0cd41cea438b25ee7d6)
チャネルが生成されたのを確認して、チャネルの画像をクリック.
⑤LINE@ MANAGERでリッチメニューを作る
LINE@ MANAGERのサイト右上のメニューから「アカウント一覧」をクリックし、画面下部のアカウント一覧から先ほど作成したチャネル(ここではobniz_Lチカ)をクリック.
リッチメニューの管理画面が表示されるので、「新規作成」をクリック.
リッチメニューのタイプとコンテンツを以下の通り指定して「保存」をクリック.
タイプ
表示設定 : 反映する
表示期間 : 作成しているその日 ~ 適当な長さ(ここでは月末)
タイトル : obniz_Lチカ
初期表示メニュー : 表示しない
テンプレート選択 : 画像で作成
画像タイプ : 画像タイプ7
コンテンツ設定
アップロード : 事前に準備した横1200 x 縦810の画像を指定(ここではLEDの画像)
リンク : 「URL」を選択して、obnizイベントのEndpointのURL文字列を指定する.
リンクテキスト : obniz_Lチカ
![obniz_LINE_Lチカ_25](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F85506%2F3a5ad1f1-d862-1d24-2288-010f480a9ec0.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5c52543247f151bc1cd6bb7e495a3de0)
![obniz_LINE_Lチカ_26](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F85506%2F195ace55-ff6c-3974-13a2-41d7c97784e0.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=3e548a16e2013d99921d331e67276267)
![obniz_LINE_Lチカ_27](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F85506%2F680394dd-aab5-8794-7ef4-0f10ef6e65b7.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=4eaf50ebcb55fcd381cec713cf5fdfee)
リッチメニューの管理画面に作成したリッチメニューが一覧で表示される。完成!
リッチメニューをタップしてLチカ実行!
(冒頭の動画参照)
#参考
obniz Cloud サーバーレス イベント
https://obniz.io/doc/about_event
LINE Messaging API
https://developers.line.me/ja/services/messaging-api/
LINE@ MANAGER
https://admin-official.line.me/
いらすとや 青色発光ダイオード(LED)
https://www.irasutoya.com/2015/01/led_10.html