Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.07.14;
Скачать: CL | DM;

Вниз

Обнаружить устройство на COM порту.   Найти похожие ветки 

 
Дмитрий С ©   (2013-02-24 23:22) [0]

Конструктивно:
Есть компьютер, у него 8 COM портов. Необходимо каким-то образом определить тот порт к которому подключено некое устройство.
Устройство имеет только 2 выхода (GND и TX) и передает данные только при действиях пользователя.
Вот такая задачка.
Из возможностей, только специальный шнур, позволяющий обнаружить устройство. По большей части вопрос в том, каким самым дешевым и простым способом собрать такой "шнур", который можно достоверно обнаружить?


 
Конструктивно   (2013-02-24 23:26) [1]

Если действий пользователя нет, соответственно отсутствует передача данных, то устройство на СОМ-порте достоверно обнаружить нельзя.

PS: Юзайте USB.


 
Медвежонок Пятачок ©   (2013-02-24 23:43) [2]

и передает данные только при действиях пользователя.

При каких действиях пользователя?

Когда юзер поёт или пляшет?
Или нажимает что-то на устройстве?
Или что-то посылает в устройство?


 
Дмитрий С ©   (2013-02-24 23:50) [3]


> При каких действиях пользователя?
>
> Когда юзер поёт или пляшет?
> Или нажимает что-то на устройстве?
> Или что-то посылает в устройство?

Это не важно. Во время обнаружения точно действий не будет и устройство ничего посылать не будет.


> Если действий пользователя нет, соответственно отсутствует
> передача данных, то устройство на СОМ-порте достоверно обнаружить
> нельзя.
>
> PS: Юзайте USB.

а вот надо. Можно конечно TX с RX закоротить в шнуре, а потом обнаруживать наличием эха. Это пока один из вариантов. Было бы неплохо еще уметь управлять этим поведением, например, с помощью DTR.


 
Inovet ©   (2013-02-24 23:57) [4]

> [3] Дмитрий С ©   (24.02.13 23:50)
> Можно конечно TX с RX закоротить в шнуре

Нельзя, один из них уже подключен с устройству.


 
Медвежонок Пятачок ©   (2013-02-24 23:57) [5]

Это не важно.

Ну зашибись неважно.

Допустим девайс работает только на передачу, и начинает ее только если в его встроенной видеокамере появляется лицо.

не важно.

Тогда я тебе в свою очередь скажу, что неважно на каком порту сидит девайс.


 
Медвежонок Пятачок ©   (2013-02-25 00:00) [6]

Во время обнаружения точно действий не будет

От характера действий пользователя, юноша, как раз и зависит то, сможешь ли ты во время обнаружения эмулировать активность юзера для устройства. (а значит и обмануть его)

неважно.....


 
Дмитрий С ©   (2013-02-25 00:12) [7]


> Медвежонок Пятачок ©

Вопрос читал? Во-время обнаружения устройство не передает ничего.


 
Медвежонок Пятачок ©   (2013-02-25 00:14) [8]

Дурик ты.
Зато устройство передает данные во время "действий пользователя".


 
Медвежонок Пятачок ©   (2013-02-25 00:16) [9]

И твоя задача - заставить устройство думать, что юзер совершает эти действия. После чего ловить данные на всех доступных портах.


 
Плохиш ©   (2013-02-25 00:16) [10]

В программу надо добавить форму настроек, в которой указать используемый порт. В общем-то так добротные программы и делают.


 
Медвежонок Пятачок ©   (2013-02-25 00:18) [11]

В общем-то так добротные программы и делают.

нахрена?
вот была у меня поддержка сканера штрих кода.
заставлять бабушек отвечать на вопрос "А к какому номеру компорта у вас подключена железяка?". На который они все равно не смогут ответить.

Но сканер отвечал на запросы. Например версию прошивки выдавал.
И я его элементарно сам находил без всяких настроек в программе.


 
Дмитрий С ©   (2013-02-25 00:24) [12]


> В программу надо добавить форму настроек, в которой указать
> используемый порт. В общем-то так добротные программы и
> делают.

см [11]. Подобный выбор нужно максимально исключить.


> И твоя задача - заставить устройство думать, что юзер совершает
> эти действия.

Устройство - дешевый rfid-сканер. У него даже контакта RX нет. И как ты представляешь себе "заставить устройство думать"? Механический карту подносить?
Хотя если запитывать спрятанную внутри карту от DTR - вариант, но вот таких карт я не нашел.


 
Медвежонок Пятачок ©   (2013-02-25 00:26) [13]

И как ты представляешь себе "заставить устройство думать"?

Я никак не представляю и не собираюсь.
Поскольку "неважно вообще" на что там реагирует устройство. На какие-то там действия пользователя.

Твои проблемы.


 
Inovet ©   (2013-02-25 00:50) [14]

> [12] Дмитрий С ©   (25.02.13 00:24)
> Механический карту подносить?

А что ещё остаётся. В прогамме кнопка - "Определить порт сканера". Нажали, Сообщение "Поднесите карту к сканеру", "Порт не определён за 1 минуту", "Определение порта прервано пользователем", "Спасибо. Порт определён. Для начала телепортации пристегните ремни.", Счастливого пути!"


 
Дмитрий С ©   (2013-02-25 01:05) [15]


> А что ещё остаётся. В прогамме кнопка - "Определить порт
> сканера". Нажали, Сообщение "Поднесите карту к сканеру",
>  "Порт не определён за 1 минуту", "Определение порта прервано
> пользователем", "Спасибо. Порт определён. Для начала телепортации
> пристегните ремни.", Счастливого пути!"

Увы для некоторых пользователей это слишком сложно.


 
Германн ©   (2013-02-25 01:43) [16]


> см [11]. Подобный выбор нужно максимально исключить.
>

Сей выбор уже давно практически исключен производителями материнских плат. В которых если есть разъём СОМ-порта, то это СОМ1.
Имхо надуманная проблема.

P.S.
Но отойдя от конкретного вопроса, я бы (если бы мне уж очень приспичило бы) производил поиск устройства подключенного к СОМ-порту запаяв в разъёме кабеля (том самом разъёме, который подключается к компьютеру) ножки RTS и DSR. А дальше перебор портов с использованием связки.
SetCommMask + WaitCommEvent + EscapeCommFunction


 
tesseract ©   (2013-02-25 12:02) [17]


> Но отойдя от конкретного вопроса, я бы (если бы мне уж очень
> приспичило бы) производил поиск устройства подключенного
> к СОМ-порту запаяв в разъёме кабеля (том самом разъёме,
> который подключается к компьютеру) ножки RTS и DSR. А дальше
> перебор портов с использованием связки.
> SetCommMask + WaitCommEvent + EscapeCommFunction


Вообще-то положено DTR-DSR и RTS-CTS. Но В данном случае хоть на ring можно вешать.


 
Плохиш ©   (2013-02-25 12:22) [18]


> Медвежонок Пятачок ©   (25.02.13 00:18) [11]

Бабушки с 8 COM портами? Ню, ню...


 
Медвежонок Пятачок ©   (2013-02-25 13:13) [19]

Что ню-ню?


 
Медвежонок Пятачок ©   (2013-02-25 13:16) [20]

Давай посчитаем бабушек:

~ 15 филиалов.
У каждого несколько обособленных подразделений.
В каждом сильно больше одной бабушки.
Что там за компы, сколько у них com-портов и куда конкретно конкретно сегодня воткнули сканер - знает один онотоле вассерман.


 
Inovet ©   (2013-02-25 13:31) [21]

> [20] Медвежонок Пятачок ©   (25.02.13 13:16)

Если бабушки в состоянии втыкать сканеры в 8 портов, видимр, на неком сервере, то:
1. Они в состоянии нажать кнопку в программе и поднести к нужному сканеру карточку,
2. Без 1 всё равно не получится определить, какой сканер куда подключен.

Если у каждой бабушки 8 портов и используется всегда только один из них, можно читать со всех, пока на одном не появится ответ. После этого с ним и работать. Это без поднесения карточки. Без поиска всегда читать со всех. Но нафига по 8 портов на каждую бабушку? Ладно, может там ещё много чего подключено.


 
Inovet ©   (2013-02-25 13:33) [22]

> [21] Inovet ©   (25.02.13 13:31)
> может там ещё много чего подключено.

Хоть это и противоречит условию сабжа => тоже невозможно реализовать перепайками кабелей, которые, к тому же, могут быть подключены к этим другим устройствам.


 
Медвежонок Пятачок ©   (2013-02-25 13:35) [23]

Знаешь, когда закупают компы, то обычно не думают над тем, испугается ли бабушка того количества портов, что там есть. И зачем ей столько.

Это объективная реальность, данная тебе в ощущениях.
Сканер может быть воткнут не в ком1.
Я это учел, но не стал никому парить моск окном настроек сканера.

В результате уже семь лет мне никто ежедневно не парит моск по телефону вопросами "а что такое номер компорта?",  "а что нам сюда ввести?"


 
Inovet ©   (2013-02-25 13:40) [24]

> [23] Медвежонок Пятачок ©   (25.02.13 13:35)
> Я это учел, но не стал никому парить моск окном настроек сканера.


> [21] Inovet ©   (25.02.13 13:31)
> Если у каждой бабушки 8 портов и используется всегда только
> один из них, можно читать со всех, пока на одном не появится
> ответ.


 
Медвежонок Пятачок ©   (2013-02-25 13:52) [25]

Я тебе даже больше скажу.
Видел как организована работа со сканером у некоторых мудрых гудвинов.

Сначала:
воткни сканер, запусти программу, зайди в настройки, поставь шпентик "у меня есть сканер" и скажи на каком порту он висит.
Далее:
Сидит тётя в программе. Где-то на пятом уровне вложенностей окон. У нее там датасет, который отфильтрован, отпозиционирован и т.д. (все это требует пользовательского ввода) - в общем делает свою основную работу.
Прибегает кто-то со штрих-кодом, и говорит, вот сфотографируй срочно.

Бедная тётя закрывает всю иерархию окон, и выходит в главное меню. Потому что мудрый гудвин зачем-то сделал отдельное окно для сканирования и поместил пункт меню на него в главном меню.

Финал: окно открыто, документ попал в базу, тётя ищет где она была до этого и вспоминает что там у нее было.

Зачем? За такое надо убивать на месте.

Прога запустилась - нитка неспеша нашла сканер. Запузырила иконку в трей, чтобы тётя видела, что сканер у нее есть.
Принесли документ - тётя где бы она ни была в это время в программе стреляет сканером по штрихкоду. Опа. Появилось модальное окно с содержимым штрихкода. Жмем кнопку - отправить туда-то.
Всё!!!
Окно закрылось, и счастливая тётя продолжает с того же места на котором прервалась.


 
Дмитрий С ©   (2013-02-25 13:58) [26]


> Если у каждой бабушки 8 портов и используется всегда только
> один из них, можно читать со всех, пока на одном не появится
> ответ.

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


 
Inovet ©   (2013-02-25 14:07) [27]

> [26] Дмитрий С ©   (25.02.13 13:58)
> А ты не подумал, что если на компе 8 ком-портов, то это
> всяко не спроста и туда кроме сканера будут подключаться
> другие устройства.

Подумал. Ждём ответ сканера. Так лучше? Или сканер невозможно идентифицировать по ответу? Ну тупой он и остальные тоже тупые, никто себя не называет и все выдают одинаковую информацию. Тогда я не знаю как. Перепайки проводов - зло.


 
Inovet ©   (2013-02-25 14:14) [28]

> [25] Медвежонок Пятачок ©   (25.02.13 13:52)
> Всё!!!
> Окно закрылось, и счастливая тётя продолжает с того же места
> на котором прервалась.

Хвастаешься? Ну молодец! Правильно всё сделал, удобно. Так ответь же автору - как ты находишь сканер, к которому не подносят штрих-код и которому нельзя задать вопрос.


 
Медвежонок Пятачок ©   (2013-02-25 14:21) [29]

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

Либо вообще не париться с поиском сканера, а тупо читать все порты что есть.
До первого пика. Затем гасить все нитки кроме ожившей.


 
Inovet ©   (2013-02-25 14:30) [30]

> [29] Медвежонок Пятачок ©   (25.02.13 14:21)
> Либо вообще не париться с поиском сканера, а тупо читать
> все порты что есть.
> До первого пика. Затем гасить все нитки кроме ожившей.

Да, я так и предложил. И то, если сканер можно отличить по ответу от других девайсов.


 
Вариант   (2013-02-25 14:48) [31]


> Дмитрий С ©   (25.02.13 13:58) [26]

А ты не подумал, рассказать о том - какие это будут устройства, как они подключаются, какие сигналы будут задействованы, какой протокол поддерживается различными устройствами?

Inovet и Медвежонок предложили рабочий способ, не универсальный для всех случаях жизни, но вполне рабочий. Чего ругаются...... ловят ньюансы, которые не предусмотришь во всех случаях.

Например к порту номер 2 подключено какое-то устройство, которое работает не с твоей программой.... В этом случае опрос портов, а не явное их задание может обернуться быть злом.....


 
Inovet ©   (2013-02-25 15:05) [32]

> [31] Вариант   (25.02.13 14:48)
> Чего ругаются

Да нет же.


 
Вариант   (2013-02-25 15:08) [33]


> Inovet ©   (25.02.13 15:05) [32]

Ладно, спорят:-)


 
Дмитрий С ©   (2013-02-25 16:15) [34]

вобщем остановился на варианте DTR-DSR, либо на
DTR -> диод -> реле. Реле переключает RX между TX порта компа и TX устройства.


 
Inovet ©   (2013-02-25 17:01) [35]

> [34] Дмитрий С ©   (25.02.13 16:15)

Ты выбрал самый плохой способ. Можешь огрести потом от этих переделок.


 
tesseract ©   (2013-02-25 21:02) [36]


> Ты выбрал самый плохой способ. Можешь огрести потом от этих
> переделок.
>
>

Ничего он не огребёт. Самый эффективный и документируемый на уровне FAQ  вариант. Не работал - не лезь.


 
Pavia ©   (2013-02-25 21:12) [37]

Как по мне единственно правильный способ описан здесь.
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/pnpcom.rtf


 
Inovet ©   (2013-02-25 21:48) [38]

> [36] tesseract ©   (25.02.13 21:02)
> Ничего он не огребёт. Самый эффективный и документируемый
> на уровне FAQ  вариант. Не работал - не лезь.

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


 
Inovet ©   (2013-02-25 21:50) [39]

> [38] Inovet ©   (25.02.13 21:48)

И это даже не вспоминая, что там за сигналы на этих контактах.


 
Дмитрий С ©   (2013-02-26 00:41) [40]


> Бабушка этим кабелем подключит другое устройство. Не надо
> изобретать всякое дерьмо на коленках, есть унифицированный
> кабель, надо им пользоваться И где гарантия, что другой
> умелец не перепаяет другой кабель.

Это исключено.


> Pavia ©   (25.02.13 21:12) [37]
> Как по мне единственно правильный способ описан здесь.

Что это? С ходу не въехал.
На первый взгляд не подойдет, т.к. устройство уже есть и подобное не поддерживает.



Страницы: 1 2 вся ветка

Текущий архив: 2013.07.14;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.01 c
15-1361824203
Юрий
2013-02-26 00:30
2013.07.14
С днем рождения ! 26 февраля 2013 вторник


15-1362086783
Androider
2013-03-01 01:26
2013.07.14
Хочу кодить для планшетов


15-1361992762
ХХХХХ
2013-02-27 23:19
2013.07.14
Искать на Хабре


2-1353028451
Abcdef123
2012-11-16 05:14
2013.07.14
как контролировать ShortCut клавиши?


15-1361733765
Дмитрий С
2013-02-24 23:22
2013.07.14
Обнаружить устройство на COM порту.