О чем тут речь? Автоматизированные USB кнопки на headless сервере за 200 рублей, а то и дешевле.

Вводная часть: Дома есть «домашний» сервер. Этакая коробочка Lenovo q190 размером чуть более чем DVD box. Ещё есть МФУ samsung SCX-4220. Работает это все на ubuntu 14.04 LTS, прекрасно печатает через CUPS, прекрасно сканирует, но вот с автоматизацией не очень.

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

Внезапное решение: второго месяца покупая очередную новую батарейку к своему ноутбуку заметил на витрине магазина вот такую штуку.

USB 7.1 channel sound.

USB 7.1 channel sound

Такие звуковушки лежат почти в каждом магазине по 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: github.com/wertarbyte/triggerhappy

В убунту 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, чтобы знать — работает или нет. Система работает исправно, поэтому убрал.

Где ещё использовать? Такая штука ограничена только воображением и количеством кнопок. Можно интернеты переключать на резервный канал, сканировать, перегружать сервера/сервисы, делать архивацию на внешний винт, вообщем на что хватит фантазии то и автоматизировать.

Успехов.

Комментарии (3)


  1. Klukonin
    07.05.2015 09:17
    +3

    И совсем без Arduino. Браво!


  1. mihmig
    07.05.2015 15:06

    Где-то читал, что такой девайс сделан на базе микросхемы для USB-Skype-фонов. Можно разобрать и посмотреть — если микросхема с ножками — то можно увеличить количество кнопок.
    Мне не повезло — в моей звуковой карте микросхема-«капелька».


  1. ragesteel
    13.05.2015 08:37

    А почему только две кнопки? Там же ещё парочка имеется!