+1
Answered

Работа с портами в RPi-2 (USB и/или GPIO)

Дмитрий Марков 8 years ago in Server Solutions / Linux Server updated by Oksana (expert) 8 years ago 11

Добрый день!

Напишите пожалуйста пример работы с портами USB и/или GPIO в RPi2.

1. Есть переходник USB - RS485. Необходим мануал, как можно отправлять команды в шину 485 через порт USB в RPi-2.

2. Необходим пример отправки команд через последовательный порт, через контакты GPIO.

TestGPIO.sirpz

пример "моргания" реле. Нужно изменить имя файла в скрипте на нужный вам GPIO

Спасибо за пример! Если будут еще варианты, буду рад.

есть еще RS232 device, для работы не через GPIO а через разведенный порт с именем /dev/ttyAMA0 например. Опишите поподробнее чего вы хотите добиться. Если есть примеры с использованием других средств, можно добавить их.

Waiting for user's reply

У меня есть 2 задачи:

1. Посылать стороннему устройству (и принимать) команды RS232 через последовательный порт, (пины 8, 10 - GPIO14 и 15), это наверно и есть /dev/ttyAMA0.

2. Имеется переходник USB в RS485, необходимо посылать/принимать команды RS485 стороннему оборудованию в формате HEX через порт USB. Пример команды: 12h 34h 56h 78h 01h 0Eh 02h 00h 00h 00h 5Eh A4h 41h 63h.

+1

Судя по описанию в интернете это именно /dev/ttyAMA0. Есть тестовый проект для работы с COM портом. В нем нужно поменять PortName и параметры CreateDevice в соответствии с настройками вашего порта. Их можно посмотреть через minicom или stty.

TestWB485.sirpz

1. Проект TestGPIO.sirpz не удается проверить работает или нет, т.к. после загрузки на сервер Иридиум-сервер подвисает (перестает быть виден в трансфере и не дает зайти на веб-сервер).

2. Помогает только перезагрузка сервера (в какой то момент на стадии загрузки позволяет залить в него новый проект)

3. В консоль при этом зайти могу. В консоли проверяю изменение состояний пинов командой gpio readall, состояния пинов не меняются.

4. В примере указан GPIO 34, это физический пин или именной?

5. TestWB485.sirpz также не удается проверить на работоспособность, можете прислать более развернутый пример. Серверную и панельную часть на таком примере: Допустим подключаем к последовательному порту модем с поддержкой AT-командам. Любой кнопкой на панельном проекте отправляем команду модему, например "AT&V" и выводим ответ от модема на любой текстовый элемент под кнопкой. Буду благодарен.

+1

Подцепили Raspberry PI 2 к Ардуино через переходник "usb to uart cp2102".

он определился как /dev/ttyUSB0. TestGPIO_RPI.sirpz

Датаграммы принимаются/отправляются. Нужно выставить нужный BaudRate.


gpio портов в системе не нашлось.

пришлите что у вас выводит команда: ls /sys/class/gpio

если там нет привязанных gpio портов то метод из TestGPIO.irpz работать не будет и нам нужно будет дописать функционал. Опишите как вы работаете с GPIO в консоли и модель вашего Raspberry

1. Последний присланный проект с портом /dev/ttyUSB0 работает, спасибо!
2. Модель: Raspberry Pi 2 Broadcom 4x900 МГц, 1Гб
3. pi@raspberrypi ~ $ ls /sys/class/gpio
export gpiochip0 unexport
4. Работаю с портами через wiringpi (http://wiringpi.com)