購買產品:PL2303HX USB轉TTL傳輸線,PL2303HXD USB轉TTL傳輸線。
Raspberry Pi 有提供原生的序列(Serial)傳輸介面,因此只要透過 USB 轉 TTL 序列傳輸線,就可以在不需要螢幕和鍵盤滑鼠的情況下登入 Raspberry Pi (預設帳號密碼是 pi/raspberry),連上的虛擬終端機為 ttyAMA0。
序列傳輸介面至少需要有三條線,包括接地(GND)、接收(RX)和傳送(TX),參考接線圖如下。本 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 序列傳輸線時的裝置管理員。
2. 接上 USB 轉 TTL 序列傳輸線時的裝置管理員,一開始會跳出”歡迎使用尋找新增硬體精靈”。我們先暫時忽略這訊息並下載驅動程式吧。
3. PL2303HX 和 PL2303HXD 都是使用旺玖科技的晶片,官方網站驅動程式下載連結為:
http://www.prolific.com.tw/TW/ShowProduct.aspx?p_id=226&pcid=79
4. 下載後解壓縮執行 PL2303_Prolific_DriverInstaller_v1.8.0.exe,按照指示完成後重開機。再次開啟裝置管理員,可以發現多了一個連接埠 COM3。
5. 下載並開啟 putty。
6. 在 Connection type 先選擇 Serial,再根據剛剛的連接埠依序填入 Serial line、Speed的值。由於剛剛裝置管理員是看到 COM3,因此在 Serial line 也填入 COM3,Speed 填入 115200。
7. 相關的參數填完後,按 “Open” 就能連上 Raspberry Pi 如下圖。如果等了幾秒還是沒有畫面,可將 Raspberry Pi 重開(電源重插拔),應該就可以順利看到登入訊息。
Ubuntu Linux
1. 接上 USB 轉 TTL 序列傳輸線,打 ls /dev/ttyUSB*
,在我們的環境是長在 ttyUSB0。
2. 開啟 putty,如果還沒安裝請執行sudo apt-get install putty
安裝。
3. 在 Connection type 先選擇 Serial,再根據剛剛的連接埠依序填入 Serial line、Speed的值。由於該節點是長在 ttyUSB0,因此在 Serial line 也填入 ttyUSB0,Speed 填入 115200。
4. 如果出現 Unable to open serial port 如下圖,改用 sudo 權限執行 putty。
5. 相關的參數填完後,按 “Open” 將能連上 Raspberry Pi 如下圖。如果等了幾秒還是沒有畫面,可將 Raspberry Pi 重開(電源重插拔),應該就可以順利看到登入訊息。
Mac
1. 下載並安裝 PL2303HXD Driver,安裝後會重新開機。官方網站驅動程式下載連結為:
http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41
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
再重開機即可。
分享一下在 OS X 使用上遇到的小問題:我一開始也是畫面全黑沒反應,試過重插、重開甚至改用 windows ,後來在 /boot/configx.txt 末尾加上這三行重開就成功了:
“`
dtoverlay=pi3-miniuart-bt
core_freq=250
enable_uart=1
“`
參考自本站另一篇教學文(第一份 slide 第 7 頁):
https://www.raspberrypi.com.tw/17506/raspberry-pi-camera-python-opencv-2days-workshop-at-nfu/
操作環境:
– Mac OS X 10.12
– RPi 3 Model B ver1.2
– PL2303HXD 傳輸線
– 驅動版本 PL2303_MacOSX_1.6.1_20160309
您好,感謝您閱讀我們的投影片,這網頁的內容沒有持續更新,不好意思。
更詳細的原因和解決方法,可以參考以下投影片,p21 – p29。
https://www.slideshare.net/raspberrypi-tw/raspberry-pi-iot-bluetooth
謝謝
謝謝,這一份好詳細!