ITmedia NEWS > STUDIO >
連載
» 2019年12月01日 07時00分 公開

名刺サイズの超小型PC「ラズパイ」で遊ぶ(第10回):ラズパイで撮影した写真をLINEに自動送信する (3/3)

[岩泉茂,ITmedia]
前のページへ 1|2|3       

一定間隔で撮影したラズパイの画像をLINEで送る

 続いて撮影した画像を定期的で自動に送れるようにしたいと思います。画像を一定間隔で撮影する方法については以前の記事で紹介しましたが、それと同様に「cron」を使って送信する仕組みを整えます。

$ crontab -e

 上記のコマンドを入力してcronを編集します。cronの最後の行に、先ほど作成した「linephoto.sh」を実行するための文を入力しましょう。

 以前もご紹介しましたが、cronでは「分(0〜29)」「時(0〜23)」「日(1〜31)」「月(1〜12)」を設定して、その時刻になると動作させることができます。

分 時 日 月 曜日 (動作させたいプログラムの絶対パス)

 ここは「ステップ値(/)」を利用して、「*/30」で30分ごとに動作させるので、以下のような設定となります。

*/30 * * * * /home/pi/linephoto.sh

スタンプを送信する

 LINE Notifyからはメッセージや画像だけでなく、公式のLINEスタンプも送れます。今回作成したスクリプトの「curl」を使用した構文の中に「stickerPackageId」と「stickerId」を設定するだけです。この2つは「LINE Notify API Document」にPDFで掲載されています。stickerPackageIdに「STKPKGID」を、stickerIdに「STKID」を設定するだけです。例えば、以下のようになります。

#!/bin/bash
# -*- coding: utf-8 -*-
#日付とファイル名
date=$(date +"%Y-%m-%d_%H%M")
photo_file="/home/pi/camera/${date}.jpg"
token="(トークンを記述)"
#解像度の設定
raspistill -w 1280 -h 1024 -o $photo_file
#写真を撮影してスタンプも送信
curl -X POST -H "Authorization: Bearer ${token}" -F "message = Message from RasPi" -F "stickerPackageId = 1" -F "stickerId = 119" -F "imageFile=@${photo_file}" https://notify-api.line.me/api/notify

 このスクリプトを「photo_stamp.sh」として保存し、これまでのように属性を変更して実行すると、LINE宛にメッセージ、画像、スタンプが送信されます。

$ chmod +x photo_stamp.sh
$ ./photo_stamp.sh
photo 利用できる公式スタンプの一覧
photo メッセージと撮影した画像、スタンプが送られてくる

 これらを活用することで、ラズパイを使った監視カメラが作れます。留守にしている家の様子を見たり、離れたところに暮らしている家族の見守りにも使えるかもしれません。LINE Notify API Documentにはこの他の設定なども書かれているので、まずはいろいろなやり方を試す前の基本として参考にしてみてください。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.