#はじめに
Raspberry Piを使ってLINEのメッセージを送受信するための環境設定をまとめておこうと思います。
さくらサーバーなどレンタルサーバーを使ったものは多く見つかりますが個人サーバーで行っているものが少なかったのでこれからLINEとRaspberry Piを組み合わせたIoTシステムを作りたい!という人の助けになれれば幸いです。
#環境の準備
基本的に複雑な機器は用意せず、Raspberry Piとネットーワーク環境のみで大丈夫です。
- Raspberry Pi
- OS:Raspbian
- IPアドレス固定
- ネットワーク環境
- ポート開放
- LINEの個人アカウント
IPアドレスの固定についてはこちらを参照にして下さい。
#手順
##1.Apache2の導入
とりあえずいつもの
sudo apt-get update
sudo apt-get upgrade
Apache2とphp7.0をインストールします。
もし新バージョン出てたらそっちの方がいいかもしれないです。
sudo apt-get install apache2
sudo apt-get install php7.0
インストールが終わったら、念の為Apache2の起動をしておきます。
sudo systemctl start apache2
これで、Raspberry Piからアクセスする場合は
http://localhost
別のネットワークから接続する場合は
http://[ポート開放したグローバルIPアドレス]
からアクセスできます。
##2.ドメイン取得
MyDNSをつかってドメインを取得します。
Apache2の導入も含めて
お金をかけずにRaspberry Pi 2を外部公開サーバーにする手順(LAMP, MyDNS,DDNS,cron)
に書いてあるものを参考に導入して下さい。(丸投げ)
##3.SSL認証
LINEDeveloperに使用するためには、SSL認証する必要があるので無料でできる認証局に認証してもらいます。
実はドメインを取得したのもこれが目的になってます。
sudo certbot-auto certonly --webroot -w /var/www/html -d XXXXXXXXXXXX.mydns.jp --email XXXXXXXX@XXXX.XXX --agree-tos
XXXの所は各自が取得したドメイン名とメールアドレスに書き換えてください。
こんなふうに鍵マークがついていれば成功です。
##4.Messaging API SDK for PHPのインストール
本来なら上リンクから直接ダウンロードを行って開発を行うべきなのですが、ライブラリ化されたものがあるのでそちらを使います。
cd /var/www/html
wget https://github.com/jyukikami/linebot_lib/archive/master.zip
unzip master.zip
##5.LINE準備
ここまできたら後は通常のLINEBotと同じです。Developerに登録して、アドレスを設定します。
LINEDevelopers
特に問題がなければ自分のLINE IDとパスワードでログインして大丈夫です。
登録が完了したらMessaging APIを作成し各種設定をします。
define('ACCESS_TOKEN','xxxxxxxxx'); //アクセストークン
define('CHANNEL_SECRET','xxxxxxxx'); //シークレット
https://取得したドメイン名/linebot_lib-master/linebot_lib-master/sample_linebot.php
自動応答メッセージを利用したままにしておくとphpで応答するたびに自動応答メッセージが出てしまうので切っておく。
これで設定は終了なので、MessagingAPIでできることまとめやLINE BOTの作り方などを参考にしながらphpを記入することでLINEBOTが使えるようになります。
#まとめ
Raspberry Piを証明書付きのサーバーにすることによってLINEに対応させ自動応答メッセージを自作したり、AI解析をしたりすることができます。
そのままGPIOなどの操作も行えるのでLINEを使ったIoTなどに活用できると面白そうです。