- OS X Serial Port Apps
- Serial
- ZTerm
- Mac’s and serial TTY’s
- Drivers:
- Software:
- Screen
- Minicom
- PL2303 Series Driver 4+
- Prolific Technology Inc.
- Снимки экрана
- Описание
- Что нового
- Конфиденциальность приложения
- Сбор данных не ведется
- Is there an OS X terminal program that can access serial ports?
- 14 Answers 14
- Как подключить кучу старого RS232 оборудования по USB без регистрации и sms (STM32 + USB-HID)
- Вместо вступления
- Зачем?
- Пробуем что-то сделать
- Low Level
- High level
- Заключение
OS X Serial Port Apps
Having installed the right driver for our USB-serial adapter, we also need to install some terminal emulation software before we can connect to anything. The following Mac OS X GUI applications are available:
If you’re looking for a command line app, there’s Screen (built-in) or Minicom.
If you can’t find a driver for your adapter (eg, Belkin), try Serial which has built-in support for most (if not all) USB-Serial adapters.
If you have trouble installing any of the following (or any other program) with an unidentified developer error, goto: System Preferences ➤ Secrity & Privacy ➤ General and click on Allow Applications Downloaded from: Anywhere and try again. Or, ctrl-click/right-click on the app and select Open from the pop-up menu so not to permanently lower your security settings.
Serial
Other features include full ANSI/VT100 terminal emulation, break-sequence support (for Cisco, etc), a line-buffered or immediate send mode, and much more. It also doesn’t crash if you prematurely unplug the adapter! Serial is highly recommended!
Line Settings
Terminal Settings
Device Info
ZTerm
To configure ZTerm, open Settings ➤ Modem Preferences and select your USB-Serial device as the default modem (Serial Port). Then edit your connection in Settings ➤ Connection. Remember to connect the USB-Serial cable before launching ZTerm. The following pictures explain the steps:
Источник
Mac’s and serial TTY’s
Mac’s are excellent tools for accessing serial device TTY ports (to console into PBX’s, switches, and routers). You just need a serial to USB adapter, the right driver, and some Terminal software.
You can use screen, although Minicom (or a GUI program) offer more features and functionality.
Drivers:
Most Serial-to-USB adapters will work on a Mac with one of the following OS X drivers.
UPDATE: Mavericks (10.9) includes a driver for FTDI-based Serial-to-USB adapters.
➤ Prolific PL2303: PL2303_MacOSX_1_6_0.zip ➤ FTDI USB Serial: FTDIUSBSerialDriver_v2_3.zip
If your adapter doesn’t work with either of these, try the following sources:
- Silicon Labs — CP210x USB to UART Bridge Virtual COM Port (VCP) drivers.
- Belkin — USB Serial Adapters: F5U257, F5U103, F5U003 (poor OS X support).
- Keyspan serial-USB adapter drivers can be found in their Support Section.
After installing the correct driver, plug in your USB-Serial adapter, and open a Terminal session (Applications/Utilities).
Enter the command ls /dev/cu.* , and look for something like usbserial (or similar):
This indicates the USB-Serial driver is working. Select this port name in a terminal program.
You might notice that each serial device shows up twice in /dev, once as a tty.* and once as a cu.*. So, what’s the difference? Well, TTY devices are for calling into UNIX systems, whereas CU (Call-Up) devices are for calling out from them (eg, modems). We want to call-out from our Mac, so /dev/cu.* is the correct device to use.
The technical difference is that /dev/tty.* devices will wait (or listen) for DCD (data-carrier-detect), eg, someone calling in, before responding. /dev/cu.* devices do not assert DCD, so they will always connect (respond or succeed) immediately.
Software:
Having installed the right driver, our USB-Serial adapter will show up in /dev/cu.* (shown above). We now need to install some terminal emulation software before we can connect to anything.
- Two terminal methods are Screen and Minicom
- For a GUI solution, see OS X Serial Port Apps
Note: If you can’t find a driver for your adapter (eg, Belkin), try Serial which has built-in support for many USB-Serial devices.
Screen
It’s not actually necessary to download an install extra software, as you can use the Mac OS X built in Terminal and screen. Screen lacks some features, but it does include VT100/ANSI terminal emulation, and can be extremely useful.
- Open an OS X terminal session (window)
- Find the right TTY device. Type: ls /dev/cu.*
With the USB-Serial adapter plugged in, you’ll get a list, including something like this:
Type man screen in Terminal for further information on screen. (use ‘enter’ or ‘space’ to scroll, and ‘q’ to quit).
Minicom
Alternatively, if you’d like a few more features, and a retro feel, you can install minicom 2.2.
Minicom supports VT100 emulation, which means it sorta kinda works with Meridian Mail (Function keys: fn + f-key).
- Download and run the minicom 2.2 package installer.
- Then manually edit your $PATH with sudo nano /private/etc/paths .
- Add the following line to the bottom of the file: /opt/minicom/2.2/bin , save and exit — then relaunch the terminal.
Run minicom -s first to configure your serial interface device name, and other options. Then, Save setup as dfl (default) and Exit. Your serial interface device name is found with ls /dev/cu.* (as shown above). Always launch minicom, with your selected serial adapter plugged in and available to avoid an error. In the example below, the serial device is /dev/cu.usbserial:
Configuration Options
Connected to Port
Command Summary
In minicom, commands can be called by CTRL-A , for example, change your serial port settings with CTRL-A P
Press CTRL-A Z for a Command Summary, and help on special keys. Enter CTRL-A X to quit.
HINT: Change your OS X terminal window size to 80×25 (1 line more) so you can see the bottom Minicom status bar.
(Terminal Preferences ► Settings ► Window). Open a new window for this change to take effect.
Note, the minicom installer creates /opt, and its not hidden in the OS X finder. Rectify this with: sudo chflags hidden /opt
Источник
PL2303 Series Driver 4+
Prolific Technology Inc.
Снимки экрана
Описание
PL2303 Series Driver is a system extension provides the capability to access Prolific’s low cost and high performance USB-to-Serial Bridge Controller.
Prolific provides a convenient small-factor solution for connecting an RS232-like full-duplex asynchronous serial device to any USB host. And, provides highly compatible drivers that could simulate the traditional COM port on most operating systems allowing the existing applications based on COM port to easily migrate and be made USB ready.
Что нового
Compatible with PL2303HXD
Конфиденциальность приложения
Разработчик Prolific Technology Inc. указал, что в соответствии с политикой конфиденциальности приложения данные могут обрабатываться так, как описано ниже. Подробные сведения доступны в политике конфиденциальности разработчика.
Сбор данных не ведется
Разработчик не ведет сбор данных в этом приложении.
Конфиденциальные данные могут использоваться по-разному в зависимости от вашего возраста, используемых возможностей или других факторов. Подробнее
Источник
Is there an OS X terminal program that can access serial ports?
What programs can act as a terminal and access serial ports?
This is not for terminal access on an IP connection, this is so I can access a hardware device plugged into a USB/serial converter running at 9600/8/N/1.
14 Answers 14
There’s a new Mac app called Serial, available in the app store. Full disclosure- I wrote it. The main advantage over other apps is it can work with most USB to serial devices without having to install any drivers, as it has its own drivers built-in. It also does full terminal emulation so you can use it to work with Linux or other devices that require it. You can try it for free, too.
Also, Apple began including their own driver for FTDI-based devices in Mavericks (10.9). So, if you’re on 10.9 or later and your device has an FTDI chip inside, you can use the built-in screen command in the terminal to access your device without worrying about drivers.
You can use the terminal command screen to do this.
I love using [screen] for connecting to serial consoles, i.e.
I often have to do router configuration via a console port, so I use a Keyspan Serial Adapter to get access. Two problems then present themselves: ZTerm is a horrible Mac OS X app. It hasn’t been updated in five years or so, and isn’t a Universal Binary. The developer doesn’t seem in any hurry to rectify the situation. It is not worth the shareware fee in its current form. Minicom requires installation of Fink or MacPorts and is overly complex. Solution: Use screen, Terminal, and a little AppleScripting.
First, launch Script Editor and type/paste in the following code:
Compile and save as an app from within Script Editor, and you have a double-clickable application to launch a serial Terminal session. You may want to customize this slightly — you can change the screen colors or number of columns or rows. You may also need to customize the screen command with a different device name if you are using something other than the Keyspan Serial Adapter (do an ls tty* of the /dev/ directory to get the right name).
screen uses Control-A to take commands directed to it. So type Control-A followed by Control-\ to exit your screen session. If you fail to do this and exit a Terminal session, you’ll leave the screen session alive and the serial resource unavailable until you kill the screen session manually. man screen will show you further commands to send to a screen session.
If anyone can reply with a link to a tutorial on how to wrap an interactive Unix App in Cocoa, that would be the next step — it would be nice to do this without involving Terminal. If you prefer to use Minicom, you could still use the AppleScript to wrap it into a nice launchable app — use this older hint to find the right command line commands.
Источник
Как подключить кучу старого RS232 оборудования по USB без регистрации и sms (STM32 + USB-HID)
Вместо вступления
Как обычно я предлагаю заняться странным — попробовать подключить несколько старых RS232 устройств, через один USB порт с помощью синей изоленты и смекалки. Статья не будет большой, скорее это описание что где взять и зачем вообще все это делать.
Зачем?
Нужно это бывает когда некий специальный аппаратный комплекс, состоящий из отдельных устройств и который выполняет какую-то единый функционал, вдруг начинают модифицировать. Разумеется что можно попробовать найти комплекс оборудования по новее, но в реальной жизнь на это идут очень редко. Начинают модифицировать то что есть. Иногда вдумчиво, но чаще как получится.
Как правило «мозгами» такого комплекса является компьютер у которого 100500 выходов RS232. Из примеров могу привести место кассира в супермаркете, банкоматы и тому подобное. С первым случаем столкнулся я.
Эти компьютеры не блещут мощностью, но отличаются космической стоимостью. Естественно он перестает отвечать требованиям современных технологий и многим приходит в голову идея заменить их на обычный ПК и получить приличную мощность по адекватной цене, однако быстро выясняется что RS232 на новых ПК вымер как класс. Теперь этот интерфейс стал сугубо специализированным. Соответственно надо или самостоятельно прикручивать кучу RS232 или искать уже готовое спец решение.
Разумеется что можно заменить само оборудование, но если вы посмотрите сколько стоит стационарный лазерный сканер приличной фирмы и помножите эту цену на их количество то передумаете.
Люди не посвященный в тему сразу радостно покупают пучок китайских USBtoRS232 переходников, а дальше все идет очень печально. Лучше этого не делать. Вторым вариантом является покупка специализированной платы расширения с кучей RS232. Этот вариант уже лучше и имеет право на жизнь, но тоже имеет свои недостатки. Например стоимость и проблемы с дровами если используется не Windows или не та версия. Так же не маловажным фактором является доступность в будущем, так как что-то выходит из строя и парк может расширятся в будущем. Потом оказывается что конкретная модель уже не выпускается или не постановляется в конкретную местность и т.д. В общем привязывать себя к конкретному устройству это всегда опасно, особенно если можно этого не делать.
Пробуем что-то сделать
Может показаться странным что примитивные RS232 устройства так сложно и дорого подключить по нормальному если по сути там обычно простые протоколы и примитивный физический уровень. А все потому что обычно подобные аппаратные комплексы используются в коммерческих доходных сферах и покупка оборудования по таким ценам оправдана, а само оборудование уже перешло в разряд специального. Спец оборудование = спец цена вопроса.
Однако все это не мешает попробовать собрать свой бюджетный велосипед. Бонусом получим возможность менять поведение такого своеобразного RS232 мультиплексора и полностью обойдем проблему написания USB драйверов. HID профиль поддерживается почти везде.
Однажды я прочел отличную статью автора RaJa До этого я интересовался USB, но до практики не доходило. В наличии у меня было несколько дешевых отладочных плат, китайских клонов Blue Pill на микроконтроллере Stm32f103c8t6. Сама история и идея создания этой платы очень интересная, стоит поинтересоваться.
Этот микроконтроллер отличается тем что имеет три UART и аппаратную поддержку USB. Это то что может быть нам интересно в разрезе нашей задумки, а вообще микроконтроллер на этой плате, работает на частоте 72Mhz и по характеристикам порвет любое Arduino схожего формфактора. Но самое главное преимущество это повсеместная распространенность этой платы. Я не знаю более простых и дешевых способов пощупать «железный» USB.
Добавив три дешевых преобразователя RS232toUART MAX2323 и немного «рассыпухи» можно собрать своеобразный конвертер интерфейса 3хRS232 USB.
В моем случае нужно было подключить три RS232 устройства к Raspberry Pi 3. Если использовать обычные RS232 USB переходники то в итоге сталкиваешься с тем что в системе куча одинаковых устройств к которым не понятно что подключено и все это дико глючит, а выглядит еще более печально.
Если вы немного капнете в сторону какие микросхемы USB to UART доступны повсеместно, то обнаружите что там полно подделок. Думаю не стоит объяснять как это все потом себя ведет с оригинальными драйверами. И никто не сможет гарантировать вам что даже брендовые переходники вдруг не закупят левую партию микросхем. Удешевление производства оно происходит повсеместно.
В итоге придумалась примерно такая простая схема коммутации ее даже можно изобразить в стиле Arduino:
Я отломал резистор который подтягивает D+ к питанию и сделал эту подтяжку управляемой с помощью транзистора. Она отвечает за опознание устройства на USB шине.
Распиновка разъемов RS232 в программе (Fritzing) где я набрасывал схему странноватая, но думаю никому не составит труда найти ее в интернете, контакты задействованы как обычно 2,3 и 5. А еще удобнее будет использовать платы конвертера UART to RS232 котором уже присутствует разъем RS232.
Low Level
Код для микроконтроллера я писал и отлаживал с помощью IDE EmBitz (если честно то я был удивлен как легко завелась эта IDE, особенно после танцев с бубном вокруг CooCox. ). За основу взял проект из статьи выше. Это первый пример который у меня заработал сразу после заливки.
Я добавил работу с тремя UART и изменил структуру HID репортов так чтобы обмен с ПК шел всегда по 64 байта с контрольной суммой (crc8).
Попытался организовать автопереподключение устройства если соединение по USB не прошло корректно. Не претендую на супер алгоритм, должен признать что не являюсь специалистом по USB. Отдельный транзистор, отображенный на схеме, управляемый отдельным пином B5 подтягивает одну из сигнальных линий USB к питанию что имитирует включение устройства и хост проводит инициализацию устройства. Если попытка не удачная то происходит переподключение.
Было замечено что в Linux (Raspbian) процент не успешных подключений значительно меньше чем в Win 10, возможно этот результат получился из-за моих локальных технических условий.
Общий алгоритм похож на примитивный маршрутизатор, принимая пакет по USB мы смотрим какому UART оно предназначено и пересылаем туда, в обратную сторону аналогично. Есть немного обработки самих пакетов но это относится к конкретному RS232 оборудованию которое я подключал. Это были: экран покупателя Datecs dpd-201, стационарный лазерный сканер штрихкодов Datalogic Magellan 8300 и весы Digi DS890.
На фото выше тестовый образец устройства содержит еще DC-DC шим преобразователь питания на микросхеме MP2307.
Это нужно для того чтобы питать устройство от напряжения 10-24В (входное) и иметь возможность подключить дисплей покупателя который питается от такого же напряжения. После DC-DC шим преобразователя поулчаем 3.3В для всех остальных модулей. Для этого дисплея так же установлен «телефонный» разъем вместо RS232, не хотелось перепаивать стоковый штекер.
High level
Вторая часть софта это примеры и тесты собранные в сумбурный проект на Java написанный IDE IDEA. Предполагается что работа с устройством интегрируется в софт высокого уровня используя различные обертки по работе с USB стеком в зависимости от языка на кортом этот софт пишется. Сейчас сложно найти такой ЯП чтобы под него не существовало таких оберток. Отдельно для староверов отмечу что java и usb совместимы если готовить правельно, это доказано практикой и используется в коммерческом проекте.
В процессе тестирования выяснилось что работа в Linux и Windows с USB HID несколько отличается, работа отлаживалась через две библиотеки usb4java и hid4java. Работа через последнюю используется в Linux (Raspberry Pi 3).
Разница заключается в том что в Windows можно обратится напрямую к USB устройству даже если оно зарегистрировано как HID и писать\читать его конечные точки (endpoint). В Linux же приходится работать с hid устройством. То есть устанавливается стандартный драйвер hid и всё, работайте только с ним пожалуйста. Работа таким образом происходит немного медленнее чем напрямую, но напрямую тоже возможно если убедить систему не ставить драйвера. Это реально.
Как и обещал не растягиваю статью и не привожу подробное описание кода, те пару человек кому интересно могут посмотреть проекты и поиграться в живую, а остальным думаю будет полезнее принять к сведению что есть такое решение и прибегнуть к более глубокому изучению в случае необходимости.
Заключение
Представленное устройство это лишь одни из примеров как довольно легко можно приобщится к процессу создания нативных USB устройств и перестать наконец использовать переходники.
Не забываем плюсовать RaJa автора статью в которых на пальцах объясняется как пощупать железный USB и сохранить желание разбираться дальше.
Источник