続いて撮影した画像を定期的で自動に送れるようにしたいと思います。画像を一定間隔で撮影する方法については以前の記事で紹介しましたが、それと同様に「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
【訂正:2020年6月5日午後3時55分 初出時、「$ ./line_test.sh」を誤って「$ ./line_test.py」と記載していました。訂正してお詫びいたします。】
これらを活用することで、ラズパイを使った監視カメラが作れます。留守にしている家の様子を見たり、離れたところに暮らしている家族の見守りにも使えるかもしれません。LINE Notify API Documentにはこの他の設定なども書かれているので、まずはいろいろなやり方を試す前の基本として参考にしてみてください。
初出時、「$ ./line_test.sh」
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR