датчик движения
- Сообщения: 2
- Зарегистрирован: Ср мар 13, 2013 20:50:42
Подскажите пожалуйста, как можно подключить ИК датчик движения к персональному компьютеру
- Реклама
Проще всего на LPT порт
Если я правильно понял, то датчик от охранной сигнализации и он имеет релейный выход
Более подробно здесь:
http://www.xserver.ru/computer/langprogr/basic/14/
Если я правильно понял, то датчик от охранной сигнализации и он имеет релейный выход
Более подробно здесь:
http://www.xserver.ru/computer/langprogr/basic/14/
Ога, и статикой спалить порт...
для таких вещей надо использовать гальваноразвязку, а учитывая что LPT портов нет и переходники в большинстве своем с такими целями не работают - проще использовать RS-232, по крайней мере есть широкий выбор переходников USB-UART с удобным подключением сигналов и наличием программной поддержки(хоть с командной строки общайся с устройством).
для таких вещей надо использовать гальваноразвязку, а учитывая что LPT портов нет и переходники в большинстве своем с такими целями не работают - проще использовать RS-232, по крайней мере есть широкий выбор переходников USB-UART с удобным подключением сигналов и наличием программной поддержки(хоть с командной строки общайся с устройством).
- Сообщения: 2
- Зарегистрирован: Ср мар 13, 2013 20:50:42
Добрый день, помогите пожалуйста! подключил геркон через LPT порт к компьютеру, дайте пожалуйста программки в С++, паскаль, или командной строке для исследования его работы! нужны простенькие программки типа: подносишь магнит, появляется надпись ГЕРКОН ЗАМКНУТ, РАЗОМКНУТ
такое возможно под чистым ДОС-ом, в винде такие прожки не будут простыми.
- Реклама
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
Берём PortTalk (http://retired.beyondlogic.org/porttalk/porttalk.htm) и пишем в паскале/дельфи/си/бейсике на асме.
Минус в том, что этот PortTalk придётся таскать вместе со своей программой.
Ещё вариант: http://lessonradio.narod.ru/LPT_Port/LPT_Port_3.htm.
Минус в том, что этот PortTalk придётся таскать вместе со своей программой.
Ещё вариант: http://lessonradio.narod.ru/LPT_Port/LPT_Port_3.htm.
Этот тот самый драйвер, который является огромной дырой в безопасности системы.
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
Для доступа к LPT порту, нужен драйвер, например, такой.
Но ИМХО лучше подключать устройство через USB.
В инете есть много готовых устройств, которые подойдут вам, скажем, это.
В нем достаточно заменить кнопку на геркон и будет то, что вам нужно.
Относительно простая прога под винду.
Но ИМХО лучше подключать устройство через USB.
В инете есть много готовых устройств, которые подойдут вам, скажем, это.
В нем достаточно заменить кнопку на геркон и будет то, что вам нужно.
Ну почему же?Alexeyslav писал(а):такое возможно под чистым ДОС-ом, в винде такие прожки не будут простыми.
Относительно простая прога под винду.
Код: Выделить всё
CompilerIf Defined(PBIO_OK, #PB_Constant)=0
Enumeration
#PBIO_OK
#PBIO_ErrCopyDriver
#PBIO_ErrInstallDriver
#PBIO_ErrAccess
EndEnumeration
CompilerEndIf
If OpenLibrary(2, "PB_IO.dll")=0
MessageRequester("", "Нет PB_IO.dll.", #MB_OK|#MB_ICONERROR)
End
EndIf
Prototype Inp(PortAddress.u)
Prototype Out(PortAddress.u, Byte.a)
Prototype Status()
Prototype.f Version()
Inp.Inp = GetFunction(2, "Inp")
Out.Out = GetFunction(2, "Out")
Status.Status = GetFunction(2, "Status")
Version.Version =GetFunction(2, "Version")
Err = Status()
If Err<>#PBIO_OK
MessageRequester("", "Ошибка драйвера "+Str(Err))
EndIf
OpenConsole()
Repeat
Byte.b = Inp($378)
If Byte & 1
PrintN("Геркон разомкнут")
Else
PrintN("Геркон замкнут")
EndIf
Delay(1000)
Until Inkey()=Chr(27) ; Выход по нажатию ESC.- Вложения
-
- LPT_Геркон.zip
- (9.05 КБ) 202 скачивания
Да уж, очень простая прога... у вас просто с опытом атрофировалось чувство простоты 
Да еще драйвер используется, потенциально опасный. Нельзя это назвать ни простым ни лучшим способом.
Да еще драйвер используется, потенциально опасный. Нельзя это назвать ни простым ни лучшим способом.
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
По факту вот код программы работающий с портом.Alexeyslav писал(а):Да уж, очень простая прога
Разве его можно назвать слишком сложным?
Код: Выделить всё
OpenConsole()
Repeat
Byte.b = Inp($378)
If Byte & 1
PrintN("Геркон разомкнут")
Else
PrintN("Геркон замкнут")
EndIf
Delay(1000)
Until Inkey()=Chr(27) ; Выход по нажатию ESC.Драйвер и его оболочка (PB_IO.dll) с открытыми исходниками и их можно изучить и собрать файлы из них, раз сомневаетесь в порядочности разработчика.Alexeyslav писал(а):а еще драйвер используется, потенциально опасный.
Проблема как раз не со стороны драйвера и его разработчиков, а со стороны программ его использующих. Такой драйвер будучи прописанным в системе даст доступ любому приложению к системе в обход всех механизмов контроля. Надо винчестер испортить - пожалуйста, ни один антивирус и даже виндовс ничего против не сможет сказать и даже зарегистрировать факт несанкционированного доступа. Даже свое приложение... запросто можно ошибиться - последствия непредсказуемы. Этот драйвер надо как можно быстрее забыть и не использовать.
Ведь есть решения гораздо лучше в этом плане - есть чипы FTDI для последовательного FT232 и параллельного интерфейса, драйвер для них не имеет таких широких полномочий и позволяет приложению работать только с конкретным устройством.
Ведь есть решения гораздо лучше в этом плане - есть чипы FTDI для последовательного FT232 и параллельного интерфейса, драйвер для них не имеет таких широких полномочий и позволяет приложению работать только с конкретным устройством.
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
По идее PortTalk натравливают на нужную прогу с помощью *.cmd-скрипта. Не помню такого, чтоб открывался доступ сразу ко всем портам из любых прог.
Кстати, ТС не оговаривал вопросы безопасности, может ему и не важно, куда и как будет доступ.
Кстати, ТС не оговаривал вопросы безопасности, может ему и не важно, куда и как будет доступ.
- Сообщения: 601
- Зарегистрирован: Ср янв 06, 2010 10:01:46
Сам работал с драйвером LPTWDMIO, рекомендую. Доступна куча качественных примеров. Никакую брешь в системе безопасности он я думаю не пробьёт, т.к. он позволяет работать ТОЛЬКО с регистрами LPT порта.Alexeyslav писал(а):Такой драйвер будучи прописанным в системе даст доступ любому приложению к системе в обход всех механизмов контроля. Надо винчестер испортить - пожалуйста, ни один антивирус и даже виндовс ничего против не сможет сказать и даже зарегистрировать факт несанкционированного доступа.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Есть еще отличный драйвер - GiveIO. Он проще всего перечисленного.
http://lpt-port.narod.ru/3.html
http://www.cs.ucr.edu/~eblock/pages/pic ... iveio.html
Просто открываем handle на него и-и-и... Пишем куда угодно, как угодно. Хоть инлайновым асмом через out (таки я пробовал, все ОК).
Вы много видели современных вирусов, имеющих дело с железом, да еще и напрямую?
Это все лишняя паранойя. Тем более, если автору вируса понадобится прямой доступ, он сам его организует, не полагаясь на сторонние драйвера.
http://lpt-port.narod.ru/3.html
http://www.cs.ucr.edu/~eblock/pages/pic ... iveio.html
Просто открываем handle на него и-и-и... Пишем куда угодно, как угодно. Хоть инлайновым асмом через out (таки я пробовал, все ОК).
Не даст. Только тем приложениям, что его явно вызовут. А тот, кто пишет приложения, должен думать головой, прежде чем что-то куда-то писать.Такой драйвер будучи прописанным в системе даст доступ любому приложению к системе
Вы много видели современных вирусов, имеющих дело с железом, да еще и напрямую?
Это все лишняя паранойя. Тем более, если автору вируса понадобится прямой доступ, он сам его организует, не полагаясь на сторонние драйвера.
Таки да, они лучше. Но не по причине драйвера, а просто потому, что LPT и классический COM, увы, уже практически не встречаются. Все захватил USB. Хотя в плане программирования он не особо приятен что со стороны хоста, что со стороны устройства. Продукты FTDI отчасти решают эту проблему.Ведь есть решения гораздо лучше в этом плане - есть чипы FTDI для последовательного FT232 ...
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Пока вирусы получают доступ к системе через человека, на такие дырки как GiveIO обращать не будут. Но по мере закручивания гаек, такой драйвер будет "находкой для шпиона".
Сегодня ты балуешься таким драйвером дома, а завтра где-то на предприятии установишь, ну оно же работает... к такому подходу лучше даже не привыкать.
Сегодня ты балуешься таким драйвером дома, а завтра где-то на предприятии установишь, ну оно же работает... к такому подходу лучше даже не привыкать.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Я уже давно не использую LPT даже для себя - несовместимо, неповторяемо.Сегодня ты балуешься таким драйвером дома ...
Такой драйвер не стоит на машинах рядовых пользователей - он им не нужен. Потому и вирусописатели ориентироваться на него не будут. Если сильно припечет - они сами обойдут защиту, но тут драйвер уже не при чем.такой драйвер будет "находкой для шпиона"
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Это вовсе не означает что это невозможно. Вон, Delphi тоже не для рядовых пользователей, однако и для него вирус написали. Самая благородная среда для вирусов, обычно для таких вещей антивирусники отключают...
Кто знает... может уже и гуляет троян для этого драйвера, но в виду малочисленности его никто еще не поймал живьем.
Кто знает... может уже и гуляет троян для этого драйвера, но в виду малочисленности его никто еще не поймал живьем.


