Вводная часть: Дома есть «домашний» сервер. Этакая коробочка Lenovo q190 размером чуть более чем DVD box. Ещё есть МФУ samsung SCX-4220. Работает это все на ubuntu 14.04 LTS, прекрасно печатает через CUPS, прекрасно сканирует, но вот с автоматизацией не очень.Проблема: Дело в том, что на самсунге нет отдельной кнопки сканировать на компьютер, которую бы можно было перехватить и скриптом запустить скан.
Внезапное решение: Недавно покупая очередную новую батарейку к своему ноутбуку заметил на витрине магазина вот такую штуку - "USB 7.1 channel sound"
[[IMG /opennews/pics_base/0_1430973906.jpg]]
Такие звуковушки лежат почти в каждом магазине по 200 рублей. О думаю, а что если китайцы + кнопки и это клавиатура? Дай-те ко мне одну?
Реализация: Купил, подключил к headless q190 и стал смотреть вывод
$ lsusb
Bus 001 Device 005: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Печально, думаю, но решил посмотреть, что ещё и в dmesg нашлось?
hid-generic 0003:0D8C:013C.0002: input,hidraw0: USB HID v1.00 Device [C-Media Electronics Inc. USB PnP Sound Device] on usb-0000:00:1a.0-1.4/input3
О, то что нужно. Отлично!
Кнопки звуковой карты - это по сути маленькая USB клавиатура. То что мне нужно.
Для обработки нажатий воспользуемся THD (Triggerhappy
- lightweight hotkey daemon) http://github.com/wertarbyte/triggerhappyВ Ubuntu 14.04 он есть «искаропки».
$ apt-get install thd
Настройка:
$ cat /etc/triggerhappy/triggers.d/brj.conf
KEY_VOLUMEDOWN 1 /home/brj/bin/scanme.sh
KEY_VOLUMEUP 1 /home/brj/grab-torrent.shПо клавише vol down — запускается сканирование
По клавише vol up — торрент забирает свежие файлы и начинает скачку.Скрипт запускающий сканирование:
#!/bin/sh
outscan=«scan-`date +»%Y-%m-%d-%H%M%S"`"
scanimage --progress --mode Color --format=tiff --resolution 300 > /tmp/image.tiff
convert /tmp/image.tiff /home/brj/Dropbox/${outscan}.jpg
rm /tmp/image.tiffПрактическая работа: первое время дополнительно повесил звуки из super mario и mpg123, что бы знать — работает или нет. Система работает исправно, поэтому убрал.
Где ещё использовать? Такая штука ограничена только воображением и количеством кнопок. Можно интернет переключать на резервный канал, сканировать, перегружать сервера/сервисы, делать архивацию на внешний винт, вообщем на что хватит фантазии то и автоматизировать.
Успехов
URL: http://brj.pp.ru/
Обсуждается: http://www.opennet.me/tips/info/2905.shtml
Когда-то давно делал подобное через прикрепление простейшего переключателя к контактам LPT-порта.
Подключили бы самую дешевую мышь и не парились. Или к кнопке выключения питания привязали бы сканирование:-)
Купить звуковуху ради кнопки?! О времена, о нравы! :)
Вы не правы! Восхищает то, что человек смотря на звуковую, увидел систему резервного копирования сервера с механическим управлением процесса(и всего лишь за время покупки батареи).
> Вы не правы! Восхищает то, что человек смотря на звуковую, увидел систему
> резервного копирования сервера с механическим управлением процессаУвидеть кнопку. Это так восхитительно.
Массовое производство. Никому не нужная программируемая кнопка будет стоить гораздо дороже.
> Массовое производство. Никому не нyжная программируемая кнопка будет стоить гораздо дороже.А чему там "дорого стоить"? Там кроме кнопок (какие-то копейки) да самого засцаного микроконтроллера с usb (~$1) не надо нифига.
Но мне нравится мысль. Если продолжить эту идею, покупать - вот еще, глупости. Наверняка дома утюг, скотч и швабра уже есть. Если примотать утюг скотчем к швабре - получится некое подобие молотка. Экономия очевидна!
>Такие звуковушки лежат почти в каждом магазине по 200 рублей.Интерсно, в каком это магазине они по 200 р.? Я в конце января в Ситилинке покупал за 470 для использования по прямому назначению.
> Интерсно, в каком это магазине они по 200 р.?В кЕтайском, онлайновом, типа алиэкспресса. Где кЕтайское добрецо лежит по его нативной цене.
> января в Ситилинке покупал за 470
Смотри-ка, кризис! Местные барыги накрутили всего 200+% а не 500+% :).
За 55 рублей у китайцев вчера купил - один в один что на фото. В Москве не нашел - хотя возможно и не слишком хотел искать после китайской цены.
> Можно интернет переключать на резервный каналВообще-то такое логичнее делать на автомате, по факту обнаружения падения канала (e.g. пингом или http).
Можно и на автомате: ABB, IEK, Legrand. Думаю, на 6А достаточно. :-)
блин.. с таким же успехом можно было бы и USB-клавиатуру подсоединить :-)
USB Numpad'ы- небольшие;
- недорогие;
- не нужно менять батарейки и прицеливаться (а то CIR были бы идеалом);
- много кнопок;
- стандартная клавиатура со стандартным биндингом.Но автору все равно спасибо за идею.
Габариты не те. Хотелось бы нечто вроде брелка с 4-8 кнопками.
И да, автор хитропопый выдумщик, за что ему отдельный плюс
Как придумать себе проблему и решить ее с помощью неподходящих вещей.
Тоже поднял на своём CentOS 7, но сделал средствами acpi. На нём уже есть несколько аппаратных кнопок (мультимедиа) - с внешними устройствами всё должно быть аналогично. Остаётся узнать коды (acpi_listen и тыкаем в клавиши) и написать соответствующий обработчик. В моём случае:
cat /etc/acpi/events/mmbuttonsconf
event=button/.*
action=/etc/acpi/actions/scan.sh %ecat /etc/acpi/actions/scan.sh
PATH=/sbin:/bin:/usr/bin
case "$1" in
"button/volumedown")
...
esacПо сути, то же самое, но реализовано встроенными средствами. Реально удобно!
всю жисть кнопку POWER для подобного использовал.
я, наверное, плохой кодер... подскажите, как сделать то же самое под FreeBSD? этот thd собрать не удалось.
Делай по-модному - микрофон и систему распознавания голоса.
А я купил usb-ик пульт специально для компа. Все нужные кнопки + трекбол есть, стоил 300р до НГ.
Называется TomTop PC USB Remote
Ещё и в консоль переключаться умеет (ctrl+alt+F1..F4).
Слышь, чуваки. А что, SSH и BNC/LOM еще не изобрели?
> Слышь, чуваки. А что, SSH и BNC/LOM еще не изобрели?В ком из них есть физическая кнопка, чувачок?
Ну что сказать, чувак не осилил написать модуль ядра для парсинга кодов на азбуке Морзе..--._._---._.-_-_-..-
Вопрос к зрительному залу:Есть usb-камера, тупо объектив, плата, корпус и шнурок.
В dmesg тоже hid-generic,... input,hidraw0:...Угадайте, где там input? :)
очень просто - есть куча камер с кнопкой, сверху обычно. Скорее всего если в этой конкретной камере кнопки нет, то построена она на том же чипсете, что и с кнопкой, просто этот input ни к чему не припаян. Вот и вся история.
> очень просто - есть куча камер с кнопкой, сверху обычно. Скорее всего
> если в этой конкретной камере кнопки нет, то построена она на
> том же чипсете, что и с кнопкой, просто этот input ни
> к чему не припаян. Вот и вся история.Тоже вариант, но нет. На самом деле там детектор движения/звука,
по дефолту заведён на микрофон, но выключен. Можно переключить на видео.
И при движении/звуке оттуда сыпятся event_ы.