Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SIerIoTLT Vol.11 @ opt

SIerIoTLT Vol.11 @ opt

Java で LINE Bot & LINE Beacon をやってみる
(※申込駆動開発)

Hiroto YAMAKAWA

August 27, 2018
Tweet

More Decks by Hiroto YAMAKAWA

Other Decks in Technology

Transcript

  1. Java で LINE Bot & LINE Beacon をやってみる
 (※申込駆動開発) 千歳科学技術大学

    情報システム工学科 講師 山川広人 IoT縛りの勉強会/SIer主催 SIerIoTLT vol11@opt 札幌版IoT縛りの勉強会 IoTLT札幌#04  
  2. 作りたいもの:LINE Bot / Beaconを使ったIoT行き先ボード   LINE
 Messaging
 API LINE


    Beacon ◦◦教授室 まだn分ぐらいかかる ① ② ※うまくいったらオープンキャンパスで施設紹介システムとかにもできそう
 ※学生からは学内にBeaconをばらまいて、ボスの入退室や場所をリアルタイム把握したいとの声もあるが
   行動トラッキングはいろいろアレすぎるのでこのぐらいから ① 教員による期間予定の送信 (RichMenu/LIFFなど)
   ⇒個人的にはスマートスピーカーで入力もしたい(IoT感増したい)
 ② 学生が教員室の前でLINEアプリを開くとBeaconEvent受信
 ③ BeaconEventのCallbackとして帰室予定を定時 ◦◦教授Bot ◦◦教授はxx:xx頃戻ります ③ ここをやったことなかったので やってみたのが今日の話
  3. 増えたブロックで左の様に
 プログラミングして、 
 .hex ファイルをUSB接続した micro:bitにコピペする micro:bit を LINE Beacon

    化 する   ほぼクリックとD&DでLINE Beacon完成 ★HWIDはLINEのサイトで
   払い出したもの A B B BLE送信 BLE停止
  4. LINE Beacon の Callback を受け取る(Java 8, Spring Boot)  

    @LineMessageHandler public class Callback { @EventMapping public Message handleBeacon(BeaconEvent event) { String eventStr = event.getBeacon().toString(); return new TextMessage(text); } } ※ 元となるSpring Bootプロジェクトの作り方とかは 
   https://github.com/gishi-yama/linebot-java-handson/ にて公開 ※ このLTのもう少し詳細な手順も↑で順次公開します ※タイトルにJavaって載せたけど
   使ったのここだけだった
  5. できた!...が、挙動があやしい   Aボタンを押したmicro:bitにLINEアプリを起動したスマホを近づける だが... • スマホを遠ざける(leaveイベント発生)と、アプリのイベント受信まで約1分かかり、アプリもこける
 (iPad版 LINEアプリ v8.12.1。 leaveが将来廃止予定だから?

    iPhone版は問題なし) • でもleaveイベントが発生しないと、再度スマホが近づく(再enterイベント)ができない • このままでは 教授室の前で不在を教えてくれるけどアプリはこけるホラーっぽい動きに.... 実機で見たい方は懇親会タイムでお声がけください ※SIerIoTLT懇親会で検証にご協力いただいた @ryoichi_obara さん、ありがとうございます!
  6. ボスロケーションシステムにむけて、とりあえずLINE Beaconを試した • LINE Beacon の HWID の払い出しは広告フィルタをOFFっておく • LINE

    Beacon は micro:bit を使うと(ほぼ)クリックとD&Dで作れる • Javaでも数行で BeaconEvent を Callback できる • iPad版アプリが Leave イベントを受け取る際の挙動があやしい まとめ