Подключение по Usb-Ttl
-
Доброго времени суток.
Нужна помощь в подключении Raspberry Pi к компьютеру при помощи адаптера USB-TTL. Опыта работы с контроллерами у меня нет.
Суть эксперимента:
ОборудованиеRaspberry Pi B
Конвертер USB-TTL (маркировка на плате usb-ttl usb-stc-isp, чип PL-2303 XA / HXA)
Установленное ПО
Raspbian 09-09-2014
PL2303_Prolific_DriverInstaller_v1.10.0
Windows 7 Домашняя Базовая SP1 x64 AMD
Действия
Подключаю PIN
UART <-> Pi
GND <-> GND
TXD <-> TXD
RXD <-> RXD
5V <-> 5V
Еще методом научного тыка делал так
TXD <-> RXD
RXD <-> TXDПодключаю USB, Raspberry Pi работает
Запускаю checkChipVersion_v1006.exe из состава программ драйвера. Показывает, что устройство доступно на COM4
Запускаю putty на COM4 скорость 9600. Putty висит в черном экране бесконечно.
Проверяю Pi по сети по кабелю. Pi загружена и работает.
Ожидания
По инструкции putty должен открыть консоль, но этого не происходит. На USB-TTL горит красный светодиод постоянно и в момент подключения к компьютеру 2 секунды мигает еще один. На светодиодах маркировки нет, непонятно что мигает.
Вопрос
Как проверить Pi и UART по отдельности?
Как посмотреть какие байты передаются? Например, с PC подключаюсь, в консоли Pi вижу набор байт полученных по RXD и наоборот.
Ну и собственно, почему может не работать? Куда копать?PS. Желающим задать вопросы, а зачем это надо и почему так надо отвечу сразу:
(текст для поиска)
«Working with GPIO by Using Java ME Embedded and a Raspberry Pi” -
Вот это почитайте: https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable?view=all
Попутно замечу, что на GPIO у Raspberry уровни сигнала ни разу не TTL…
-
Статью я видел. В моем примере только скорость иная (в статье 115200, у меня указано 9600), но совсем не означает, что я не пробовал выставлять 115200.
У вас получилось подключить или только в теории слышали? -
Да, «только в теории», так как соответствующего адаптера у меня нет, да и зачем он нужен не представляю — ведь есть Ethernet. А Вы всё-таки обратите внимание на уровень сигнала с Вашего адаптера и как он согласуется с уровнями GPIO на Малинке (если UART-порты на ней ещё живы).
-
Как бы собственно бы в этом и была часть моего первого вопроса: А живы ли порты и как их проверить?
Проверил на компьютере с Ubuntu, вот что получил.
$ minicom -b 115200 -o -D /dev/ttyUSB0
…
[ 19.849149] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data.
�
Raspbian GNU/Linux 7 raspberrypi ttyAMA0
raspberrypi login:Логично предположить, что не все сгорело. Но не могу писать в этой консоли. Опять варианта два: либо сгорел тот пин который отвечает за отправку или что то еще.
Копаю дальше.Буду признателен если будут дельные советы.
-
man2000 (2014-12-04 21:44:09):Да, «только в теории», так как соответствующего адаптера у меня нет, да и зачем он нужен не представляю — ведь есть Ethernet. А Вы всё-таки обратите внимание на уровень сигнала с Вашего адаптера и как он согласуется с уровнями GPIO на Малинке (если UART-порты на ней ещё живы).
«да и зачем он нужен не представляю — ведь есть Ethernet»
Тоже мало, что смыслю в UART, но есть такая статья «Working with GPIO by Using Java ME Embedded and a Raspberry Pi” и там соединение идет по порту 65002. И вот варианте с TCP/IP этот порт не поднимается. Вот производитель говорит, что надо работать через tty.
Моя цель это статья, сейчас выполняю все требования из статьи.
-
Я точно чего-то не понимаю в Вашем вопросе, а именно в статье:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/RaspberryPi_GPIO/RaspberryPi_GPIO.html#overview
я не нашёл никаких упоминаний про UART.
И третий раз повторю: На Малинке уровень всех GPIO, в том числе и UART =3.3v, а Ваш адаптер скорее всего выдаёт 5v. Вы их соединили напрямую, что эквивалентно, например, включению лампочки на 220v в сеть 380v. Последствия для Малинки можете представить сами. -
Делал так
Действия
Подключаю PIN
UART <-> Pi
GND <-> GND
TXD <-> TXD
RXD <-> RXD
5V <-> 5V
Еще методом научного тыка делал так
TXD <-> RXD
RXD <-> TXDСделал так и заработало
UART <-> Pi
TXD <-> RXD
RXD <-> TXDВ чем ошибки (отличия)
Питание подал через USB. Отключил землю (GND <-> GND). Скорость обязательно 115200. Все заработало!PS.
Что касаемо основной цели. Сделать как в статье oracle, то пока не удалось. Там в статье не описан процесс настройки конфигурационных файлов, а по умолчанию, оно не работает… Отдельная тема для раскурки. -
Хотелось бы отметить для будущих читателей — GPIO не толеранты к 5В, но уартовский переходник выдержат (если не долго).
К тому же, 5В (равно как и 3В, если есть) подключается к целевому устройству, только если оно НЕ ИМЕЕТ своего питания. В этом случае переходник будет играть роль бп (вроде бы до 250мА у 2302).
Для уарта достаточно соединения перекрестием RX\TX целевого устройства и переходника, а также земли (GND). Последнее может оказаться не нужно для работы, но для выравнивания потенциалов — очень нужно, не пренебрегайте. Эти потенциалы будут похуже 5В на ГПИО.