[基礎] 從序列埠登入到 Raspberry Pi

購買產品:PL2303HX USB轉TTL傳輸線PL2303HXD USB轉TTL傳輸線

Raspberry Pi 有提供原生的序列(Serial)傳輸介面,因此只要透過 USB 轉 TTL 序列傳輸線,就可以在不需要螢幕和鍵盤滑鼠的情況下登入 Raspberry Pi (預設帳號密碼是 pi/raspberry),連上的虛擬終端機為 ttyAMA0。
序列傳輸介面至少需要有三條線,包括接地(GND)、接收(RX)和傳送(TX),參考接線圖如下。
connect-serial-to-raspberry-pi-model-b
connect-serial-to-raspberry-pi-model-b-plus本 Raspberry Pi B+ GPIO 腳位圖獲得授權使用

比較好的產品會有較多的連接線,例如做流量控制的 RTS/CTS 等。在不同作業系統使用的方式大同小異,詳細步驟如下。

注意:
1. 目前 PL2303HX 僅支援 Windows XP/Vista/7 和 Linux 使用,如果是 Windows 8 和 Mac 作業系統,需使用 PL2303HXD 才能正常使用。
2. 安裝 USB 轉 TTL 傳輸線設定時,Raspberry Pi 不需要開機。但是完成安裝後,記得要將 Raspberry Pi 開機,才能透過該序列傳輸線連接。

Windows XP
1. 沒有接上 USB 轉 TTL 序列傳輸線時的裝置管理員。
not-connect-to-serial

2. 接上 USB 轉 TTL 序列傳輸線時的裝置管理員,一開始會跳出”歡迎使用尋找新增硬體精靈”。我們先暫時忽略這訊息並下載驅動程式吧。
ask-for-insert-new-hardware

3. PL2303HXPL2303HXD 都是使用旺玖科技的晶片,官方網站驅動程式下載連結為:
http://www.prolific.com.tw/TW/ShowProduct.aspx?p_id=226&pcid=79
prolific-driver-download-url-windows

4. 下載後解壓縮執行 PL2303_Prolific_DriverInstaller_v1.8.0.exe,按照指示完成後重開機。再次開啟裝置管理員,可以發現多了一個連接埠 COM3。
connect-to-serial

5. 下載並開啟 putty。
putty-windows

6. 在 Connection type 先選擇 Serial,再根據剛剛的連接埠依序填入 Serial line、Speed的值。由於剛剛裝置管理員是看到 COM3,因此在 Serial line 也填入 COM3,Speed 填入 115200。
putty-serial-setting-windows

7. 相關的參數填完後,按 “Open” 就能連上 Raspberry Pi 如下圖。如果等了幾秒還是沒有畫面,可將 Raspberry Pi 重開(電源重插拔),應該就可以順利看到登入訊息。
successful-to-connect-to-raspberry-pi-via-serial-on-windows

Ubuntu Linux
1. 接上 USB 轉 TTL 序列傳輸線,打 ls /dev/ttyUSB*,在我們的環境是長在 ttyUSB0。
tty-usb0

2. 開啟 putty,如果還沒安裝請執行sudo apt-get install putty安裝。
putty-linux

3. 在 Connection type 先選擇 Serial,再根據剛剛的連接埠依序填入 Serial line、Speed的值。由於該節點是長在 ttyUSB0,因此在 Serial line 也填入 ttyUSB0,Speed 填入 115200。
putty-serial-setting-linux

4. 如果出現 Unable to open serial port 如下圖,改用 sudo 權限執行 putty。
putt_unable_to_open_serial_port

5. 相關的參數填完後,按 “Open” 將能連上 Raspberry Pi 如下圖。如果等了幾秒還是沒有畫面,可將 Raspberry Pi 重開(電源重插拔),應該就可以順利看到登入訊息。
successful-to-connect-to-raspberry-pi-via-serial-on-linux

Mac
1. 下載並安裝 PL2303HXD Driver,安裝後會重新開機。官方網站驅動程式下載連結為:
http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41
prolific-driver-download-url-mac

2. 重開機生效。

3. 檢查是否出現裝置節點,打 ls /dev/cu*,如果出現 /dev/cu.usbserial,可以直接使用指令 screen /dev/cu.usbserial 115200 連線進去。

4. 如果沒出現 /dev/cu.usbserial,試著重插拔 USB 轉 TTL 傳輸線和重新插拔電源。

5. 如果使用 screen 後沒畫面出現,重新插拔電源試試看(USB 轉 TTL 傳輸線不要拔掉)。

常見問與答:

1. 我需要接紅色的線嗎?
如果將 USB 轉 TTL 傳輸線的紅色線接到 Pin 2,將會從傳輸線供電給 Pi 而讓 Pi 開機。由於我們已經有供給穩定的電源給 Pi,因此這邊我們不會將紅色線接到 Pin 2。

2. 我可以將序列埠的功能關掉嗎?
我們可以透過修改/boot/cmdline.txt,將

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

改為

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

還要再修改/etc/inittab,將

#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

改為

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

再重開機即可。

Leave a Reply

Your email address will not be published. Required fields are marked *


− two = 4


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>