Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloudflare を使って愛犬を監視する

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for 高江洲 順八 高江洲 順八
April 18, 2024
240

Cloudflare を使って愛犬を監視する

Avatar for 高江洲 順八

高江洲 順八

April 18, 2024
Tweet

Transcript

  1. どんなLT? • 愛犬を仕事中も見守りたいので、監視したく、色々使ってペットカメラをインストールしたの で、どんな技術を使ったかご紹介 • 出てくる技術 ◦ Cloudflare, Raspberry Pi,

    Nginx Unit などなど • ホントは Qiita か Zenn の記事にして、それも共有したかったですが、間に合わず ◦ 後日気が向けば記事にしようかなと思います!😇 • 日曜プログラマの方の参考になれば幸いです!(ぶっちゃけプログラミングしてない! )
  2. • Raspberry Pi 3 と Raspberry Pi カメラモジュール v1.3 で構成

    • 中古ラズパイ買ったときに、サービスでついてきたカメラ • 合計 5000 円 カメラ?
  3. • Motion という OSS をインストール(GPL-2.0) • apt コマンドなどで インストールしてすぐ つかえる

    • mjpg-streamer というの もあり、ただ古すぎる& 事例少ない Motion Motion-Project/motion: Motion, a software motion detector. Home page: https://motion-project.github.io/ https://github.com/Motion-Project/motion
  4. ところでどうやって映像を見る? • ネットでググると Motion インストールしたらすぐにストリーミング映像が見れるサーバー が起動するっぽかった • 8081 で motion

    が Listen してた(8080 は motion を制御するインターフェース) Streaming Video with Motion - Raspberry Valley (raspberry-valley.azurewebsites.net) https://raspberry-valley.azurewebsites.net/Streaming-Video-with-Motion/
  5. Motionの設定ファイルはシンプル • いろいろ設定値を書き換えては再起動を繰り返し、以下のようになった # systemctl を使うために必要 daemon off # 録画した動画の保存先

    (動きを認識したときだけ動画が保存される ) target_dir /mnt/pet_camera_vidoes # ファイル名(拡張子抜き) movie_filename %Y-%m-%d_%H-%M-%S_motion # mp4 で保存 movie_codec mp4 videodevice /dev/video0 norm 0 # フォーマット 8 = mjpg ということ v4l2_palette 8 width 640 height 480 framerate 30 # localhost 以外からでも stream にアクセスできるようにする stream_localhost off stream_maxrate 30 stream_quality 50 # 上下反転 flip_axis v
  6. • ドメインのネームサーバーを Cloudflare のものに変更 • Tunnel を Cloudflare のダッシュボードで作成 ◦

    ドメインと、自宅の踏み台で起動しているプロセスのポート番号を対応付ける ◦ 例: www.example.com → localhost:80 ◦ 例: ssh.example.com → localhost:22 • 詳細は公式のドキュメントご参照ください。Cloudflare Tunnel を使って自宅をデータセンターみたいにする (zenn.dev)  という記事も Zenn に載せてるので良ければどうぞ! Cloudflare Tunnel の設定方法
  7. • Nginx Unit を使って、リクエストをリバースプロキシする • 通常の Nginx のようにプロキシサーバー、Webサーバーとして使える • Nginx

    と比較して特徴的な違いは ◦ Rest API を通じてオンラインで設定変更ができる ◦ 設定の記述は JSON で書ける • 業務でも少し使い始めた Nginx Unit