Как подключить через Serial порт к Raspberry

Posted by

Адаптер для подключения к Serial порту Raspberry Pi 3 Model BКогда есть желание то все задуманное становится реальностью ну или по крайней мере время проведенное за этим кажется не таким уж в пустую потраченным. Вот к примеру я, загорелся желание поизучать мини компьютер именуемый, как Raspberry. Был заказан в день когда мой газовый котел из-за обледенения трубы начал в январские праздничные морозы выключаться. И меня посетила мысль, а как бы пристроить наблюдение за ним, благо на моем котле есть цифровой дисплей. Но как, купить IP-камеру, не это не то слишком просто, хотелось чего-то большего. А в то же время да и ранее я встречал упоминание мини-компьютерах и что с ними делают энтузиасты, мне захотелось просто повторить ихние поделки самому. Ведь ни что так не воодушевляет чем просто чтение того как получилось у других, как все повторить самим и уже на основе этого наложить свое видение. Ладно к чему еще говорить, спустя три долгих недели ожидания вот он + пришел и началось. А что началось, сразу обнаружилось (а я должен был предвидеть это) как подключить его к компьютеру или подключиться к нему, монитора то с HDMI выходом у меня нет. А раз так, то вроде как с помощью USB-TTL адаптера можно подключиться.

Вот и сейчас я разберу, как данный адаптер подключить к моему домашнему ноутбуку Lenovo E555 (Ubuntu 14.04.5 Desktop amd64 Gnome Classic)

В наличии:

  • (mini), Преобразователь USB-UART на базе PL2303 с разъемом USB mini-AB
  • Кабель miniUSB на USB

Соединяю их и разъемом USB подключаю его к своему ноутбуку, система говорит, что:

[Сб. февр. 11 18:54:17 2017] usb 6-1: new full-speed USB device number 2 using xhci_hcd

[Сб. февр. 11 18:54:17 2017] usb 6-1: New USB device found, idVendor=067b, idProduct=2303

[Сб. февр. 11 18:54:17 2017] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[Сб. февр. 11 18:54:17 2017] usb 6-1: Product: USB- Controller

[Сб. февр. 11 18:54:17 2017] usb 6-1: Manufacturer: Prolific Technology Inc.

[Сб. февр. 11 18:54:17 2017] usbcore: registered new interface driver usbserial

[Сб. февр. 11 18:54:17 2017] usbcore: registered new interface driver usbserial_generic

[Сб. февр. 11 18:54:17 2017] usbserial: USB Serial support registered for generic

[Сб. февр. 11 18:54:17 2017] usbcore: registered new interface driver pl2303

[Сб. февр. 11 18:54:17 2017] usbserial: USB Serial support registered for pl2303

[Сб. февр. 11 18:54:17 2017] pl2303 6-1:1.0: pl2303 converter detected

[Сб. февр. 11 18:54:17 2017] usb 6-1: pl2303 converter now attached to ttyUSB0

ekzorchik@navy:~$ sudo modinfo pl2303

filename: /lib/modules/4.4.0-57-generic/kernel/drivers/usb/serial/pl2303.ko

license: GPL

description: Prolific PL2303 USB to serial adaptor driver

srcversion: A72335A7497CE03F142BCAC

depends: usbserial

intree: Y

vermagic: 4.4.0-57-generic SMP mod_unload modversions

ekzorchik@navy:~$ ls /dev/ttyUSB0 -lh

crw-rw---- 1 root dialout 188, 0 февр. 11 18:54 /dev/ttyUSB0

ekzorchik@navy:~$ sudo usermod -a -G dialout ekzorchik

ekzorchik@navy:~$ apt-cache search setserial

setserial — Управление конфигурацией последовательных портов

ekzorchik@navy:~$ sudo apt-get install setserial -y

ekzorchik@navy:~$ sudo setserial -g /dev/ttyUSB0

/dev/ttyUSB0, UART: 16654, Port: 0x0000, IRQ: 0

Из вывода вижу, что система успешно опознала данный адаптер, а на самом адаптере загорелся индикатор: PWR

  • Далее на самом адаптере выставить переключатель, что работа будет вестись на 5V

Далее нужно подключить адаптер к Raspberry Pi 3 по следующей схеме:

Схема подключения к Raspberry Pi 3 Model BНо т. к. сейчас питание адаптера идет от компьютера то

Вид подключения пинов на плате для наглядности

  • от адаптера TXD ↔ к raspberry pi 3 PIN10 (RXD0)
  • от адаптера RXD ↔ к raspberry pi 3 PIN8 (TXD0)
  • от адаптера GND ↔ к raspberry pi 3 PIN6
  • от адаптера VCCIO ↔ к raspberry pi 3 PIN2

Теперь подключаю свой Raspberry PI 3 к нему, но предварительно вставив в него записанный образ.

Затем для подключения с компьютера мне понадобиться программа: putty

ekzorchik@navy:~$ sudo apt-get install putty -y

Запускаю установленную программу putty:

ПриложенияИнтернет — PuTTY SSH Client и настраиваю подключение: Connection — Serial

  • Serial line to connect to: /dev/ttyUSB0
  • Speed (baud): 115200
  • Data bits: 8
  • Stop bits: 1
  • Parity: None
  • Flow Control: None

Затем перехожу в категорию (Category) Session и переключаю тип подключения (Connection type) в положение Serial

строка подключения примет вид:

Serial line: /dev/ttyUSB0

Speed: 115200

и нажимаю кнопку Open — если все сделано правильно я подключусь к своему мини-компьютеру:

или же через другую утилиту именуемую как minicom:

ekzorchik@navy:~$ sudo apt-get install minicom -y

Скажу так, все выше по подключению к консоли мини компьютера Raspberry Pi 3 Model B было бесполезно.

потому как в текущей операционной системе jessie:

pi@raspberrypi:~ $ lsb_release -a

No LSB modules are available.

Distributor ID: Raspbian

Description: Raspbian GNU/Linux 8.0 (jessie)

Release: 8.0

Codename: jessie

Разработчики по умолчанию отключили все интерфейсы удаленного взаимодействия. Это значит, что мне пришлось отдельно покупать переходник с HDMI на VGA дабы подключить Raspberry Pi 3 Model B к монитору. Когда я подключил, то зайдя в меню настройки интерфейсов увидел своими глазами почему у меня не получалось подключиться:

Preferences — Raspberry Pi Configuration — вкладка Interfaces

Serial: Disabled

Интерфейс последовательного порта по умолчанию выключен

Включаю интерфейс либо через вкладку Interfaces, Serial — Enable или же через консоль:

Ctrl + Alt + T → pi@raspberrypi:~ $ sudo raspi-configInterfacing Options, Select — P6 Serial, SelectWould you like a login shell to be accessible over serial? Yes

The serial login shell is enabled

The serial interface is enabled

и нажимаю Ok, Finish

После чтобы изменения вступили в силу необходимо перезагрузиться:

Would you like to reboot now? Yes

После перезагрузки, шаги подключения к консоли миникомпьютера Raspberry следующие:

  • Соединяем PL2303 USB UART Board (mini) с миникомпьютером Raspberry Pi 3 Model B контактами: RX,TX,GND
  • Подключаем адаптер PC2303 через microUSB и USB к ноутбуку
  • Запускаем консоль putty/minicom создаем соединение на /dev/ttyUSB0 при скорости 115200, когда подключение произойдет у Вас должен быть просто черный экран
  • После подключаем с адаптера PC2303 пин VCC0 и PI2 на плате Raspberry Pi 3 Model B

Теперь же переводим свой взор на консоль Putty и видим, как бегут строки загрузки операционной системы Raspbian и в конце строки когда все загрузилось:

Через клиент Putty я все же успешно подключился к консоли RaspberryRaspbian GNU/Linux 8 raspberry ttyS0

raspberry login:

указываю дефолтные значения

Login: pi

Password: raspberry

и вуаля я все же разобрал как подключиться к консоли миникомпьютера:

pi@raspberry:~$

Действия в оболочке при подключении через Serial порт аналогичны подключению через SSHИмея такое подключение я могу уже вызвать утилиту raspi-config и включить необходимые интерфейсы, такие как VNC, SSH и другие для взаимодействия. Данная последовательная консоль подключения применяется при первоначальной настройке, восстановления если по каким-либо причинам нельзя подключиться через другие способы, отладки. Жаль что разработчики пошли другим путем и заблокировали изначально данную возможность, как Serial подключение.

Если же Вы закрыли консоль putty, что чтобы вновь в нее подключиться потребуется разъединить PIN питания и подключить его заново при открытой консоли putty или minicom.

Подключаюсь через утилиту minicom к сохраненной конфигурации которую создал с учетом параметров подключения для клиента putty, за справкой по настройки утилиты minicom обратился к заметке:

ekzorchik@navy:~$ sudo minicom -o rasp

[ OK ] Started Permit User Sessions.

[ OK ] Started Login Service.

Starting Light Display Manager...

Starting Hold until boot process finishes up...

Starting Terminate Plymouth Boot Screen...

[ OK ] Started LSB: WebIOPi initscript.

[ OK ] Started LSB: triggerhappy hotkey daemon.

Raspbian GNU/Linux 8 raspberrypi ttyS0

raspberrypi login: pi

Password: raspberry

Last login: Sat Feb 25 21:58:52 MSK 2017 on tty1

Linux raspberrypi 4.9.11-v7+ #971 SMP Mon Feb 20 20:44:55 GMT 2017 armv7l

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

pi@raspberrypi:~$ w

21:59:24 up 0 min, 3 users, load average: 0.34, 0.10, 0.04

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

pi :0 :0 21:58 ?xdm? 11.62s 0.30s /usr/bin/lxsess

pi tty1 21:58 38.00s 0.36s 0.33s -bash

pi ttyS0 21:59 4.00s 0.52s 0.03s w

а вот с использованием утилиты minicom не нужно разрывать связь между PINом VCCI0 и 5V, подключение сохраняется:

pi@raspberrypi:~$ exit

logout

Raspbian GNU/Linux 8 raspberrypi ttyS0

raspberrypi login:

Итого заметка разобрана и много нового я узнал и применил полученные навыки исходя из прошлого. Я горжусь собой. По сути я могу настроить образ Raspberry с учетом своих предпочтений и включенными настройки по удаленному администрированию: VNC, SSH, Serial; а затем создать образ и уже когда нужно разворачивать его и не важно если ли под рукой переходник для подключения монитора или нет. Да, вот и будет следующая заметка на этот счет, как создать образ своего. А пока я прощаюсь, с уважением Олло Александр aka ekzorchik