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 版本。
安裝步驟
- 準備聯結器:在 Raspberry Pi 上找到音訊和 HDMI 插座之間的特殊聯結器。
- 解鎖聯結器:輕輕拉起聯結器兩側的桿狀物,以解鎖聯結器。
- 插入相機模組:將相機模組的ribbon線纜插入聯結器,確保金屬接觸面朝向遠離乙太網路插座的方向。
- 鎖定聯結器:按下聯結器兩側的桿狀物,以鎖定ribbon線纜。
軟體組態
- 啟用相機:使用 Raspberry Pi 組態工具啟用相機。前往主選單,選擇「偏好設定」,然後點選「Raspberry Pi 組態」。
- 選擇相機:在「介面」標籤頁中,將「相機」選項設為「啟用」。
遠端啟用相機
如果您正在遠端使用 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提供了兩個命令:raspistill
和raspivid
,用於控制相機模組。這些命令具有多種選項,可以用於自定義拍攝和錄製過程。
使用藍牙技術
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.13
。lo
網路介面是一個虛擬介面,允許電腦與自己進行通訊。
內容解密:
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 的強大功能。