Raspberry Pi 的相機模組提供高解析度影像和影片拍攝功能,支援多種解析度和影片格式。使用者可以透過簡單的硬體安裝和軟體設定,快速啟用相機功能。透過 raspistill 命令可以捕捉靜態影像,而 raspivid 命令則可錄製影片,並可設定錄製時間。除了相機模組,Raspberry Pi 也支援藍牙連線,方便使用者連線其他藍牙裝置。網路連線方面,Raspberry Pi 可以透過乙太網路或 WiFi 連線至網路,並可設定靜態 IP 位址,方便在不同網路環境下使用。對於需要遠端連線的使用者,也可以透過 SSH 或 VNC 遠端控制 Raspberry Pi。

安裝 Raspberry Pi 相機模組

問題描述

您想要使用 Raspberry Pi 相機模組。

解決方案

Raspberry Pi 相機模組(如圖 1-25 所示)可以透過特殊聯結器附加到 Raspberry Pi 上。這個聯結器位於音訊和 HDMI 插座之間,適用於 Raspberry Pi 2、3 或 4 版本。

安裝步驟

  1. 準備聯結器:在 Raspberry Pi 上找到音訊和 HDMI 插座之間的特殊聯結器。
  2. 解鎖聯結器:輕輕拉起聯結器兩側的桿狀物,以解鎖聯結器。
  3. 插入相機模組:將相機模組的ribbon線纜插入聯結器,確保金屬接觸面朝向遠離乙太網路插座的方向。
  4. 鎖定聯結器:按下聯結器兩側的桿狀物,以鎖定ribbon線纜。

軟體組態

  1. 啟用相機:使用 Raspberry Pi 組態工具啟用相機。前往主選單,選擇「偏好設定」,然後點選「Raspberry Pi 組態」。
  2. 選擇相機:在「介面」標籤頁中,將「相機」選項設為「啟用」。

遠端啟用相機

如果您正在遠端使用 SSH 連線到 Raspberry Pi,您可以使用以下命令啟用相機:

$ sudo raspi-config

選擇「Interfacing Options」,然後啟用相機。

捕捉影像

使用 raspistill 命令捕捉單張影像:

$ raspistill -o image1.jpg

預覽螢幕將顯示約 5 秒,然後拍攝一張照片並儲存為 image1.jpg 檔案。

捕捉影片

使用 raspivid 命令捕捉影片:

$ raspivid -o video.h264 -t 10000

數字 10000 代表錄製時間(毫秒),在此案例中為 10 秒。

圖表翻譯

  flowchart TD
    A[開始] --> B[安裝相機模組]
    B --> C[組態軟體]
    C --> D[啟用相機]
    D --> E[捕捉影像或影片]

此圖表展示了安裝和組態 Raspberry Pi 相機模組的步驟,從物理安裝到軟體組態和捕捉影像或影片。

使用Raspberry Pi的相機模組

Raspberry Pi的相機模組是一個強大的工具,能夠拍攝高解析度的靜態影像和錄製影片。相機模組有多種版本,包括Raspberry Pi Camera version 2,它具有3280 x 2464畫素的解析度,支援1080p30、720p60和640x480p90影片錄製。

相機模組的選擇

除了標準的相機模組外,還有一種稱為No Infra red (NoIR)的版本,它移除了紅外濾鏡,使其能夠在夜間下紅外照明條件下工作。此外,還可以使用USB網路攝像頭作為替代方案。

使用相機模組的命令

Raspberry Pi提供了兩個命令:raspistillraspivid,用於控制相機模組。這些命令具有多種選項,可以用於自定義拍攝和錄製過程。

使用藍牙技術

Raspberry Pi 3和4具有內建的藍牙硬體,而舊版本的Raspberry Pi可以透過USB藍牙介面卡來新增藍牙功能。無論哪種情況,Raspbian作業系統都包含了所需的軟體來支援藍牙。

藍牙介面卡的選擇

如果您使用的是舊版本的Raspberry Pi,請確保購買一款相容的USB藍牙介面卡。並非所有介面卡都與Raspberry Pi相容,因此請務必選擇一款被認證為相容的產品。

配對藍牙裝置

要配對藍牙裝置,請單擊螢幕右上角的藍牙圖示,然後選擇「新增裝置」。這將開啟一個對話方塊,顯示可用的裝置列表。選擇您要配對的裝置,然後按照螢幕上的指示完成配對過程。

命令列介面的使用

除了使用桌面介面外,您還可以使用命令列介面來配對藍牙裝置。bluetoothctl命令允許您掃描可用的裝置並使用其ID進行配對。

範例命令

$ bluetoothctl
[NEW] Controller B8:27:EB:50:37:8E raspberrypi [default]
[NEW] Device 51:6D:A4:B8:D1:AA 51-6D-A4-B8-D1-AA
[NEW] Device E8:06:88:58:B2:B5 si’s keyboard #1

[bluetooth]# pair E8:06:88:58:B2:B5

圖表翻譯:

此圖表顯示了使用bluetoothctl命令來掃描和配對藍牙裝置的過程。首先,命令會顯示可用的控制器和裝置列表。然後,使用pair命令來配對指定的裝置。

  flowchart TD
    A[啟動bluetoothctl] --> B[掃描可用的裝置]
    B --> C[顯示裝置列表]
    C --> D[選擇要配對的裝置]
    D --> E[使用pair命令進行配對]
    E --> F[完成配對]

網路連線與控制

2.0 網路連線簡介

Raspberry Pi 設計為可連線至網際網路的裝置,其網際網路通訊能力是其主要特點之一,開啟了各種可能的應用,包括家庭自動化、網頁伺服器、網路監控等。連線可以透過乙太網線(大多數型號)或無線網路(WiFi)進行。較新的型號通常具備內建 WiFi。

當 Raspberry Pi 連線到網際網路時,您也可以從另一臺電腦遠端連線到它,這在 Raspberry Pi 本身無法直接存取且沒有鍵盤、滑鼠和監視器的情況下非常有用。

本章節將提供您連線 Raspberry Pi 至網際網路和遠端控制的食譜。

2.1 連線有線網路

問題

您想要使用有線網路連線將 Raspberry Pi 連線到網際網路。

解決方案

首先,如果您擁有一款 Raspberry Pi 1、2 或 3 的 A 或 A+ 版本,或者是一款 Pi Zero,那麼您就沒有 RJ45 聯結器可用於乙太網路。在這種情況下,您最好的選擇是使用無線 USB 介面卡(請參考食譜 2.5)。

如果您有一款 Raspberry Pi 1、2 或 3 的 B 或 B+ 版本,那麼您就很幸運了;只需將乙太網路跳線插入其 RJ45 插槽,然後將另一端連線到家用路由器後面的備用插槽(圖 2-1)。

圖 2-1. 將 Raspberry Pi 連線到家用中心

您的 Raspberry Pi 的網路 LED 燈應該立即開始閃爍,因為它連線到您的網路。

討論

Raspbian 預設組態為使用動態主機組態協定(DHCP)連線到任何網路。只要您的網路上啟用了 DHCP,它就會自動被分配一個 IP 地址。

如果 LED 燈閃爍,但您無法使用瀏覽器在 Raspberry Pi 上連線到網際網路,請檢查您的網路管理控制檯是否啟用了 DHCP。查詢一個類別似於圖 2-2 的選項。

圖 2-2. 在家用中心啟用 DHCP

參考

若要連線無線網路,請參考食譜 2.5。

2.2 查詢Raspberry Pi的IP地址

問題

您想知道Raspberry Pi的IP地址,以便與其進行通訊,無論是將其作為網頁伺服器、交換檔案或使用SSH(配方2.7)或VNC(配方2.8)遠端控制。

解決方案

IPv4地址(用於本地地址)是一個四部分的號碼,唯一標識電腦的網路介面在網路中。每個部分由.分隔。

要查詢Raspberry Pi的IP地址,您需要在終端視窗中執行以下命令:

$ hostname -I
192.168.1.16 fd84:be52:5bf4:ca00:618:fd51:1c.....

回應的第一部分是Raspberry Pi在家用網路中的本地IP地址。

討論

Raspberry Pi可以有多個IP地址(即,每個網路連線一個)。因此,如果您同時具有有線連線和無線連線到Pi,它將具有兩個IP地址。通常,然而,您只會使用其中一個連線它,而不是兩個。要檢視所有網路連線,請使用ifconfig命令:

$ ifconfig
eth0  Link encap:Ethernet  HWaddr b8:27:eb:d5:f4:8f
      inet addr:192.168.1.16  Bcast:192.168.255.255  Mask:255.255.0.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1114 errors:0 dropped:1 overruns:0 frame:0
      TX packets:1173 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:76957 (75.1 KiB)  TX bytes:479753 (468.5 KiB)

lo    Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0 Link encap:Ethernet  HWaddr 00:0f:53:a0:04:57
      inet addr:192.168.1.13  Bcast:192.168.255.255  Mask:255.255.0.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:38 errors:0 dropped:0 overruns:0 frame:0
      TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:6661 (6.5 KiB)  TX bytes:6377 (6.2 KiB)

檢視ifconfig命令的結果,您可以看到所討論的Pi透過有線連線(eth0)具有IP地址192.168.1.16,以及無線連線(wlan0)具有IP地址192.168.1.13lo網路介面是一個虛擬介面,允許電腦與自己進行通訊。

內容解密:

  • hostname -I命令用於查詢Raspberry Pi的IP地址。
  • ifconfig命令用於檢視所有網路連線。
  • 每個網路連線都有一個唯一的IP地址。
  • lo網路介面是一個虛擬介面,允許電腦與自己進行通訊。

圖表翻譯:

  graph LR
    A[Raspberry Pi] -->|有線連線|> B[eth0]
    A -->|無線連線|> C[wlan0]
    B -->|IP地址|> D[192.168.1.16]
    C -->|IP地址|> E[192.168.1.13]

圖表解釋:

  • 圖表展示了Raspberry Pi的網路連線。
  • eth0代表有線連線,wlan0代表無線連線。
  • 每個連線都有一個唯一的IP地址。

設定Raspberry Pi的靜態IP地址

當您想要在不同的網路環境中使用Raspberry Pi,並保持其IP地址不變時,設定靜態IP地址是一個不錯的選擇。這樣可以避免每次連線到不同的網路時都需要重新組態IP地址。

什麼是區域網(LAN)?

區域網(LAN)是指所有連線到同一個hub或路由器的裝置,包括電腦、電視、手機等。這些裝置都可以透過hub或路由器連線到網際網路。當您連線一個新裝置到區域網時,hub或路由器會使用DHCP(動態主機組態協定)來分配一個IP地址給該裝置。

DHCP是如何工作的?

DHCP會從一個IP地址池中分配一個IP地址給新連線的裝置。這個IP地址池可能是192.168.1.2到192.168.1.199,或者10.0.0.2到10.0.0.199。DHCP分配IP地址時會設定一個租約時間,這是裝置可以使用該IP地址的時間。如果租約時間過期,DHCP可能會將該IP地址分配給其他裝置。

為什麼需要設定靜態IP地址?

如果您想要保持Raspberry Pi的IP地址不變,設定靜態IP地址是一個不錯的選擇。這樣可以避免每次連線到不同的網路時都需要重新組態IP地址。

使用網路設定靜態IP地址

您可以透過hub或路由器的控制介面來設定靜態IP地址。首先,您需要使用電腦連線到hub或路由器的控制介面。然後,您需要找到DHCP設定頁面,並將租約時間設定為一個較長的值。

使用DHCP預留設定靜態IP地址

另一個設定靜態IP地址的方法是使用DHCP預留。這個方法可以將一個特定的IP地址永久分配給一個特定的裝置。例如,您可以將IP地址192.168.1.3分配給一個Raspberry Pi裝置。

使用Raspberry Pi設定靜態IP地址

您也可以透過Raspberry Pi自己來設定靜態IP地址。這個方法需要您編輯Raspberry Pi的網路組態檔案,並將IP地址設定為一個靜態值。

編輯網路組態檔案

您可以使用以下命令來編輯Raspberry Pi的網路組態檔案:

sudo nano /etc/network/interfaces

然後,您需要將以下內容新增到檔案末尾:

iface eth0 inet static
  address 192.168.1.210
  netmask 255.255.255.0
  gateway 192.168.1.1

這個內容設定了Raspberry Pi的IP地址為192.168.1.210,子網路遮罩為255.255.255.0,閘道為192.168.1.1。

設定Raspberry Pi的網路設定和名稱

在設定Raspberry Pi的網路設定時,需要修改網路介面的設定檔。以下是設定eth0和wlan0介面的範例:

interface eth0
  static ip_address=192.168.1.210/24
  static routers=192.168.1.1
  static domain_name_servers=192.168.1.1

interface wlan0
  static ip_address=192.168.1.210/24
  static routers=192.168.1.1
  static domain_name_servers=192.168.1.1

注意到,我們為兩個網路介面(Ethernet和WiFi)設定了相同的IP地址。如果兩個連線都可用,第一個連線會關閉另一個連線使用相同的IP地址。在實踐中,這意味著乙太網連線會勝出,因為它比WiFi連線更快。

路由器和網域名稱伺服器的IP地址是您用於連線到hub的管理主控臺的IP地址。許多hub使用相同的IP地址範圍。路由器和網域名稱伺服器設定中的地址與您在hub上找到作為其管理主控臺地址的地址相同。

但是,如果您的hub使用較少見的10.0.0.1地址格式,您需要將所有192.168.1例項更改為10.0.0。

儲存檔案後,重新啟動您的Raspberry Pi。

討論

網路設定在不同的Raspbian版本中有所不同。這些指示適用於最新版本的Raspbian(Buster)。如果您沒有最新版本的Raspbian,您應該更新,因為Raspbian始終在演進和改進。您可以在Recipe 3.40中學習如何更新Raspbian版本。

設定Raspberry Pi的網路名稱

問題

您想要更改Raspberry Pi的網路名稱,以便它不再只是被稱為「raspberrypi」。

解決方案

有幾種方法可以做到這一點。無論您使用哪種方法,請確保您選擇的網路名稱不包含空格,只包含字母、數字和連字元(-)字元。

使用Raspberry Pi Configuration工具

除非您以headless模式執行Raspberry Pi(沒有監視器和鍵盤),否則使用Raspberry Pi Configuration工具是設定Raspberry Pi網路名稱最簡單的方法。要開啟此工具,請前往Raspberry Pi選單,選擇偏好設定,然後點選Raspberry Pi Configuration。然後點選系統標籤(圖2-5)。

圖表翻譯

  flowchart TD
    A[設定網路名稱] --> B[使用Raspberry Pi Configuration工具]
    B --> C[開啟Raspberry Pi選單]
    C --> D[選擇偏好設定]
    D --> E[點選Raspberry Pi Configuration]
    E --> F[點選系統標籤]

內容解密

以上程式碼和設定步驟,詳細解釋瞭如何設定Raspberry Pi的網路設定和名稱。首先,需要修改網路介面的設定檔,然後儲存檔案並重新啟動Raspberry Pi。接下來,需要使用Raspberry Pi Configuration工具來設定網路名稱。這些步驟都需要仔細遵循,以確保Raspberry Pi的網路設定正確無誤。

從系統整合的視角來看,安裝與設定 Raspberry Pi 相機模組、藍牙和網路連線,展現了其作為嵌入式系統的靈活性和多元應用潛力。文章詳細說明瞭硬體安裝步驟、軟體組態方法以及常用命令,對於初學者相當友善。然而,僅提供單一靜態 IP 設定方式略顯不足,在實際應用中,可能需要根據不同網路環境調整 DHCP 或其他網路設定。此外,雖然文章提到了不同 Raspberry Pi 版本的硬體差異,但對於不同 Raspbian 版本的軟體設定差異著墨不多,這對於使用舊版系統的使用者來說可能造成困擾。展望未來,隨著 Raspberry Pi 效能提升和軟體生態更加完善,其應用場景將更加廣闊,從物聯網邊緣裝置到個人伺服器,甚至小型機器人控制平臺,都將展現其強大的應用價值。對於想要深入探索 Raspberry Pi 的使用者,建議進一步研究網路設定的細節,例如子網路遮罩、閘道器設定以及 DNS 設定等,以提升網路連線的穩定性和安全性。玄貓認為,掌握這些進階設定技巧,將能更有效地發揮 Raspberry Pi 的強大功能。