iPhoneのショートカット機能を使ってRaspberry Piを手軽にWiFiカメラにする方法

f:id:karaage:20181006184417j:plain:w640

iPhoneのショートカット機能でラズパイをWiFiカメラにする

 iOS12から追加された「ショートカット」アプリ。なんとsshでコマンドも投げられるということで、Raspberry Piと組み合わせて色々応用ができそうです。以前も以下のようなことを呟いてみました。

 誰かやってくれないかなと心待ちにしていたのですが、結局誰もやってくれなかったので自分で試してみることにしました。予想通り思った以上に便利でした!

 具体的には、Raspberry Piとカメラモジュールを組み合わせたラズパイカメラとiPhoneで以下のようなことができました。

  • iPhoneをラズパイカメラのリモートシャッターにしてiPhoneで撮影
  • Siriの音声認識でラズパイカメラをリモートで撮影
  • iPhoneでラズパイカメラの写真をプレビュー

f:id:karaage:20181006184417j:plain:w640

f:id:karaage:20181006190436j:plain:w640

 試してみたい方は、続きをごらん下さい。

ハードウェア準備

 Raspberry PiとカメラモジュールがあればOKです。今回は、手元にあった「Vision Kit」を使いました。

f:id:karaage:20181006190453j:plain:w640

 Vision Kitに関しては以下記事参照下さい。

 もちろん、VIsion Kitを使わず、Raspberry PiとカメラモジュールだけでもOKです。Raspberry Piのセットアップは以下記事参照下さい。

iPhoneをラズパイカメラのリモートシャッターにする方法

 まずは、iPhoneをiOS12にアップデートして、APP Storeから「ショートカット」をインストールします。てっきりiOS12に最初からインストールされているものと思い、探し回ったのは内緒です(笑) f:id:karaage:20181006190805j:plain:w480

 ショートカットを起動して、「ショートカットを作成」をタップします f:id:karaage:20181006182340j:plain:w480

 「ssh」で検索して「SSH経由でスクリプトを実行」をタップ f:id:karaage:20181006182402j:plain:w480

 以下の通り設定します(Raspberry Piの設定に合わせて下さい)

ホスト raspberrypi.local
ポート 22
ユーザ pi
パスワード raspberry
raspistill -o test.jpg

f:id:karaage:20181006184341j:plain:w480

 後は、右上の設定画面からお好みで以下の変更を行います。

  • ショートカットの名前
  • アイコン
  • Siriのフレーズ
  • ホーム画面に追加

f:id:karaage:20181006191540j:plain:w480

 Siriのフレーズは、以下のような画面で好きなフレーズを設定できます f:id:karaage:20181006191554j:plain:w480

 ホーム画面に追加すると以下のようになります f:id:karaage:20181006183414j:plain:w480

 後はRaspberry Piを起動しておけば「ショートカット」アプリ経由でも、ホーム画面のアイコン経由でも、ラズパイカメラの写真を撮影することができます。

f:id:karaage:20181006184417j:plain:w640
 iPhoneから撮影している様子

 SIriのフレーズを登録しておけば、音声認識でもシャッターを切れます f:id:karaage:20181006191616j:plain:w480

iPhoneでラズパイカメラの写真をプレビューする方法

 撮影した写真が確認できないと不便ですね。ラズパイにサーバーを立てて、iPhoneからブラウザでアクセスして写真を見れるようにしましょう。

f:id:karaage:20181006190436j:plain:w640
 iPhoneで撮影した写真をみている様子

   ここからは、Raspberry Piで少しセットアップが必要です。まず、以下のコマンドで軽量なWebサーバ、lighttpdをインストールします。

$ sudo apt-get update
$ sudo apt-get install lighttpd

 続いて/etc/lighttpd/lighttpd.conf を編集します。vimエディタを使って編集する場合は以下です。

$ sudo vim /etc/lighttpd/lighttpd.con

 ファイルの中身のserver.document-root/html/wwwから/home/piに変更します。自分のホームディレクトリをサーバとして公開することになり、セキュリティ的には大変よろしくないので、本当に運用するときはローカルで運用する(インターネットには繋がない)とか、設定変えるとか各自で工夫して下さいね。

- server.document-root        = "/html/www"
+ server.document-root        = "/home/pi"

 続いてlighttpdを再起動します。

$ sudo service lighttpd restart

 これでOKです。後は、ラズパイカメラで写真を撮ったら。iPhoneのブラウザ(Safari等)でファイルのアドレスにアクセスします。

raspberrypi.local/test.jpg

 以下のようにブラウザ経由で写真が閲覧できます。 f:id:karaage:20181006190018j:plain:w480

 もちろんiPhoneじゃなくてPCやタブレットのブラウザからでも閲覧可能です。

まとめ

 iPhoneのショートカット機能を使ってラズパイカメラと連携して、リモートシャッタ代わりにしてみました。

 以前ほとんど同じことをやったことあるのですが、様々なアプリを組み合わせた上に自作アプリを組んだので、作るのもセットアップも結構大変でした。

 今回の、iPhoneのショートカット機能使うとほとんどデフォルト設定のRaspberry Piで手軽に使えるので非常に良いですね。Siriとも組み合わせて音声認識をトリガとして起動できますし、自作のスクリプトやプログラムをRaspberry Pi側に置いておけば、色々応用できそうですね。

Raspberry Pi 3 MODEL B

Raspberry Pi 3 MODEL B

 Raspberry Pi 3

 カメラモジュール

Raspberry Pi B+ (Plus) 専用ケース RS製 (White)

Raspberry Pi B+ (Plus) 専用ケース RS製 (White)

 ケース

参考リンク

Raspberry pi セットアップその11 WEBサーバをLighttpdに変更 » Keep no way, keep on screaming

関連記事