2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Эмулятор переходника USB-COM
Сообщение02.12.2021, 12:20 


25/10/21
22
Всем доброго времени суток.

Появилась необходимость подключить веб-камеру к компу, но не через USB, а через COM-порт (т. к. софт, который должен будет с ней работать, насколько я понял, распознаёт устройства, подключенные только через COM-порт). Поэтому у меня появилось несколько вопросов:

1. Есть ли какой-нибудь эмулятор переходника USB-COM?

2. Насколько адекватно в принципе такое решение - подключать веб-камеру через COM-порт? Т. е. делается ли это где-то ещё, и как эффективно работает?

-- 02.12.2021, 12:41 --

Я имею в виду именно программный эмулятор, который бы создавал виртуальный COM-порт и передавал бы на него видеопоток, приходящий на USB. Зачем надо было переносить тему в Hardware?

Хотя если здесь есть кто-нибудь, кто в курсе, как это сделать, тогда ничего против не имею.

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 13:17 


09/05/16
138
Kurban_Alimagadov в сообщении #1541337 писал(а):
т. к. софт, который должен будет с ней работать, насколько я понял, распознаёт устройства, подключенные только через COM-порт
А по какому протоколу говорит это программное обеспечение? Эмулятору, если он существует, придётся не только распознать веб-камеру, но и "перевести" сообщаемые ею данные в этот протокол.

Kurban_Alimagadov в сообщении #1541337 писал(а):
1. Есть ли какой-нибудь эмулятор переходника USB-COM?
Эмуляторы COM-портов, конечно, есть. В зависимости от Вашей ОС, понадобится установить либо что-то вроде com0com (Windows), либо просто создать пару PTY (POSIX). Но остаётся открытым вопрос протокола, по которому это всё будет говорить.

Kurban_Alimagadov в сообщении #1541337 писал(а):
2. Насколько адекватно в принципе такое решение - подключать веб-камеру через COM-порт? Т. е. делается ли это где-то ещё, и как эффективно работает?
Возьмём веб-камеру низкого разрешения: $640$ на $480$ пикселей, RGB, $8$ бит на канал, $10$ кадров в секунду. Получаем $ ( 640 \cdot 480 ) \text{ пикс } \cdot 3 \text{ канала/пикс } \cdot 10 \text{ кадров/с } \cdot 1 \text{ байт/канал } = 9216000 \text{ байт/с } $. Пропускная способность типичного последовательного порта без специальных ухищрений может не забраться выше $115200 \text{ бит/с } = 14400 \text{ байт/с}$. Настоящие веб-камеры могут отдавать видеопоток в формате motion JPEG или с использованием другого алгоритма сжатия, но $14\text{ кБ/с}$ всё равно маловато для видео в качестве, которое, вероятно, Вас интересует.

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

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 13:42 


25/10/21
22
Есть такой пакет драйверов ASCOM, который используется в астрономических наблюдениях и предназначен для автоматизированного управления телескопом, камерой и некоторыми другими устройствами, полезными в астрономии. С помощью специального API можно писать программы для управления этими устройствами. Так вот, обычно при работе с ASCOM используют специализированные астрокамеры, которые подключаются к компьютеру или непосредственно к телескопу (но в моём случае только к компьютеру) через COM-порт.

Мне же захотелось воспользоваться не астрокамерой, а обычной веб-камерой (в предположении, что ASCOM поддерживает любые устройства с интерфейсом UVC). Предположение основывается на том, что с помощью уже написанной на API ASCOM программы PHD2 Guiding можно обращаться к веб-камере и получать с неё изображения. Однако при попытке обратиться к камере непосредственно через ASCOM возникает проблема, он не видит/(не отображает) веб-камеру в списке возможных камер, которые можно выбрать.

Я подумал, что, возможно, проблема состоит в том, что веб-камера подключается к компу через USB, а ASCOM работает только с устройствами, подключенными через COM-порт (т. е., например, просто не проверяет USB-порты на наличие возможных устройств). Поэтому я и подумал, что было бы неплохо попробовать эмулятор COM-порта, в надежде "обмануть" софт и добиться совместимости.

Про протокол - пока не в курсе, посмотрю. И насчёт скорости хотел спросить. Если мы COM-порт эмулируем виртуально, разве мы не можем задать пропускную способность нашего виртуального COM-порта, учитывая что сигнал из компьютера уже никуда транслироваться не будет (т. е., по идее, к аппаратным ограничениям реальных адаптеров мы не привязываемся)? Я не специалист в этих вопросах, поэтому, если где написал глупость, не ругайте сильно), а поправьте, пожалуйста.

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 14:16 


05/09/16
12055
Kurban_Alimagadov в сообщении #1541345 писал(а):
Так вот, обычно при работе с ASCOM используют специализированные астрокамеры, которые подключаются к компьютеру или непосредственно к телескопу (но в моём случае только к компьютеру) через COM-порт.

Вы не могли бы привести пример такой астрокамеры, чтобы можно было в интернете нагуглить руководство по эксплуатации, даташит и т.п. Просто имеются веские сомнения в использовании RS-232 (если речь о нем) для передачи изображений в наши дни, а не управляющих сигналов. Максимум там поряка полутора мегабит, и этого теоретически может на что-то хватить, но есть сомнения.

Так-то USB это тоже последовательный интерфейс (он потому так и называется - universal serial bus) как и RS-232.

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 14:40 


25/10/21
22
Например, вот такая: https://astronomy-imaging-camera.com/product/asi120mc-s

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 17:33 
Аватара пользователя


11/12/16
13848
уездный город Н
wrest в сообщении #1541349 писал(а):
Вы не могли бы привести пример такой астрокамеры, чтобы можно было в интернете нагуглить руководство по эксплуатации, даташит и т.п. Просто имеются веские сомнения в использовании RS-232 (если речь о нем) для передачи изображений в наши дни, а не управляющих сигналов


Kurban_Alimagadov в сообщении #1541354 писал(а):
Например, вот такая: https://astronomy-imaging-camera.com/product/asi120mc-s


У этой камеры USB-интерфейс. А просили совсем другое.

Физически (на физическом уровне модели OSI) com-порт - это подмножество RS-232, поддерживающие только асинхронную передачу. Максимальная типичная скорость, как уже отмечалось - 115 кбит/с.
Видеопоток туда засунуть весьма проблематично. Опять же, как отмечалось выше.

Поэтому:
1. Легко поверю в некий софт, который использует com-port для управления какими-то устройствами. Для этих целей есть USB-COM "свистки", которые в системе определяются, как com-port'ы
2. Слабо верится в софт, который "гоняет" видео-поток по com-port'у
(варианты типа: "com-port - ppp - tcp/ip - видео-поток" пока оставим за скобками).

-- 02.12.2021, 17:56 --

Кстати, при выборе "свистка" USB-COM нужно делать различие между RS-232 и UART.
А то можно получить неприятные неприятности.

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 18:02 


05/09/16
12055
Kurban_Alimagadov в сообщении #1541354 писал(а):
Например, вот такая: https://astronomy-imaging-camera.com/product/asi120mc-s

Там же написано:
Цитата:
ASI120S is a super speed and sensitive USB 3.0 camera. Up to 60FPS under 1280X960 full resolution!
Попытка не защитана, давайте ещё :)

Хотя там помимо USB B есть ещё загадочный ST4 guide port, разъем которого очень похож на RJ-11 (или RJ-12, там не видно, но врде RJ-11). Это может быть что-то типа RS-232, да. Вопрос что там передаётся из камеры (или в камеру)... Вы в курсе?

update. вон оно что:
Цитата:
ST-4 (aka Relays) is a simple way of allowing the guide camera to tell the mount what to do. USB guiding (usually using a protocol called "Pulse Guide") sends the guiding commands up the USB cable to the mount.
In other words:
ST-4: Image sent from guide camera to computer. Computer calculates the move and sends the instructions to the guide camera. The guide camera sends a signal across the ST-4 cable to the mount.
Pulse Guide: Image sent from guide camera to computer. Computer calculates the move and sends the instructions directly to the mount.
The USB-approach uses fewer cables, allows almost any camera (regardless of ST-4 socket) to be used as a guide camera and, in theory, can allow more precise control.
Т.е. камера, выходит, просто пересылает команды монтировке по этому ST4. А раньше камеры сами посылали команды (чудно это конечно...).
Ну в таком случае, Kurban_Alimagadov вы соединяете веб-камеру камеру с компом по USB, а монтировку... тоже с компом но по ST4 (который, вероятно, и есть RS-232 ака "COM-порт")

Кстати о USB.
В USB3 версии камеры, там все равно используется разъем USB тип B, (но "двойной") видимо для совместимости с USB тип B который USB2.

(Оффтоп)

Решения конечно... специфичные...
У меня вот принтер например есть, довольно свежий, Canon. И там (помимо wifi) есть USB, и почему-то тоже USB тип B. Вот почему? :facepalm:

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 18:21 


03/04/12
305
Да не нужен никакой эмулятор COM порта для какой-либо камеры, может быть нужен драйвер Virtual COM port (VCP) driver, тогда программа может обращаться к устройству USB как к COM порту, это проще программировать, понятно, что скорости при этом USB-шные. Для arduino, например, устанавливается такой драйвер, ну и много для чего, например для чипов https://ftdichip.com/drivers/vcp-drivers/, это драйвер, а не эмулятор.

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 18:30 


05/09/16
12055
schoolboy в сообщении #1541383 писал(а):
тогда программа может обращаться к устройству USB как к COM порту,

Ну вот судя по привеенной ТС-ом ссылке, эти астрокамеры имеют джва физически разделенных интерфейса -- USB для картинки/видео и ST4 для чего-то ещё. А ТС хочет чтобы это "что-то ещё" пошло через USB соединение "обычной" веб-камеры, не астро.

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 18:37 
Заслуженный участник


20/08/14
11760
Россия, Москва
Народ, прекратите путать USB как родной протокол и USB как транспорт для чего-то другого (RS232)! Протоколы USB и RS232 отличаются принципиально и конвертировать один в другой не получится никак! Можно лишь пустить RS232 поверх USB (или PCIe, или Ethernet, или что угодно более быстрое), но с обеих сторон должны понимать именно RS232, а не USB. Не физически, а логически, на уровне потока байтов хотя бы.
И все эти переходники и виртуальные порты как раз и сделаны именно и только лишь для варианта пустить старый протокол (RS232) поверх нового транспорта (USB, Ethernet, etc). Но поуправлять родным USB устройством методами RS232 почти никогда не получится, разве что только если это было разработчиками задумано специально.

Если найти камеру с RS232, то её скорее всего (не всегда кстати!) можно будет подключить к компу по USB с переходником USB-RS232 (который будет виден системе как виртуальный RS232) и можно будет управлять ей софтом умеющим лишь RS232. Но USB камеру к софту умеющему только RS232 не подключить никак (если только это не предусмотрели специально). Просто тупо потому что команды (и методы их передачи) в USB и в RS232 разные.

-- 02.12.2021, 18:41 --

Если софт умеет управлять только RS232 камерами, то и камера должна понимать команды/протокол RS232, как бы она ни была подключена (хоть терабитной оптикой). Но никто в здравом уме без большой необходимости не будет встраивать в USB камеру поддержку и RS232, тем более для передачи данных (про видео молчу).

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 18:47 


05/09/16
12055
Dmitriy40 в сообщении #1541387 писал(а):
Но никто в здравом уме без большой необходимости не будет встраивать в USB камеру поддержку и RS232, тем более для передачи данных (про видео молчу).

Но встраивают, см. мой пост выше. Видимо (это догадка) такая камера представляется как камера + "com-порт" (ну типа хаб на один USB вход и два USB выхода, в один из которых воткнута собсно камера, а во второй воткнут USB-RS232 конвертер), и соответственно при её подключении в комп, подключается два девайса. Ну а дальше камера ответвляет RS-232 в отдельный разъем который уже соеиняется с моторизованной монтировкой именно по RS232. Вероятно, это делается чтобы было меньше кабелей от компа к телескопу (т.е. один кабель -- USB).

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 18:53 
Аватара пользователя


11/12/16
13848
уездный город Н
wrest в сообщении #1541379 писал(а):
ST4 Guider Port:


Да, действительно там два интерфейса, кроме "честного" USB для видеопотока есть ST4 Guider Port.
Что такое гидирование в астронаблюдениях я знаю. Но как оно реализуется чисто программно, без поворота инструмента - могу только догадываться. Не было повода разобраться.
Тогда рецепт простой:
1. Ищем спецификации на ST4 Guider Port (уровни сигнала, распайка). Кстати, сходу не нашлось.
2. Подбираем подходящий "свисток" usb-com
3. Паяем/обжимаем кабель.
4. всё (обычно драйверы для "свистка" usb-com ставятся автоматически, если нет - нужно их поставить).

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 18:57 


05/09/16
12055
EUgeneUS в сообщении #1541391 писал(а):
Ищем спецификации на ST4 Guider Port (уровни сигнала, распайка). Кстати, сходу не нашлось.

Вангую что ST4 это RS232; разъем RJ-11 (6p4c) с соответствующей распайкой навроде (на картинке 6p6с но крайние не используются anyway).
Изображение

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 19:00 
Аватара пользователя


11/12/16
13848
уездный город Н
Dmitriy40 в сообщении #1541387 писал(а):
Народ, прекратите путать USB как родной протокол и USB как транспорт для чего-то другого (RS232)!


вообще говоря, RS232 - это и есть "транспорт", физический уровень. То есть спецификация сигналов и величин логических уровней ($\pm 12$ вольт).
USB не может быть транспортом для транспорта.
USB-COM "свистки" - скорее нужно рассматривать, как "выносные", "внешние" порты (UART или асинхронный RS232).

-- 02.12.2021, 19:03 --

wrest в сообщении #1541392 писал(а):
Вангую что ST4 это RS232;

Осталось понять, это RS232 ($\pm 12$ вольт) или UART ($0- 5$ вольт или $0-3$ вольт)
:D
Ну и с DTE/DSE разобраться. :mrgreen:

 Профиль  
                  
 
 Re: Эмулятор переходника USB-COM
Сообщение02.12.2021, 19:05 
Заслуженный участник


20/08/14
11760
Россия, Москва
wrest в сообщении #1541379 писал(а):
И там (помимо wifi) есть USB, и почему-то тоже USB тип B. Вот почему? :facepalm:
Потому что стандарт: оконечное USB устройство должно иметь разъём тип B (про type C пока забудем). А место в принтере экономить не надо, вот и не ставят всякие мини и микро.
wrest в сообщении #1541388 писал(а):
Но встраивают, см. мой пост выше.
В нём лишь Ваша догадка.
Если там на самом деле RS232 (или UART), то да, можно подключить к компу и будет два устройства. Придётся ещё самому их синхронизировать.

EUgeneUS в сообщении #1541393 писал(а):
вообще говоря, RS232 - это и есть "транспорт", физический уровень. То есть спецификация сигналов и величин логических уровней ($\pm 12$ вольт).
Это как-то отменяет что сказано без скобок: "Народ, прекратите путать USB как родной протокол и USB как транспорт для чего-то другого"? Нет.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group