在這篇文章中,我將介紹 Raspberry Pi 3 Model B 如何利用 USB Webcam 搭配 Motion 套件達成遠端監控的目的。Motion 套件提供遠端觀看即時影像以及動作偵測的能力,在偵測到動作的同時留下畫面與影像的紀錄,讓 Raspberry Pi 成為一個具備入侵偵測功能的監視系統。

Raspberry Pi 與攝影機

Raspberry Pi 有官方的攝影機模組,初代為 5 百萬畫素,而第二代則提高到 8 百萬畫素。而除了一般的版本,另外還有所謂的 NoIR 的特殊版本,適合用於如夜晚般的低光源環境。扣掉價錢的考量,官方攝影機有一個最大的缺點,那就是使用了專用的 CSI 介面,所以無法使用在其他的控制板或是電腦上。

對於擁有 USB 介面的 Raspberry Pi,想使用攝影機時還有另外一個選擇,那就是 USB Webcam。USB Webcam 款式與價位玲瑯滿目,所以我們可以根據自己的需求與預算加以選擇。而 USB Webcam 就算不給 Raspberry Pi 使用也不會變成孤兒,不至於造成浪費。不過也因為 USB Webcam 的型號實在太多了,所以不管對硬體或軟體的相容性而言,都是事前必須予以評估的考量。對於 USB Webcam 與 Raspberry Pi 的相容性狀況,可以參考 elinux 上的這個網頁

對 Raspberry Pi 而言,在使用 USB Webcam 時有一個很重要的考量,那就是 Raspberry Pi 的 USB 埠是否可以提供 USB Webcam 足夠的電源。如果 Raspberry Pi 本身的 USB 埠所提供的電源不夠力,那就必須透過附加電源的 USB 集線器 (Powered USB Hub) 來連結 USB Webcam 了。如此一來,當然 Raspberry Pi 就會因為額外的接線而變得沒那麼精簡與輕便。因此在改用附加電源的 USB 集線器之前,可以先確定 Raspberry Pi 本身所使用的電力來源是否可以提供到 2A 以上的電流。因為大多數手機充電時不會用到這麼高的電流,所以市面上有不少 USB 充電器其實並無法提供到這麼高的電流,而只有 1A 左右。而如果是透過電腦的 USB 埠進行供電,同樣也很有可能無法提供到 2A 以上的電流。換用可提供更高電流的電力來源,可以讓 Raspberry Pi 剩下更多的電力來驅動 USB Webcam,或許就不需要改用附加電源的集線器了。因為 Raspberry Pi 3 Model B 本身所耗用的電力又比其他型號來的多,所以使用夠力的電源更加顯得重要。

在這次的範例中,我將使用 Logitech C922 這組 USB Webcam。在使用標示可提供 2A 電流的 USB 充電器下,Raspberry Pi 3 Model B 可以直接驅動  Logitech C922 而不需要額外的電源。

環境建置

  1. 插入 USB Webcam
    針對官方版的 CSI 介面攝影機,必須先透過 raspi-config 開啟 camera 功能才能正常使用。不過對於 USB Webcam 而言,不需要這個步驟,直接插入 Raspberry Pi 上任一個尚未使用的 USB 埠就可以了。
  2. 選取 Terminal 應用程式
    Raspberry Pi Terminal 應用程式
  3. 確認 Raspberry Pi 已經抓取到 USB Webcam
    應該可以看到類似下列的輸出
  4. 安裝命令列工具與相關套件
  5. 確認 USB Webcam 所支援的格式
    應該可以看到類似下列的輸出:
    此訊息表示此 USB Webcam 可支援 Full HD (1920×1080@30fps) 的輸出。
  6. 確認 fswebcam 可以正確抓到 USB Webcam,其中 1920×1080 請換成你手邊的 USB Webcam 所支援的格式
    應該可以看到類似下列的輸出
  7. 使用圖片工具確認 test.jpg 是否正確呈現 USB Webcam 的畫面
  8. 修改 /etc/default/motion,將
    改成
  9. 修改 /etc/motion/motion.conf,將
    改成
  10. 啟動 motion 服務
  11. 取得 Raspberry Pi 所使用的 IP
    應該可以看到類似下列的輸出,其中第 11 行顯示此 Raspberry Pi 所使用的 (無線) 網卡 IP 為 192.168.1.101。
  12. 使用其他電腦的瀏覽器連結 http://192.168.1.101:8081,應該可以看到 USB Webcam 的畫面輸出。其中 192.168.1.101 需換成你手邊 Raspberry Pi 所使用的 IP。

調整 motion 服務的參數

經過前面的設定,motion 已經算是可以運作,不過效果方面可能差強人意、甚至令人無法接受。因為每個 USB Webcam 的效能皆不一樣,所以需要調整設定參數才能獲得更好的效果。此外,如果要從其他電腦觀看監視影像,網路速度也會是一個很重要的考量因素。尤其是當透過網路網際加以觀看時,往往必須犧牲一些影像與畫面的品質以減少對網路的負擔。下列整理出一些可以考慮調整的參數:

除了上述的參數外,motion 還有許多可供調整的參數,完整資料可參考官網文件

如果對文章的內容有任何疑問或建議,歡迎與我聯絡。

Facebook 留言
Print Friendly, PDF & Email
Summary
Article Name
使用 Raspberry Pi 3 Model B 進行遠端監控
Description
在這篇文章中,我將介紹 Raspberry Pi 3 Model B 如何利用 USB Webcam 搭配 Motion 套件達成遠端監控的目的。Motion 套件提供遠端觀看即時影像以及動作偵測的能力,在偵測到動作的同時留下畫面與影像的紀錄,讓 Raspberry Pi 成為一個具備入侵偵測功能的監視系統。
Author
Publisher Name
Everlearn Studio
Publisher Logo