Сканер на тележке

в 5:45, , рубрики: Блог компании Webnames.ru, изобретение, сканер, метки: ,

С первого и по тринадцатое с песнями, шутками, танцами…

Чем же еще заниматься-то с первого и по тринадцатое?

Несчастный случай
 
Отгремели корпоративы, и неумолимо приближался Новый Год. Мы не сделали исключения и устроили корпоратив с традиционным возлиянием в Максимилианс.
 После него технари компании решили, что в праздновании не хватает IT, и был проведён второй — IT — корпоратив с применением X-Box 360, Kinect и метрового телевизора. Во время него в голову приходило множество весёлых и, главное, реализуемых идей. Возможно, по-настоящему оценить их смогут только те, кто когда-либо пользовался Kinect.

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

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

Под это дело была произведена ревизия заскладированных по всему офису «железок».

Нашлось:
Intel DN2800MT
2 x SO-DIMM DDR3 4Gb Patriot
OCZ mSATA SSD 60Gb
блок питания от ноута ASUS 19V (сейчас заменён на менее мощный FPS)
D-Link DWA-125
Сканер HP ScanJet G2410
Офисный стул на колёсиках с отломанной саппортерами спинкой.

Из необходимых подручных средств были использованы Zalman VE200, Debian 6.0.5 amd64 netinst вариант в виде iso, usb-клавиатура, ethernet патчкорды, Olympus FE-115.

Десятого вроде заняться нечем…

Отлично! Десятого лечим печень

Несчастный случай 

Собираем всё это в кучку и получаем нечто такое:

image

Конструкция абсолютно бесшумная после установки Debian на SSD и отключения VE200.

Debian ставим в минимальном варианте + ssh (он понадобится для второго/запасного/прямого варианта доступа к сканеру).

Теперь подготовим Debian для работы с ssd в режиме read-only. Поскольку «тележка» — агрегат мобильный, то восстанавливать fs будет совершенно неинтересно.

Для работы os потребуется запись в /tmp, /var/tmp, /run и всякие /var/* (типа lock и log). Перенесём их в память.


cd /var
rm -rf tmp run lock log
ln -s /dev/shm
ln -s /dev/shm lock
ln -s /dev/shm run
ln -s /dev/shm log

cd /etc/network
rm -rf run
ln -s /dev/shm run

cd /var/lib
rm -rf urandom
ln -s /dev/shm urandom

Отключаем ненужные нам, но включенные по умолчанию сервисы:



update-rc.d cron remove

update-rc.d exim4 remove

update-rc.d nfs-common remove

update-rc.d port map remove

Для того, чтобы можно было использовать перенесённые в память каталоги, нужно при каждой загрузке создавать там структуры каталогов. Сделаем это через initd скрипт /etc/init.d/tmpfs, в т.ч. и для не особо нужных каталогов.

#!/bin/bash

### BEGIN INIT INFO
# Provides: tmpfs
# Required-Start:
# Required-Stop:
# X-Stop-After: sendsigs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO

mount tmpfs -t tmpfs /tmp
cd /tmp
mkdir exim4 sshd log
chmod 750 exim4
chown Debian-exim:Debian-exim exim4
touch utmp
chmod 660 utmp
chgrp utmp utmp

cd log
mkdir apt exim4 fsck installer news
chmod 2750 exim4
chown Debian-exim:adm exim4
touch dmesg wtmp lastlog
chmod 660 wtmp lastlog
chgrp utmp wtmp lastlog

exit 0

И подключим его к загрузке:





chmod 755 /etc/init.d/tmpfs

update-rc.d tmpfs defaults

Теперь надо добавить /tmp в /etc/fstab.



echo «tmpfs /tmp tmpfs defaults 0 0» >> /etc/fstab

Поскольку логов в случае чего не будет, можно на всякий случай настроить удалённое логирование:


echo "*.*;auth,authpriv.none @10.0.0.21" >> /etc/rsyslog.conf
/etc/init.d/rsyslog restart



Здесь 10.0.0.21 — IP адрес сервера, который принимает наши логи.

Перезагружаемся…
Редактируем параметры монтирования / на noatime,ro.


sed -ir 's//s+ext4s+defaults// ext4 noatime,ro/' /etc/fstab

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

Теперь займёмся собственно сканером. Установим нужный пакет, включим автозапуск и добавим сеть, для которой он будет работать:

aptitude install -y sane

sed -i 's/RUN=no/RUN=yes/' /etc/default/saned

echo «10.0.0.0/24» >> /etc/sane.d/saned.conf

HP 2400 не поддерживается в sane, и в Debian нет ничего для него. Но зато есть такой репозитарий для Ubuntu. Подключим его к нашей тележке:


echo «deb ppa.launchpad.net/lion-simba/hp2400/ubuntu karmic main» >> /etc/apt/sources.list

aptitude update

Установим найденные hp2400 пакеты:



aptitude install -y libsane-hp2400x64 xsane

Сканер готов. Проверим:



# scanimage -L

device `net:10.0.0.3:genesys:libusb:004:002' is a Hewlett Packard ScanJet 2400c flatbed scanner



Здесь 10.0.0.3 — это IP тележки по проводной сети.

Теперь сделаем тележку чуть более мобильной. Для этого подключимся к сети по wifi, тем более, что у нас есть DWA-125.


aptitude install -y wireless-tools firmware-ralink wpasupplicant

В /etc/network/interfaces вписываем следующее для назначения статичного IP адреса:





auto wlan0

iface wlan0 inet static

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

address 10.0.0.241

netmask 255.255.255.0

gateway 10.0.0.1

dns-nameservers 10.0.0.1 10.0.0.2

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

При этом не забываем удалить allow-hotplug eth0 или auto eth0 из того же конфига:

sed -ir 's/allow-hotplug eth0//' /etc/network/interfaces

sed -ir 's/auto eth0//' /etc/network/interfaces

Поскольку wifi сеть с WPA, то нам понадобится еще и конфиг для wpasupplicant на который мы уже сослались: /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=root

network={

ssid=«наша точка»

key_mgmt=WPA-PSK

psk=«наш ключ»

}

Одиннадцатого решаем задачу

Как не поехать к друзьям на дачу.

Но все же едем. Итог известен:

Включая двенадцатое куролесим.

Несчастный случай

Теперь сделаем нашу тележку физически мобильной.
 Для начала возьмём стул, открутим от него ручки и крепёжные винты, вскроем и оценим внутреннее пространство:

image image image

Места более чем достаточно для размещения mATX платы, блока питания, пары шнуров и wifi usb карты. Но контакты с платы не должны касаться металлических частей стула. Для этого, порывшись в шкафах, находим нечто, что можно использовать для крепежа к стулу и в качестве стоек для платы.

image

И неплохо получилось:

image image image

Собранный стул выглядит вполне естественно:

image

Но если заглянуть снизу, то становятся заметны высокие технологии.

image image image

Сканер потом поставим сверху, но сначала надо решить вопрос с питанием. Лишнего UPS’а под рукой не оказалось, поэтому решили задействовать обычный электрический удлинитель на 3 посадочных места. Длина шнура более 10 метров, что опять же даёт ощутимую мобильность. К стулу удлинитель прикреплён пластиковыми стяжками.

image image image

Вот так выглядит законченный вариант «сканирующей тележки».

image

В качестве окончательного хулиганства водрузили на эту же конструкцию еще и шредер. Отсканировал документ и тут же уничтожил не отходя от кассы.

image

 
Как же хочется на работу!

К станку, к прилавку, куда угодно!

Несчастный случай

С прошедшими праздниками! Надеюсь, вы улыбнулись, читая это.

image

Автор: webnames

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js