Raspberry Pi ‘ye seri console bağlantısı

Evde TV kullanmadığım için Raspberry Pi cihazımı genelde çalıştığım şirkette kullandığım ikincil monitörüme HDMI->DVI çevirici ile bağlıyordum. Ancak 2. monitöre bağlasam bile bu kez de Pi’ye klavye bağlamak için, ayrı bir güç adaptörüyle çalışan USB hub gerekiyordu. İnternette araştırmalar sonucu, Raspberry Pi GPIO pinleri kullanılarak seri/USB dönüştürücü ile, monitöre gerek kalmaksızın linux konsola erişmek mümkün, hem de klavyeye ihtiyaç olmaksızın. Nasıl mı?

Gerekenler;
-Raspberry Pi Model B,
-PL2303 serial to USB converter (PL2303HX chipset olanı gittigidiyor.com’dan 20 TL’ye satın aldım.)
-Linux/Mac OS X/Windows kurulu USB portu olan herhangi bir bilgisayar.

Öncelikle PL2303HX chipsetli küçük devreyi bilgisayarınızın USB portuna takın ve işletim sisteminizin cihazı görüp görmediğini inceleyin.

* Linux için:

1
dmesg |grep usb

komutunu çalıştırın ve komutun çıktısında aşağıdaki gibi satırlar olduğundan emin olun.

[12190.071541] usb 1-1.2: new full-speed USB device number 13 using ehci-pci
[12190.164785] usb 1-1.2: New USB device found, idVendor=067b, idProduct=2303
[12190.164797] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[12190.164803] usb 1-1.2: Product: USB-Serial Controller
[12190.164809] usb 1-1.2: Manufacturer: Prolific Technology Inc.
[12190.167409] usb 1-1.2: pl2303 converter now attached to ttyUSB0

Yukarıdaki çıktıya göre benim cihazım linux sistemim tarafından tanınmış ve /dev/ttyUSB0 adresinden erişilebilir hale gelmiş.

* Mac OS X için:

http://www.prolific.com.tw/admin/Technology/GetFile.ashx?fileID=241 adresindeki dosyayı indirerek içindeki .dmg uzantılı dosyayı sisteminize kurun.
– Elma menüsünden System Info’ya girerek USB cihazın sisteminiz tarafından tanındığından emin olun. (Aşağıdaki ekran görüntüsü internetten bulduğum bir örnek.)

PL2303 serial to USB converter info on Mac OS X

 

 

 

 

 

– Cihazın tty adreslerinin oluşup oluşmadığını ls /dev/*PL* komutu ile kontrol edin. Komut çıktısında aşağıdaki iki tty adresi listelenmiş olmalı.

/dev/cu.PL2303-00002006
/dev/tty.PL2303-00002006

Sıra geldi cihazı Raspberry Pi’ye bağlamaya. Herhangi bir problem çıkmaması için cihazı USB portundan çıkarın.

Cihazdaki TX-RX-GND pinlerini Raspberry Pi üzerindeki GPIO pinlerine aşağıdaki şemaya göre -cihaz ile birlikte gelen kablolarla, lehimle ya da başka bir yöntemle (floppy/IDE kablosuyla veya kıskaçlı kablolarla)- şekilde bağlayın.

raspberry-pi-rev-1-gpio-pin-out1

PL2303 Converter => RPi Pin No ( GPIO No)

GND => PIN 6 (Ground)
RXD => PIN 8 (GPIO14 – UART TXD)
TXD => PIN 10 (GPIO15 – UART RXD)

Not : Ground pin bağlantısını yapmazsanız linux ile bağlantı da ekrana veri gelmediğini farkettim, aynı durumda Mac OS X’te ise bağlantı çalışmasına rağmen console login gelmiyor, sadece boot ekranı akıyor.

Bağlantı sonrası durum şöyle oldu.

rpi-serial

Bağlantı yapıldıktan sonra artık herhangi bir terminal emulator ile test yapın. Hem linux hem de Mac OS X için terminal emulator olarak, minicom veya screen kullanabilirsiniz.

* Linux için:

screen -L /dev/ttyUSB0 115200
minicom -b 115200 -D /dev/ttyUSB0 -o

* Mac OS için:

screen -L /dev/cu.PL2303-00002006 115200
minicom -D /dev/cu.PL2303-00002006 -b 115200

komutlarından birini kullanabilirsiniz.

Benim minicom testim sonrasında ekrandaki yazılar aşağıdaki gibi oldu.

Welcome to minicom 2.6.2

OPTIONS:
Compiled on Sep 10 2013, 19:16:49.
Port /dev/cu.PL2303-00002006

Press Meta-Z for help on special keys

Debian GNU/Linux 6.0 PiPi ttyAMA0

PiPi login:

* Windows için işlemler oldukça basit;

Profilic sitesinden Windows sürücüsünü indirin ve kurun.
– Sürücü kurulumu sonrası cihaz sistemde COM3 olarak görünmeli. (COM3 örnektedir, sizde daha farklı olabilir.)
– Putty programını indirin, Bağlantı tipi olarak Serial, Serial line olarak COM3, Speed olarakta 115200 seçin ve bağlanın.

Linux konsola eriştiğimize göre artık sistemin açılışını da monitörümüz olmadığı için seri konsoldan izleyebiliriz. Bunun için 2 işlem yapmak gerekiyor.

1) Raspberry Pi üzerindeki cmdline.txt dosyasındaki satıra (tek satır olacak şekilde) aşağıdaki parametreleri ekleyin.

console=ttyAMA0,115200 kgdboc=ttyAMA0,115200

2) /etc/inittab dosyasında aşağıdaki satırdaki # işaretini kaldırıp Pi’yi reboot edin.

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

Boot işlemi başlamadan önce USB dönüştürücüyü USB porta takıp, minicom ile bağlanırsanız, boot sırasındaki ekran çıktılarını minicom ekranında görebilirsiniz.

* Raspberry Pi kasasının yan tarafına bir delik açıp kabloları delikten geçirince görünümü daha derli toplu oldu.

2013-10-10 20.54.05

Kaynaklar:
http://elinux.org/RPi_Serial_Connection
http://demin.ws/blog/english/2012/07/10/usb-serial-console-for-rpi-on-macosx-olimex-usb-serial-cable/
http://raspberrypi.stackexchange.com/questions/9991/connecting-a-usb-to-serial-ttl-pl2303hx-to-raspberry-pi

Leave a Reply


*

This site uses Akismet to reduce spam. Learn how your comment data is processed.