本文譯自樹莓派雜誌97期(MagPi issue 97),原文標題為Connect Raspberry Pi 4 to iPad Pro with a USB-C cable(插圖來源取自雜誌內頁)。本篇使用CC 3.0 BY-NC-SA授權,若有任何不妥與指教敬請告知。若在實際操作中遇上問題,無法提供相關技術支援服務。
在許多方面,蘋果的iPad Pro和樹莓派可以說是南轅北轍;樹莓派是一台可編程電腦,而iPad Pro卻是相對封閉的系統。不過自2018年起,iPad Pro搭載了USB-C介面後,便和Raspberry Pi 4一致了。
透過一些步驟,你就能讓你的Raspberry Pi 4使用USB-C傳輸資料並建立固定IP;花費短暫的時間設定系統,你就能單單透過USB-C傳輸線,啟動並遠端遙控你的樹莓派!
你將會需要:
-
iPad Pro
-
Raspberry Pi 4
-
可相容的USB-C線
-
Termius APP
-
VNC連線APP或使用Screens APP
安裝Raspberry Pi OS
我們透過Raspberry Pi Imager燒錄Raspberry Pi OS (32-bit)至SD卡上。
接著為你的樹莓派準備好螢幕、鍵盤及滑鼠(放心我們最後不會再需要它們!),開啟電源並進行初始化的設置。在過程中請確保你已更改默認密碼,不要直接使用喔!
開啟終端機(Terminal)視窗並輸入以下,確保使用的是最新版本:
sudo apt update
sudo apt full-upgrade
sudo reboot
開啟SSH連線和VNC遠端桌面軟體
選擇Menu(選項)> Preference(偏好設定)> Raspberry Pi設定 > Interfaces > SSH及VNC > Enabled(啟用)。點擊OK鍵關閉Configuration tool(組態工具)。
注意:在啟用前請務必確認已修改過默認密碼。
(譯註:相關文章可參考【樹莓派教學】 在樹莓派上使用SSH及【樹莓派教學】用遠端桌面連接樹莓派。)
設定config.txt
調整解析度並確認dtoverlay=dwc2出現在config.txt檔案的末端。
sudo nano /boot/config.txt
取消framebuffer行的註解(將它前面的#號移除)並將解析度改為1024×768。
framebuffer_width=1024
framebuffer_height=768
去config.txt檔案的末端查看,確認dtoverlay=dwc2有出現。
[all]
dtoverlay=dwc2
按下CTRL+O後,再按下CTRL+X,儲存並關閉config.txt。
設定cmdline.txt
開啟cmdline.txt檔案:
sudo nano /boot/cmdline.txt
在console=serial0的下一行新增以下:
modules-load=dwc2
設定modules
接著設定modules檔案
sudo nano /etc/modules
增加以下命令在尾端:
libcomposite
儲存並關閉。
調整IP地址
現在我們需防止樹莓派選用自己的網路地址。編輯dhcpcd.conf檔案:
sudo nano /etc/dhcpcd.conf
在檔案的尾端加入:denyinterfaces usb0
選擇IP範圍
安裝dnsmasq:
sudo apt install dnsmasq -y
建立usb檔案:
sudo nano /etc/dnsmasq.d/usb
加入以下script腳本:
interface=usb0
dhcp-range=10.55.0.2,10.55.0.6,255.255.255.248,1h
dhcp-option=3
leasefile-ro
選擇地址
現在是時候選擇固定IP地址了!它就是被用來將樹莓派與iPad Pro連接的。
sudo nano /etc/network/interfaces.d/usb0
並增加以下script腳本:
auto usb0
allow-hotplug usb0
iface usb0 inet static
address 10.55.0.1
netmask 255.255.255.248
儲存並關閉檔案。我們的IP地址是10.55.0.1。將會用此IP(或是樹莓派本地端IP位址)使用VNC的SSH連接樹莓派。
複製貼上usb.sh script腳本
現在我們需要下載並執行usb.sh script腳本在樹莓派上。
剪下並貼上位於 Ben Hardill’s網站的usb.sh script腳本代碼。建議使用Text Editor編輯檔案:
sudo mousepad /root/usb.sh
然後貼上從usb.sh取得的代碼後,儲存並退出。
輸入sudo chmod +x /root/usb.sh使usb.sh檔案被執行。
啟動時運行script腳本
為了每次都能順利連接,我們必須確保開啟樹莓派時usb.sh script腳本順利運行。使用crontab定時運行腳本或程序:
sudo crontab -e
第一次設定時,系統會詢問我們要用什麼編輯器,如nano、vim等;輸入1以選擇nano。
並將以下輸入至crontab的末行。
@reboot bash /root/usb.sh
利用CTRL+O和CTRL+X儲存後離開。
與iPad連接
將樹莓派關機:
sudo shutdown -h now
將供電來源從樹莓派移除,並利用USB-C線連上iPad Pro。
養成測試運行時和螢幕連接著的良好習慣;由於不是所有的USB-C都能順利運作,我們這次並非使用蘋果原廠的USB-C線,而是選用Anker品牌的USB-C連接。按照前面的步驟,這邊應該會是正常重啟的,且螢幕解析度的尺寸為稍早設定的1024×768。
確認連接狀態
若是運作正常,你會在iPadOS的設定中,看見樹莓派以Ethernet連接顯示。
你會在WiFi下方看見一個新的選項Ethernet,點選它查看「Pi4 USB Device」,內頁有更多設定項目。
接著就能開始利用SSH及VNC,讓你透過iPad Pro使用樹莓派了!
下載VNC Viewer APP
從APP Store上就能下載VNC Viewer。開啟APP並點擊Add。
進入10.55.0.1的網路位址並設定名稱(在這邊我們設定為Raspberry Pi 4 iPad Pro)。點擊儲存(Save)後點擊連接(Connect)。
在使用者名稱(Username)輸入「pi」及填入你的密碼,按下繼續(Continue)。你將會在iPad Pro的VNC上看見你的桌面。
下載Screens APP
為了要能直覺式的點擊螢幕操作游標,我們需要下載Screens這款APP,免去移動虛擬游標在操控上的麻煩。載好APP後,也必須調整VNC Server的設定。
打開樹莓派的VNC Server(點擊VNC Server的圖標)並點選menu > Options。將認證方式的密碼從UNIX修改為VNC;點擊使用者及權限(Users & Permissions)並點擊密碼,在兩處皆輸入慣用VNC密碼後點擊確認。
接著回到Screens APP上,點選「+」號並選擇新螢幕(New Screen)。點擊Custom後,在地址欄位輸入10.55.0.1。將操作系統改為樹莓派,並在使用者名稱欄位輸入「pi」,點擊完成(Done)。點選設定好的螢幕開啟連線。
下載Termius APP(SSH)
在iPadOS上有許多SSH的APP可以使用,這邊推薦各位可以使用Termius。
下載後打開Termius並點選加入鈕(+),選擇New Host。在Hostname欄位輸入10.55.0.1,並在Username欄位輸入「pi」。點擊儲存並點選剛剛建立好的Host連接。
當然還有許多方式可以讓你的iPad和樹莓派互相連線,但SSH和VNC可說是對初學者來說相當堪用的好方法。
樹莓派和iPad Pro的傳輸讓你可以方便地利用iPad Pro去編程,它持久的電力及絕佳的螢幕顯示更是一大優勢。