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

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

[岩泉茂,ITmedia]

ラズパイに接続したカメラで撮影した画像を自分のLINE宛に送信する

 では撮影した画像をLINEで送ってみましょう。ここでも以前の記事と同様に「raspistill」というコマンドを使います。まずはその準備段階として、画像を格納するディレクトリを作成します。ここでは「linephoto」としていますが、好きな名前で構いません。

$ mkdir linephoto

 続いて、画像を撮影してLINEに送るためのシェルスクリプトを作成します。nanoなどでファイル名を「linephoto.sh」として以下の内容を記述してください。画像の解像度は「-w 1280 -h 1024」で決めます(ここでは1280×1024ピクセル)。ファイルサイズを大きくすればきれいな画像が撮影できますが、その分ファイルサイズが大きくなるので注意が必要です。

#!/bin/bash
# -*- coding: utf-8 -*-
#日付とファイル名を生成
date=$(date +"%Y-%m-%d_%H%M")
photo_file="/home/pi/linephoto/${date}.jpg"
token="(トークンを記述)"
#解像度の設定
raspistill -w 1280 -h 1024 -o $photo_file
#写真を撮影
curl -X POST -H "Authorization: Bearer ${token}" -F "message = ラズパイから画像を送ります" -F "imageFile=@${photo_file}" https://notify-api.line.me/api/notify

 記述したら、実行できるようにファイルタイプを変更します。

$ chmod +x linephoto.sh

 ではラズパイで撮影した画像をLINEで送信してみましょう。

$ ./linephoto.sh

 下記のようなメッセージが表示されたら成功です。メッセージのヘッダにある「ラズパイからの画像」は、LINE Notifyを作成したときに付けたトークンの名前です。

photo メッセージと撮影した画像が送られる

 これで「raspistill」で撮影した画像がディレクトリの「/homne/pi/linephoto/」以下に、「年-月-日_時間」という形式のファイル名で画像が保存され、LINEに送られるようになりました。

 ディレクトリやraspistillの設定を変えたい場合は、コメント文で示した行にあるディレクトリ名や、解像度とオプションを変更してみてください。raspistillのコマンドについては以前の記事を参考にしてください。

Copyright © ITmedia, Inc. All Rights Reserved.