LINE BOTでSVL-200の位置情報を表示してみる


こんにちは。
ソフトウェア開発部の兼岡です。

今回は、展示会のデモ用に作成したLINE BOTをご紹介します。

LINE BOTに「今どこ?」と話しかけると、GPS端末「SVL-200」の現在位置情報を教えてくれる、というものです。

システム構成

SVL-200を自動車に設置し、位置情報を計測します。
BOTアプリサーバは FASTIO API で計測データを取得、位置情報を応答メッセージで返却します。

LINE BOTにメッセージを送るとWebhookがトリガーされ、BOTアプリサーバのWebhook URLにリクエストが送信される、という流れになります。

1.LINE Messaging APIに登録

LINE Developers から登録します。
※事前にLINEアカウントの登録が必要です。

2.LINE DevelopersでBOTの設定

登録が完了すると、プロバイダー及びチャネルの設定画面が表示されます。
チャネル基本設定で必要事項を入力、Messaging APIを使用するのに必要な以下の項目を確認しておきます。

  • Channel Secret:チャネル毎に固有な秘密鍵です。
  • アクセストークン(ロングターム):APIを利用する際に必要なトークンです。
    ※ロングターム:有効期限が非常に長期的なアクセストークンです。

3.BOT作成

SDK of the LINE Messaging API for PHP をインストールして、以下の2つのファイルを使用します。

  • line-bot-sdk-tiny/LINEBotTiny.php
  • line-bot-sdk-tiny/echo_bot.php

以下、ソースコードです。
echo_bot.php のファイル名を index.php へ変更し、内容を一部書き換えました。

LINE Developersのチャネル基本設定で確認した、秘密鍵とアクセストークンをそれぞれ書き換えます。

FASTIO APIを利用して計測データを取得します。
端末の現在地データ取得APIについては、5分でわかるFASTIO API ~位置情報をGoogleMAPに表示してみる~ にて紹介してます。

Messaging APIからの応答メッセージ等は Messaging APIリファレンス を参照しました。

4.BOTアプリサーバにソースをデプロイ

デプロイ方法については割愛します。
今回は弊社開発サーバを使用しましたが、Messaging APIを試す例として heroku を利用するケースが多いようです。

5.Webhook URLの設定

Webhook URLにBOTのアクセスURLを設定します。
LINE BOTにメッセージを送信すると、このURLにリクエストが送られます。

6.動作確認

LINE BOTに「今どこ?」と話しかけることで、位置情報を表示することができました!

最後に

今回は、SVL-200で位置情報を取得しましたが、例えば、温湿度計を設置して室温を見る、はかり計を用いてモノの残量を確認する等、様々な使い方ができるかと思います。

以上、FASTIOとLINE Messaging APIを利用した一例のご紹介でした。