Rs 232 ��� linux

Обнаружение порта RS-232 com в Linux

У меня есть устройство ECR (электронный кассовый аппарат), у него есть кабель порта RS-232 com для подключения к PC, но мне не дали никаких драйверов для него. Я пытаюсь подключить устройство к PC, но PC не может обнаружить кабель. Как обнаружить это устройство, прикрепленное к этому RS-232? Я работаю под Linux. Любая помощь о том, как найти устройство, будет оценена по достоинству?

Ниже приведен фрагмент кода, который я нашел в C для подключения к устройству на основе скорости передачи данных и номера порта Com.

3 ответа

В настоящее время я работаю над проектом, который включает в себя 4-портовый A/V коммутатор. Этим переключателем можно управлять через RS-232. Компьютер, который будет взаимодействовать с коммутатором, работает под управлением Vista. Я хотел бы создать боковой гаджет, который имеет 4 кнопки — по 1.

Возможно ли это? Если да, то каков отраслевой стандарт в отношении программного обеспечения? В частности, я имею в виду элементы управления .net. Спасибо EDITED: Вот что мне нужно. У меня есть тонкий клиент с балансом, где RS-232 используется для взаимодействия с тонким клиентом. В настоящее время.

Пожалуйста, ознакомьтесь с моим ответом на соответствующий вопрос, в котором показано, как открыть и настроить последовательный порт.

На Linux последовательные порты почти всегда /dev/ttyS[0123] (то есть /dev/ttyS0 , /dev/ttyS1 и т. Д.) Для подключенных портов и /dev/ttyUSB* для портов USB. Hardwired «devices» может появиться только тогда, когда оборудование присутствует в некоторых дистрибутивах. На других они всегда появляются независимо от того, есть ли оборудование или нет. (Попробуйте cat /dev/ttyS2 и посмотрите, получите ли вы ошибку «no such device».) Это параметр конфигурации kernel, который часто настраивается для создания записей устройств независимо от того, есть ли оборудование или нет.

Порты USB присутствуют только при подключенном оборудовании, но если имеется несколько последовательных портов USB, может быть трудно определить, какой из них какой.

В /etc/udev/rules.d/* есть механизм, который можно настроить, если некоторые аспекты устройств согласованы. Подробности см. в разделе man 7 udev .

Для приложений, которые я написал, я определяю, какое устройство какое, записывая на устройство и идентифицируя его ответ. Для устройств, которые не отвечают, это либо достойная задача программирования, либо обычное решение для настройки.

1>поскольку на вашем ECR нет операционной системы ,поэтому я думаю , что вам не нужны никакие драйверы, вместо этого в ECR будет встроенное ПО, которое пытается связаться с вашим драйвером Linux UART

2> Rs-232-это в основном последовательный протокол , я имею в виду , что он имеет 9 проводов ,и , следовательно , используется соединитель с 9 контактами DB-9 разъемов, все коммуникации внутри процессора находятся в параллельном формате, поэтому чип под названием UART используется для преобразования всех параллельных данных в последовательные данные, и поскольку вы хотите передать данные в формате Rs-232, он должен быть упакован в этом формате .

3> Linux kernel уже имеет драйвер uart , который реализован для RS-232 . поэтому нужно беспокоиться о драйверах со стороны Linux.

4> Откройте terminal типа «dmesg | grep tty» ( подключите только ECR к PC для rs-232 портов ). , он вернет что-то вроде ttyS или ttyUSB и т. Д., Однако вы просто сосредоточитесь на ttyS, если вы подключились только через кабель rs-232 .

5> Как только вы убедитесь в устройстве ttyS из dmesg, используйте minicom (его легко использовать ) для связи с устройством.

с уважением, Зубрадж

Я думаю, вам нужно немного почитать о RS-232, а также о программировании C. Драйверов для RS-232 нет. Это очень «dumb» протокол — вы в основном просто выталкиваете данные из порта.

PC не может обнаружить кабель? Это потому, что это не USB. Хотите верьте, хотите нет, но Plug-and-play существовал не всегда; вы сообщаете программному обеспечению, к какому порту предположительно подключено устройство, и оно пытается с ним поговорить.

Кроме того, это не «фрагменты кода», а просто прототипы функций. Там нет никакого реального кода.

Здравствуйте, я новичок, пытающийся доказать работу полного модема RS 232, а также одного RS 422( RX, TX,RTS, CTS) Эти 2 порта находятся на специально разработанной плате, и мне нужно доказать, что они работают. Я могу подтвердить работу на уровне регистра, но мне нужно доказать работу с помощью.

У меня есть плата разработки Microcontroller, которая подключена к моему PC через последовательный порт RS-232 DB-9 COM (как бы вы его ни называли). Микро имеет встроенный код монитора, который использует такие функции, как printf() и putchar() , для получения консольного вывода на стороне.

Похожие вопросы:

Я писал программу LabVIEW для управления 3-осевым контроллером шагового двигателя Newport SMC-100 для горизонтального, вертикального и вращательного движения. Я реализовал for loop, который.

Читайте также:  Пересчитать свободное место linux

Я ищу простое решение для мультиплексирования двух потоков RS-232 в один поток RS-232. Оба потока будут иметь постоянную скорость 9600 BPS, а выходной поток будет 19200 BPS. Я рассматривал.

Я читаю порт Bluetooth COM, получаю данные от microcontroller. После инициализации порта я использую его для чтения порта: while(1) if(WaitCommEvent(com_hnd, &dwEventMask, NULL)) Это работает.

В настоящее время я работаю над проектом, который включает в себя 4-портовый A/V коммутатор. Этим переключателем можно управлять через RS-232. Компьютер, который будет взаимодействовать с.

Возможно ли это? Если да, то каков отраслевой стандарт в отношении программного обеспечения? В частности, я имею в виду элементы управления .net. Спасибо EDITED: Вот что мне нужно. У меня есть.

Здравствуйте, я новичок, пытающийся доказать работу полного модема RS 232, а также одного RS 422( RX, TX,RTS, CTS) Эти 2 порта находятся на специально разработанной плате, и мне нужно доказать, что.

У меня есть плата разработки Microcontroller, которая подключена к моему PC через последовательный порт RS-232 DB-9 COM (как бы вы его ни называли). Микро имеет встроенный код монитора, который.

Пожалуйста, дайте мне знать, если есть какая-либо API, системный вызов, функция (в Linux), которую я могу использовать мою программу C для динамического обнаружения порта COM, то есть всякий раз.

Я хочу написать программу в python для чтения с порта RS 232. У моего ноутбука нет этого порта. Может ли кто-нибудь предложить какой-нибудь хороший симулятор для того же самого и образец программы.

Есть много примеров, которые показывают, как общаться через serial port ПК. Но есть ли способ настроить контакты rs 232? Мне просто нужно установить TX-контакт на некоторое время, а затем сбросить.

Источник

Работа с COM-портом (RS-232) в Linux

Урок посвящен интерфейсу RS-232, который в простонародье называют COM-порт. Мы разберемся как он представлен в Linux, какой у него интерфейс, научимся его конфигурировать, а также узнаем, что написание программы для коммуникации через COM-порт в Linux не представляет сложности.

Разговор o коммуникации через COM-порт в Linux следует начать с того, что заметить, что каждому COM-порту в операционной системе соответствует файл устройства телетайп или tty. Он находится в каталоге dev и имеет имя /dev/ttyS и номер. Если посмотреть на мой каталог, то мы увидим следующее, что у меня таких файлов очень много [0:55]. Но по факту, в моем компьютере есть один физический COM-порт. Давайте попробуем его найти. Сделать это можно с помощью команды dmesg, которая выводит сообщения с момента инициализации системы. Если набрать

$dmeg | grep «ttyS»

то мы увидим, что, в действительности , у меня только один файл ttyS4 связанный с конкретным COM-портом, у которого есть некоторый диапазон ввода/вывода, номер прерывания, и который сейчас настроен на скорость обмена 150200 бит в секунду (или бод).

Для того, чтобы сконфигурировать мой COM-порт по умолчанию в Linux можно воспользоваться программой mincom, запускать её нужно от суперпользователя, либо добавить текущего пользователя в группу dialout. Запустим

$sudo minicom -s

Ключ -s – обозначает конфигурацию (setup),

Здесь мы видим следующее [2:24]. Есть параметры последовательного порта, важно прописать правильно файл, то есть указать тот файл, который у вас в системе связан с физическим COM-портом, Второй важный момент – это настройка параметров обмена (ключ Е). Дело в том, что корректный обмен данными по последовательному соединению возможен только тогда, когда обе стороны имеют один и тот же набор параметров. В этом окне можно набор этих параметров менять [3:08]. Мы видим, что у нас задана скорость 8 бит, нет контроля четности, и один стоповый бит. Именно здесь можно это все увидеть и настроить так, как требуется или, как требует ваше устройство.

Сохраняем конфигурацию по умолчанию. Дальше будем взаимодействовать — сначала с помощью команды терминала, чтобы проверить, как вручную это работает; а потом напишем небольшую программу, которая будет слать данные в COM-порт. Выйти из Mincom можно набрав ctrl-A-X.

Для того чтобы проверить, как работает COM-порт можно воспользоваться программой miniterm [4:03]. Я создал виртуальную машину с обычным linux, у неё указал, что в наличии имеется один COM-порт (это COM1), по умолчанию назначились линии обработки запросов прерывания. Я ассоциировал этот COM-порт с файлом на моей host-машине. С этого файла мы будем читать данные записанные в порт.

Итак, мы видим, что в левой части экрана у нас есть логин на виртуальную машину [4:46]. Давайте проверим с помощью minicom -s, как настроены коммуникации. Проверим, что /dev/ttyS0 – это действительно правильный физический порт – да, это именно так. Теперь мы можем вызвать команду

$sudo miniterm

она говорит, что есть следующие доступные порты, и просит ввести, через какой порт работать. Далее я попадаю терминал, связанный с COM-портом, где могу набирать текст. Набирая команды, я вижу «эхо» в моем файле справа. Обратите внимание, что я пишу в левом окне, а на экране надпись мы видим в правом. В левом окошке – виртуальная машина, на которой настроен порт. В правом – тот лог, который мы видим в файле ассоциированном с этим COM-портом на host-машине.

Создадим какой-нибудь каталог, в котором будем разрабатывать приложение. Как это ни странно, приложение будет выглядеть очень просто, потому что все действия, которые мы делаем с COM-портом в linux, это действия с файлами с использованием тех же самых файловых операций. Нам потребуется stdio.h, unistd.h, чтобы получить доступ – функциям open/read/write, fcntl.h, чтобы иметь возможность использовать файловые флажки. Открываем файловый дескриптор, COM-порт, имя, и флаги из COM-порта. Проверим, что файловый дескриптор у нас открылся, то есть если порт меньше или равен 0, то есть какая-то ошибка, оповестим об этом пользователя и вернем управление. В противном случае, можно писать в этот файловый дескриптор. write принимает файловый дескриптор, указатель на буфер, размер. Дальше мы закрываем файловый дескриптор и возвращаем управление. Приложение готово.

Читайте также:  Linux форматировать диск xfs

Теперь давайте попробуем запустить то, что у нас вышло, вернее, скомпилировать и запустить [10:40]. При запуске приложения произошла ошибка, но она вызвана понятными причинами, потому что пользователь должен был быть включен группу dialout [11:03], или нам надо запускать приложение от суперпользователя. Сделаем это. И сразу видим, что в нашем окошке появилась запись «hello world». Можно повторить и увидеть, что все работает корректно.

Точно таким же образом можно осуществлять чтение из COM-порта, то есть использовать не функцию write, а функцию read.

Источник

Протокол для общения по serial порту.

Хочу сделать адаптер Can2Usb на основе esp32 + mcp2518fd. Данные хочу прокачивать через rs232. На большинство плат сейчас стоит достаточно скоростной адаптер типа cp2102N со скоростью до 3мб. Поток который надо прокачивать будет около 1.5-2 мб. Есть ли какие-то стандартные протоколы для работы по serial? Я пока просто protobuff прямо в бинарном виде передаю с разделителями.

Fedora 28 и moxa uport 1150.

Есть у меня moxa uport 1150 — преобразователь usb rs232. Для него нужно ставить ядерный модуль. Пробовал дрова:

Ни один вариант не работает. На modprobe говорит:

Пробовал ставить dkms’ом и простым make install’ом. Разницы в поведении нет.

Драйвер для moxa > 1450 в блэклисте:

В чём ещё может быть проблема?

Не могу заставить работать USB RS232 converter

Не могу подключиться драйвером к ККТ на Linux при помощи COM порта.

Для этого использую адаптер USB-RS232

На windows все хорошо и проблем нет, но на linux (ubuntu, debian) тест драйвера не находит связь и все. Что я делаю не так? Помогите пожалуйста.

В настройках тест драйвера

Повторюсь, rs232 — переходник на usb на Windows работает нормально, а тут при любом запросе на линукс Нет связи. Мне очень нужно сделать это.

Обычный usb передает данные в офд, а мне нужен доступ именно через ком порт, потому что чеки печатаю при помощи написанной программы на Python

Может вы подскажете в чем дело?

Mochip 9865 RS-232 на Centos 7

Добрый день. Использовал я плату расширения com портов Mochip 9865. В Centos5-6 c заводским драйвером и всё было «пучком». Но вот решил проверить на Centos 7.3(x64) 3.10.0-514.el7.x86_x84 1.Он самостоятельно находит (не используя заводской драйвер) это оборудование и «отмапивает» его в /dev/ttyS1(2,3,4..N) в заводском было /dev/ttyD1(2,3) 2.И вроде бы хорошо драйвер производителя ставить не надо. НО работает оно не так как хотелось. Первое чтение из порта после загрузки всегда с мусором. Следующие нормально. Например присоединил я сканер штрихкода rs-232..После перезагрузки сканирую(пикаю),- штрихкод с мусором. дальше сканирую всё номально. Виноват не Centos 7 /другие rs-232(ну например что на плате) работают сразу отлично. Такое поведение Mochip 9865 сильно снижает сферу его использования в Centos 7. Может кто-то знает как заставить форсированно линукс не использовать собственный драйвер, а использовать заводской.mcs9865.ko(Естественно modprobe mcs9865 ничего не даёт..ибо устройство занято «своим» драйвером.) P.S писал в тех.поддержку пока молчат.

RS232 через ethernet

Кто-нибудь пробрасывал rs232 через ethernet на linux? Мне нужно удаленный ups прикрутить к мониторингу, а в нем только com-порт.

Проброс последовательного порта

Можно ли пробросить последовательный порт в виртуальную машину так, чтобы работал переходник RS-232/1-Wire?

Актуальность ноутбука с com портом

По личному опыту, может ли реальный com порт на ноутбуке дать какое-то преимущество по сравнению с переходниками (usb rs232 to RJ45 и др.) для каких-либо компьютерных задач? Например, для обслуживания сетевого оборудования. В каких случаях?

USB-RS232

При подключении преобразователя USB-RS232

AT+GCAP) на различных скоростях. Последняя проверяемая скорость передачи данных

Алгоритм обработки экранирующих символов при работе с последовательным портом.

Помогите пожалуйста с алгоритмом. Предложили на собеседовании дописать в следующем коде цикл
обработки экранирующих символов при приеме данных из последовательного порта.
Кроме того в конечном хранилище response должен находится принятый пакет, который начинается с байта PACKET_BYTE_START (неэкранированного).
То есть перед каждой обработкой в массиве buf[512] будет находится bytesReaded количество прочитанных из порта байт не обязательно с начала пакета естественно,
и из этого массива нужно будет удалить экранирующие байты PACKET_BYTE_ESC (если они не являются полезными данными).

При таком раскладе в цикле for (size_t i = 0; i rs-232, алгоритмы, си, собеседование

Каким образом скорость tty 38400 это baud:2258?

Подключился к debug-консоли устройства

Каким образом 2258 это 38400?

Linux Mint 13 и APC SC620.

Ребят, всем доброго время суток. Имеется машина под управлением Linux Mint 13 XFCE и ИБП APC SC 620, данный ИБП подключен к Linux через RS232 кабель. Подскажите с помощью какого софта мне можно общаться с моим ИБП? Знаю у APC есть PowerChute, но есть ли у них версия под Linux? Или же есть достойные альтернативы? К вопросу с софтом отношусь серьезно, так как помимо тонких настроек, я собираюсь вести инфографику о своем питании (к примеру хочу посмотреть как скакало напряжение в течении дня, или же недели), знаю PowerChute так умеет, а так же было бы плюсом, если софт умеет отправлять уведомление.

Читайте также:  Opencv with python linux

USB -> RS-232 ломает ответ устройства

Привет! Прибор (осциллограф) подключается к ПК через

Использую переходник PL-2303 XA/HXA от Prolific, драйверы взял с прилагающегося диска.
Кто-нибудь сталкивался с таким поведением этого (или другого подобного) конвертера? В какую сторону копать? Спасибо!

QinHeng Electronics HL-340 USB-Serial adapter (USB-to-COM)

Сабж на aliexpress. Удалось кому заставить работать сию поделку? Ubuntu 14.04.3 LTS. Kernel: 3.13.0-63-generic #103-Ubuntu SMP Fri Aug 14 21:42:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Подключил шнурок к свитчу, запустил minicom, а там кракозябры. Другой шнурок на чипе PL2303 работает без вопросов. Под Win8 после установки драйверов шнурок работает.

Собрал, загрузил ch34x, выгрузил старый модуль ch341, запустил minicom. Ситуация почти не изменилась, но добавились иероглифы в выводе. ;D Скриншот

sftp через UART

Добрый день. В линуксе я не силен и сталкиваюсь с ним очень мало.

Есть отладочная плата с линуксом, общение с платой происходит по ком порту. Putty отлично к нему подключается и можно полазить по директориям скомпилировать проект запустить, но это жутко не удобно. Вопрос как загрузить файл в определенную директорию с компьютера?

sftp не умеет подсоединяться к ком портам(как и прочие программы) так как это ком порт то это не полноценный SSH.

Буду благодарен за любые мысли и идеи!

Выбор кабеля для RS-485

Нужен кабель для укладки в землю, с защитой от грызунов. Будут передаваться данные со счётчика меркурий по стандарту RS-485. Посмотрел, выбор довольно большой, начиная с какого нибудь спец. кабеля КИПвЭВБВнг(А)-LS и кончая витой парой hyperline FUTP4-C5E-S24-ARM-OUT-PE-BK. Вот не знаю что подобрать. Да, кабель ещё должен быть экранированный, так как рядом проходит силовой на 15 кВт.

Какой лучше выбрать?

(тег поставил rs-232 так как rs-485 не было)

Перестал грузиться драйвер для USB-RS после установки setserial

Есть такая железка MOXA UPort 1150. Необходимо использовать ее под линуксом. На офф сайте драйвер не нашел, но нашел на форуме офф сайта.

Читаю далее man по использованию этой железки — пишут выстави режим работы с помощью команды setserial. Ну что тут делать, в репах есть — естественно гружу (из пакетов только один добавился и ничего не удалялось). Далее ребутаюсь и пытаюсь заново загрузить модуль. Модуль не грузится.

Пытался пересобрать модуль. Пересобирается, не грузится. Пытался удалить setserial. Один фиг грузиться не хочет. Вот хочу спросить, что именно могло произойти при установке setserial и как все-таки заставить работать этот модуль? Или хотя бы, как откатить назад?

Пробовал прописать пути в файле, в котором он якобы функций не видит и тут файл перестал компилиться. Конечно при большом желании можно пару дней просидеть с этой проблемой и понять, что куда идет, но блин он же до этого работал и я уверен, что причина где-то на поверхности

Кнопка на com-порте. Какие два контакта RS-232 DE-9 надо замкнуть?

Какие контакты порта замкнуть что бы принять много единичек? Задача запускать скрипт по нажатию кнопки.

И как настроить com-порт для этого?

Помогите новичку.

Здравствуйте. Помогите с настройкой com порта. На работе используем обмен данными по com порту. Также используем опторазвязку, которая питается от RTS(ready to send) com порта. Программы, которые я писал до сих пор на windows прекрасно работают. Я имею возможность программно задать уровень этого сигнала для питания опторазвязки. Хочу перейти на разработку под linux, выбрал ubuntu. И вот первая же проблема.Чтение запись по порту работают, но при подключении оптики я ничего не могу. Есть ли возможность выставить уровень RTS в ubuntu? И как это сделать?

Как пробросить com порты (RS-232) с компьютера под управлением debian linux на компьютер под управлением ms windows

На работе понадобилось всё реорганизовать, ибо до меня настраивал сеть и компьютеры инвалид третьей степени, его на полном серьёзе увезли в психиатрическую клинику. До него компьютеры настраивал повёрнутый на религии баптист который забивал на работу и славил господа. А да него человек просто спился. Теперь там работаю я.

Есть программа «Мираж» от НПП «Стелс» http://nppstels.ru/products/pcn/software-pcn/ эта программа через GSM-модемы держит связь с охранными устройствами. Для хранения событий и конфигурации объектов, программа использует PostgreSQL . Как я понял сам и подтвердил это в разговоре со специалистом службы технической поддержки, периодические мистические неисправности возникают от того что все компоненты системы (сервер, база, клиент) поставлены на одном обычном компьютере. И не на диске «C», а на диске «D».

Базу данных я перенесу на linux-сервер, это не так уж и трудно. Но, модемы расположены в диспетчерской которая уже забита компьютерами и отдельный системный блок для сервера, ещё более стеснит там обстановку. Поэтому думаю перенести модемы модемы на второй этаж. Но если поставить сервер на втором этаже, то все офисные крысы взвоют от того что я их стесняю и к тому же второй этаж на ночь запирают. А если понадобиться иметь доступ к серверу, то будут большие трудности.

В идеале хотелось бы расположить на верху модемный сервер на linux (что бы точно не зависал). То есть сервер со множеством com-портов. А на windows серверах использовать те порты удалённо через локальную сеть. Так же это могло бы позволить легко переключить GSM оборудование на резервный сервер.

Подскажите мне какие нибудь способы это сделать?

Источник

Оцените статью