iOS12のショートカットを使ってRaspberry Piをリモート操作、これは快適!! (2)
“iOS12になって一ヶ月経つけど一番便利だと思う新機能はSiri ショートカットだと思う”
“ラズパイ標準カメラをApple Homekit対応にして自宅でビデオ監視をできるようしてみましょう”
“iOS12のショートカットを使ってRaspberry Piをリモート操作、これは快適!! (1)“の続きです。
前回に引き続き、”iOS12“の新機能”ショートカット”を使って、”Raspberry Pi“をリモート操作する応用編をご紹介します。
応用編の内容ですが、先日、ラズパイとAppleのHomekitの組み合わせでビデオ監視を実現する際に、ラズパイに取り付けたラズパイ純正カメラを活用して、”ショートカット”で撮影した静止画を”Dropbox“に保存する仕組みを作っていきます。というわけで、もし”Dropbox”を使ったことがない方は、これを機会にアカウントを事前に作成して下さい。
(1) ラズパイからDropboxを利用できるようにします
(a) Dropbox-Uploaderというスクリプトをインストールします
まず始めに、”Raspberry Pi”から”Dropbox”を利用できるよう、”Dropbox-Uploader“という何とも有り難いスクリプトを”Raspberry Pi”にインストールします。
curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/
ダウンロードしたスクリプトに実行権限を与えます。
chmod +x dropbox_uploader.sh
続いて、スクリプトを実行します。
./dropbox_uploader.sh
そうすると、下図のように、”Dropbox”の開発者サイトにアクセスして、新しいアプリケーション(今回はスクリプト)が”Dropbox”にアクセスする際に必要になる”Access token”という認証情報を取得する手順がターミナル画面に表示されます。
(b) Access Tokenを取得します
ラズパイのターミナルに表示された開発者サイトのURL (https://www.dropbox.com/developers/apps)にアクセスして、Access Tokenを取得する手続きを進めていきます。なお、サイトへのアクセスは、PC上のWebブラウザで行って下さい。(その方が手際よく操作できるので。)
ログイン後、”My apps”画面の右上にある”Create app”ボタンをクリックします。
切り替わった画面で、使用するAPIの種類、アクセス範囲、そして新しく作成するアプリケーションの名前を設定し、右下の”Create app”ボタンをクリックします。
切り替わった画面の”OAuth 2″欄にある”Generate”ボタンをクリックします。
そうすると、新しいアプリケーション専用のAccess Tokenが発行されますので、ラズパイのターミナルに表示されている”# Access token:”に入力します。
これで、Access Tokenの取得が完了です。
なお、手続きが正常に完了すると、その旨がメールでも通知されます。
(c) 簡単な動作確認テストをしてみます
ここで、簡単な動作確認テストをしておきましょう。下図のように、予め撮影した静止画ファイルを”Dropbox”にアップロードしてみます。
raspistill -w 1280 -h 800 -o stillcamera.jpg
./dropbox_uploader.sh upload ./stillcamera.jpg test.jpg
“Dropbox”に作成されたアプリ専用フォルダの中身をチェックしてみましょう。
確かに、アップロードされた”test.jpg”ファイルがありました。これで、動作確認テストも完了です。
(2) ショートカットを使って静止画をDropboxにアップロードします
(a) アップロード専用のスクリプトを作成します
撮影した静止画を”Dropbox”にアップロードする処理をまとめて実行するスクリプトを作成します。
nano /home/pi/stillcamera.sh
作成するスクリプトは、日付と時刻で構成するファイル名で静止画を撮影し、”Dropbox-Uploader“を使用して”Dropbox”にアップロードした後、撮影した静止画をラズパイから削除する、といった内容になります。なお、”Dropbox”上では撮影日毎のフォルダが作成され、そのフォルダ内にアップロードした静止画が保存されます。
DIR_NAME=$(date +"%Y%m%d")
FILE_NAME=$(date +"%Y%m%d%H%M%S").jpg
FILE_PATH=/home/pi/stillcamera/$FILE_NAME
DROPBOX_PATH=$DIR_NAME/$FILE_NAME
sudo raspistill -w 1280 -h 800 -o $FILE_PATH
sudo -u pi /home/pi/dropbox_uploader.sh upload $FILE_PATH $DROPBOX_PATH
sudo rm -f $FILE_PATH
それから、撮影した静止画を一時的に保存するフォルダをラズパイ上に作成しておきます。
sudo mkdir /home/pi/stillcamera
それでは、作成したスクリプトを実行してみましょう。
sh /home/pi/stillcamera.sh
“Dropbox”を確認してみると、撮影した日付のフォルダが作成され、
フォルダ内には、アップロードした静止画が保存されています。
(b) iOSのショートカットで静止画をアップロードできるようにします
それでは、iOSの”ショートカット”アプリで、作成したスクリプトを実行するショートカットを作成しましょう。なお、ショートカットの詳しい作成方法は、前回のTALKを参照して下さい。
序に、ホーム画面にもショートカットを作成しておきます。
作成したショートカットを実行してみましょう。”Dropbox”に撮影した静止画がアップロードされました。
“iOS 12″で登場した”ショートカット”機能と”ショートカット”アプリは、アイディア次第でかなり実用的に使えそうな感じがします。外部のデバイスと通信して、クラウドサービスに情報を保存できるわけだから、もっと役立ちそうな仕組み作りを体験できそうですよね。また、面白そうなネタが見つかったら、自分なりにアレンジしてTALKしようと思います。
|
|
|
ホームページ “THE POOH FILES”にも是非お立ち寄り下さい。
“Adobe Stock“でベストショットな写真素材を販売中です。是非ご覧下さい。