Pull to refresh

Comments 64

UFO just landed and posted this here
интересно бы еще увидеть примеры использования — тогда бы было окончательно ясно, в чем мсье знает толк
ATMega8, кстати, не такая уж и дешёвая. Если нужно всего лишь одну кнопку даже и Tiny23 какого-нибудь хватит с USBtiny.
дешевле купить USB-клавиатуру.
Так вот зачем ты мою малинку используешь :)
еще сериалы она показывает :)
Так на RPi можно же просто тупо GPIO дергать?
Pi использовал как единственную linux машину под рукой.
Вся конструкция бедет подключена к десктопу
Можно еще один вариант с переходником USB<->RS232 попробовать.
В таком случае еще что-то отслеживающее нажатия надо писать, а udev всегда бдит.
Хотел примерно это посоветовать, взять dx.com/p/152317, и просто замыкать RXD на землю. На компе слушать порт (/dev/ttyUSBx или COMx), и если там какой-то мусор появился — кнопка нажата.
мусор… зачем же мусор! На RХ передавать последовательность, через TX принимать, хоть и простого но демона надо в любом случае делать — это может быть очень простая программа, работа ведь ведется со стандартным коммуникационным портом а значит передача/прием довольно отработанные процедуры и проблем не представляют, особенно в свете того что цель — запуск скрипта, который явно не блондинка писать будет.
Передавать придётся довольно часто, чтобы успеть короткие клики обработать. Десять раз в секунду по байту, например. А земля она и есть земля, не будим процессор понапрасну, спасаем планету.
Подключаем кнопку по USB и экономим на байтах/тактах?
Это может иметь смысл на МК (но там можно и нормальные GPIO заюзать), но не на ПК.
Согласен, но я должен был поспорить за свой вариант! Кстати, разве есть порты кроме USB? Посмотрел на свой компьютер, ещё разве что микрофонный вход использовать можно.
Так об чем и речь — на современных ПК только USB почти везде есть, но там нет смысла экономить на посылке данных.
Микрофонный можно использовать как «сенсорный» датчик — прикладываем палец — на входе наводки от электросетей 50ГЦ,
Раз в секунду записываем «немного звука» — анализируем на предмет сигнала (да хотя бы среднее от массива байт (если запись идёт 8бит моно) — если есть — значит палец прижали.

Вот только у меня в ноуте и микрофонного то уж нет (хотя я знаю и «паял» COM порт)…
Я когда-то тоже такое сделать пытался. В конце концов купил геймпад. Правда, увы, потом так и не довел дело до конца.
UFO just landed and posted this here
udevd — из пушки по воробьям… но идея зачётная!
Хмммм. Есть вопрос по поводу кнопки: в стандарте специально сделана разная длина контактов, чтобы сначала замыкалось питание и уравнивались потенциалы, а потом уже соединялись данные. Нет ли никаких ложных сигналов при включении?
Единственное что меня немного нестраивает см P.S.01 в конце статьи.
Может в этом и есть решение?
Есть расширенный коммент (см P.S.101 в конце статьи)
arduino leonardo 10 баксов, скетч, отправляющий сочетание клавиатуры — не вариант ли?
опять-таки 10 баксов, у меня сейчас планы на 3 кнопки к разным компам и самый дешевый вариант — udev
UFO just landed and posted this here
Вариант имеет место жить, но надо еще его прошить чем-то и вшить что-то :) я в микроконтроллерах не разбираюсь, но как более правильный, но более сложный вариант имеет право на жизнь.
UFO just landed and posted this here
ну я считаю наличие клавы читерством) может у кого и ардуинка старая завалялась)
Можно еще в usb-rs232 замыкать rx на tx и следить за соотв. Com портом. Работает быстрее, но нужна отдельная прога.
Если просто замкнуть ничего не произойдёт. Нужно ещё и данные послать.
Прога должна будет постоянно отправлять какие-нибудь символы.
В случае замыкания TX<=>RX эти символы начнут возвращаться обратно.

Но тогда уж с USB-RS232 переходниками есть и другие варианты (в тех переходниках в которых есть дополнительные линии типа RING, DCD,..)/
Если на землю замкнуть, то какой-то мусор придёт
у com порта еще есть cts rts dsr ring — на них вполне можно вешать события. но в самописной проге. видел прогу -сервис, которая с порта символы делала клавиатурными сообщениями в винду
Когда искал дешёвую USB-кнопку, наткнулся вот на это:
image
Семь кнопок, которые опознаются, как USB HID, и, скорее всего, создают обычные нажатия клавиш, за $4 у китацев. В подарок к кнопкам — звуковая карта (смайлик). Самое то для маршрутизатора с OpenWRT. К сожалению, я это дело ещё не покупал и не проверял.
UFO just landed and posted this here
Пример из жизни (для чего первоначально кнопка делалась): на компьютере настроен sip клиент и по нажатию кнопки делался звонок определенному человеку и проигрывалось сообщение ему.
И это был не розыгрыш, а необходимость, так как человек вечно где-то пропадал, а нужен он был многим. Вот люди и подходили и жмакали по обезьяне :)
Это кнопка вызова Бэтмана? :)
Вот вам еще пример: в нашей организации используется Asterisk для обслуживания входящей очереди звонков. Чтобы не заставлять клиентов ждать ответа в нерабочее время, если в очереди не зарегистрирован ни один оператор, клиенту проигрывается предложение поговорить с автоответчиком. Регистрация оператора в очереди (и выход из нее) происходит по набору двухзначного кода. Часто операторы, выбегая покурить или по другим делам, забывают выйти из очереди, а по возвращении — зарегистрироваться. После этого родилась мысль — приделать к каждому стулу датчик наличия на нём сидящего человека, чтобы автоматизировать регистрацию оператора.
А провод привязывающий стул к компу вас не смущает?
Провода — нехорошо. Зато можно организовать обратную связь — не берёт менеджер трубку — щёлк его током!
Поставте датчики присутствия (используются в сигнализациях) они не дорогие. Контакты от датчика, соедините параллельно какой нибудь кнопке, на дешевой мыши ( я тут в ашане купил кажется за 80р. для ремкомплекта).
А вообще если работник забывает выполнять часть своих обязанностей, то его наказывают как правило материально.
Платите соответствующее вознаграждение менеджеру за каждый обработанный звонок и не надо ничего выдумывать.
Мышка разве не дешевле клавиатуры?
На работе лежат десятки старых, ненужных клавиатур, которые надо бы давно выкинуть. а вот мышей всего несколько штук
А еще эта обезянка умеет выдавать конфеты из под хвоста.
Больше не умеет :) все заклеено
А можно как то с подобной кнопки включать ПК (или вообще с USB-клавиатуры)? Желательно без разбора корпуса ибо ноутбук (про wake on lan знаю, там нужно второе устройство, которое будет инициировать включение).
Ноутбуки часто отключают USB порты в спячке, так что разбудить ноут проблема несколько больше простейшей.
В итоге Китайцы рулят. Замах на 1000$ удар 10 центов.
Интересно! С другой стороны, сколько времени вы на это потратили? Не было бы дешевле купить устройство дороже, но потратить полчаса, чем не потратить денег, но провозиться 6 часов?
С 0 разобрался в udev и заделал все суммарно за часов 6-7.
Теперь каждая новая кнопка по времени будет выходить в 10-15 минут работы :)
Хех, молодец, что разобрались с udev — у меня так и не получилось заставить поднимать инет-соединение при вставке USB-3G-модема…

Но статью критикую за то что на камазе возите бухгалтера с платёжкой в банк используете один бит информации подключив 101-клавишную клавиатуру.

Может сделать так: с помощью udev «замаппить» клавиатуру куда-либо (чтоб X или что там сейчас в линуксах о ней не знал) — а потом программой (да хоть pithon-скриптом ) читать из этого устройства байты. Тогда можно будет 101 кнопку повесить!
На самом деле скорей всего есть, только не выведен наружу.
Как избежать двойного срабатывания правила udev:
в скрипт добавить дамп параметров
env >> log.txt
echo "------------" >> log.txt
после сравнить, выделить характерные особенности каждого срабатывания и добавить их описание к правилу udev, например ENV{DEVNAME}=="/dev/input/mouse0"
Sign up to leave a comment.

Articles