+1
Answered
Работа с портами в RPi-2 (USB и/или GPIO)
Дмитрий Марков 9 years ago
in Server Solutions / Linux Server
•
updated by Oksana (expert) 9 years ago •
11
Добрый день!
Напишите пожалуйста пример работы с портами USB и/или GPIO в RPi2.
1. Есть переходник USB - RS485. Необходим мануал, как можно отправлять команды в шину 485 через порт USB в RPi-2.
2. Необходим пример отправки команд через последовательный порт, через контакты GPIO.
Customer support service by UserEcho
1
TestGPIO.sirpz
пример "моргания" реле. Нужно изменить имя файла в скрипте на нужный вам GPIO
Спасибо за пример! Если будут еще варианты, буду рад.
есть еще RS232 device, для работы не через GPIO а через разведенный порт с именем /dev/ttyAMA0 например. Опишите поподробнее чего вы хотите добиться. Если есть примеры с использованием других средств, можно добавить их.
У меня есть 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.
Судя по описанию в интернете это именно /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" и выводим ответ от модема на любой текстовый элемент под кнопкой. Буду благодарен.
Подцепили 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)