twitter facebook

IoTなGPSを開発する。さらにLineでPush配信するまで

やりたいこと

バスがどこにいるか。ある程度近くに来たらLINEにPush配信する。をしたいと思いました。ので ①GPS装置 ②SIM ③LINE を購入したり設定したりします。
必要なもの
  • WEBサーバー
  • GPS装置
  • 車内に置きっぱなしにするので温度耐性が高いもの。
  • SIM
  • MineoのSIMや、IIJのIoT向けSIMなど。
  • LINE API
  • LINEのMessaging API中の PushAPI を使用するのに 月3万円。
  • いわゆるChatBotの場合はそんなにお金かかりません。

検討した物品・サービス

GPS装置

①Acty-G1
モニターがなく、高性能なGPSがついた スマホと思ってください。OSはアンドロイドです。
良かった点
  • 温度が~70度に対応
  • シガーソケットから充電できるので、車のエンジンを起動したらGPSも起動。というのができる。
  • Android でGPS取得プログラムの制御ができる。
デメリット
  • GPS取得などのコーディングが必要です。。
  • 他の機器ではプログラムレス・設定だけ済むものもあります。
  • OS起動時の自動起動のプログラムがめんどくい。
おもしろかったこと。VysorというChromeアドインで ブラウザからActy-G1につなげることができる。ようはリモートデスクトップですね。

LINE側

PUSH配信する場合は LINEのMessaging API中のPush APIを使用します。 料金は Push API仕様する場合は #*#3万円/月程度 かかります。開発用で試用するぶんには無料で利用可能です。 仕様 プラン
LINE Developers コンソール。ようは管理画面でいろいろと設定します。
  • アカウント作成
  • チャンネル作成
  • 設定

WEBサーバー

LINE側の WebhookURL の項目にURLを設定して、
以下のようにPUSH配信用のプログラムを作成。
*このプログラムの場合は起動したら送ってしまいますので、Cronなりで。
https://xxxx.com/line_echo_bot/push.php
<?php

$raw = file_get_contents('php://input');
$receive = json_decode($raw, true);


$accessToken = "xxxxxxxx" ;

$event = $receive['events'][0];
$reply_token  = $event['replyToken'];
$user_id  = $event['source']['userId'] ;

$headers = array('Content-Type: application/json',
                 'Authorization: Bearer ' . $accessToken);
                 

$msg = "これはPUSH配信のテストです";
$message = array('type' => 'text',
                 'text' => $msg );

$body = json_encode(array('replyToken' => $reply_token,
                          'messages'   => array($message)));

$options = array(CURLOPT_URL            => 'https://api.line.me/v2/bot/message/reply',
                 CURLOPT_CUSTOMREQUEST  => 'POST',
                 CURLOPT_RETURNTRANSFER => true,
                 CURLOPT_HTTPHEADER     => $headers,
                 CURLOPT_POSTFIELDS     => $body);

$curl = curl_init();
curl_setopt_array($curl, $options);
curl_exec($curl);
curl_close($curl);


?>
このように わりと簡単に BOTを作成できました。
Lineの画面
AUTHOR
@mikomiko
最終更新日 2018/09/17
FAVORITE good stock
LINK TAG
記法を見る