5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry PiでなんとかしてLINEBoTを動かす

Last updated at Posted at 2019-03-06

#はじめに
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の所は各自が取得したドメイン名とメールアドレスに書き換えてください。
https.JPG こんなふうに鍵マークがついていれば成功です。

##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を作成し各種設定をします。

  • アクセストークンの発行
    at.png

  • Channel Secretの発行
    cd.png
    アクセストークンとChannel Secretは/var/www/html/linebot_lib-master内にあるdefine.phpに記入します。

define.php
define('ACCESS_TOKEN','xxxxxxxxx');  //アクセストークン
define('CHANNEL_SECRET','xxxxxxxx');  //シークレット
  • Webhook URLの設定
    wurl.png
https://取得したドメイン名/linebot_lib-master/linebot_lib-master/sample_linebot.php
  • 自動応答メッセージを利用しないに設定
    outo.png

自動応答メッセージを利用したままにしておくとphpで応答するたびに自動応答メッセージが出てしまうので切っておく。

これで設定は終了なので、MessagingAPIでできることまとめLINE BOTの作り方などを参考にしながらphpを記入することでLINEBOTが使えるようになります。

#まとめ
Raspberry Piを証明書付きのサーバーにすることによってLINEに対応させ自動応答メッセージを自作したり、AI解析をしたりすることができます。
そのままGPIOなどの操作も行えるのでLINEを使ったIoTなどに活用できると面白そうです。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?