###サマリー
#####ラズパイとVNCを使って簡単に監視カメラを構築します。RealVNCでアカウントを作成すれば、外からでもカメラ映像を確認できます!
ポート開放等、自宅のwifi設定をいじる必要もありません。但し、音は出ません(最近出る様になった、というウワサも聞きましたが未確認)
※3~4カ月前にやったので、抜けている内容あるかもです。
※拙宅wifi環境では問題なく動きましたが、利用wifi環境に依るかも知れません。
###使用したモノ
- Raspberry Pi 3B+ (OSはraspbian stretch 9.9)
- USBカメラ(バッファローBSWHD06MBK)
- ラズパイ用電源コード、(ラズパイ)ヒートシンク等
- Windows10 PC(外から画像を確認する機器)
###A.準備
####1.ラズパイ
#####(1)configuration
$sudo raspi-configで、VNCをON(yes)
#####(2)lxsession
$sudo apt-get install lxsession
####2.PC(windows10(64bits))
#####VNC Viewer
(a) サイトからダウンロード。
(b) 起動すると、最初の画面で「Send anonymous usage data to help improve VNC Server.」にチェックがあるので、もしイヤであれば外す。
(c) 画面上のバーに、ラズパイのIPアドレスを入力すると、__Authentication__の小窓が出るので、ラズパイのUsernameとパスワードを入力すればOK
####3.調整/追加機能
#####(1)ラズパイ出力画面サイズの調整
VNC Viewerでラズパイからの出力画面がはみ出てしまう等の場合、ラズパイで以下調整を実施。
- ラズパイの解像度を確認
$ tvservice -s
- ラズパイのconfig.txtを修正、__最後に__縦横の画面サイズを追加・設定
$ sudo nano /boot/config.txt
※次項のdirect capture modeを使用する場合は、アスペクト比を合わせて設定(例:1080x720)
framebuffer_width=1080
framebuffer_height=720
#####(2)Direct Capture Mode
(a) ラズパイのGUI画面の上部バーにある、VNCアイコンをクリックすると、VNC Serverウインドウが立ち上がるので、その右上のメニューから__Options__を選択
(b) __troubleshooting__を選択し、「Enable direct capture mode」をチェック
###B.Cheese
VNC経由の映像ストリーミングには、Cheeseを使用
$sudo apt-get install cheese
ラズパイのGUIのメニュー「Sound&Video」の中に出てくる__Cheese__をクリックすると、撮影画面(動画)が表示される。カメラの設定等は不要。自動的にUSBカメラからの画像が出てくる(はず)。
###C.RealVNC cloud connection
####0.準備
- RealVNC accountの取得
- VNC接続: 設定はwifiで行なうので、まずは上述手順(A.2.)に従って、VNC Viewerに接続
(→ラズパイに直接ディスプレイを接続していれば不要です、多分)
####1.cloud connectionの設定
cloud connectionは、Home subscriptionで、5機まで登録(接続)が可能。
- ラズパイGUI画面上で、VNCアイコンを右クリックし、__Licensing__を選択
- __Sign in__画面で、RealVNC account情報を入力してサインイン
※ team指定は任意(指定した方がわかりやすいかと) - 再度VNCアイコンを右クリックし、__Options__を選択
- __Connections__を選択し、「Allow Cloud connections」をチェック。
まずはそのまま同じwifi内で接続するか確認してみて下さい。
これで、外にPCを持ち出して、(ラズパイ+カメラが接続している)wifi以外のネットワークからもアクセスが可能になります。
スマホ(android)でもアプリ入れて見れます(外からアクセスできることを示すために、4Gで接続)
###あとがき
これから不定期にやっていきたいと思っていますが、素人に毛が生えた程度のエンジニア力ですので、間違っている点等ありましたら、優しく(笑)ご指摘下さい。改善・改良案は勿論welcomeです。
###参考サイト
VNC Connect and Raspberry Pi
ポートの開放することなく、Respberry Piに外からアクセスする