前提条件
- (Raspberry Piの)PHPが動作するWEBサーバがセットアップされている
- (Raspberry Piの)WEBサーバの公開設定が終わっている
今回は、WEBリクエストの受信は行わないので、必須ではないです。- DNSで名前解決ができる、固定IPやダイナミックDNSを利用 SynologyでValueDomain向けのDDNS設定方法
- ルーターのNAT / Port Foward / Virtual Serverの設定が出来ており、インタネットからWEBサーバにアクセスできる API連携プラットフォーム
- IFTTTサービスの利用登録が実施済みである
- IFTTTサービスにおいて、Webhooksが利用可能である IFTTT(イフト)でWebhooksの利用
- IFTTTサービスにおいて、LINE Notifyの利用設定を実施している 参考サイト
全体の流れ
- Raspberry PiでLINE送信をIFTTTのWebhooksにトリガー {event}:pushLINE
- IFTTTのWebhooksでLINE送信のトリガーを受信
- IFTTTのアクションでLINEを送信
トリガー
Raspberry PiよりIFTTTのWebhooksにトリガーを送信
PHPのサンプルコードを載せておきます。
アクセスキーなどの初期設定値は、IFTTTより取得して下さい。
//IFTTT用webhookパラメータ
define("IFTTT_POST_API_KEY","/with/key/アクセスキー");
define("IFTTT_POST_API_BASE","https://maker.ifttt.com/trigger/");
//IFTTT用puchLINE
define("IFTTT_LINE_KEY","pushLINE");
function pushLINE($value1, $value2) {
$url = IFTTT_POST_API_BASE.IFTTT_LINE_KEY.IFTTT_POST_API_KEY;
$data = array(
'value1' => $value1,
'value2' => $value2
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); // jsonデータを送信
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
$result = json_decode($response, true);
curl_close($curl);
return $result;
}
$test = "テストメッセージです。";
pushLine('【テスト】',$test);
IFTTTでのトリガー
Webhooksを{event}:pushLINEで設定します。
アクション
LINE送信のアクションを定義します。
Recipientでラインの送付先を指定します。すでに作成しているLINEのグループにも送信することが出来ます。
Message部分は、自由に変更出来ます。今回は、PHPより2つの引数を渡しているので、2つの引数をMessageに入れております。pushLine('【テスト】',$text);
実行結果
今回のPHPを実行結果は、以下のようなLINEメッセージを受信出来ます。
以上です。色々簡単に使えそうですね。