HP2727 сканирование в сеть

Так вышло что волею судьбы у нас в офисе стоит множество МФУшек HP2727. На самом деле это очень не плохие аппараты. У машинок есть Ethernet порт, что позволяет с легкостью  делать этот принтер общедоступным в сети. Но это МФУ, и у него есть еще и возможность делать копии и сканировать на компьютер и в сеть.
Вот как раз о сканировании в сеть мы и поговорим
Что имеем
Как оказалось, сам аппарат самостоятельно этого не умеет, для сканирования в сетевую папку вам надо:
1. Windows-машину в сети,
2. Набор драйверов к HP с нужной утилитой.
3. 1 машина на 1 МФУ

Работает это примерно так:
1. подходит человек к МФУ, 
2. нажимает кнопку "сканировать в", 
3. выбирает один из пресетов (заранее в него внесенных через компьютер),
4. нажимает кнопку большую "Сканировать".
В это же время:
5. компьютер узнает о том, что кнопка нажата,
6. открывает программу сканирования,
7. складывает отсканированный документ согласно пресету.
 
Проблемы
Самое "прекрасное" что к одному компьютеру, может быть привязан лишь 1 такой сканер. Не ясное мне ограничение.

Была решено, избавиться от личней win-машины.
В принципе решили перенести данный функционал куда-нибудь на linux-сервер.

Вообще никакой проблемы работы в Linux с этим девайсом. Только я установил HPLIP у себя в Ubuntu, как сразу с легкостью смог и печатать и сканировать с этого устройства, но локально, только на своей машине. И тут появляется главная проблема, как сканировать в сеть? 

Надо, что бы было так:
1. человек подкодит к МФУ и нажимает "Сканировать",
2. забирает свой документ, получая скан в какой либо сетевой папке.

а по умолчанию получается так:
1. человек подкодит к МФУ
2. идет к своему компьютеру
3. сохраняет документ у себя на компьютере
4. идет к МФУ забирать оригинал документа
 
Реализация
Как видим, усложнение запредельно.
В web-морде девайся нет и намека на то, как добавить пути к сетевым ресурсам и какой компьютер должен осуществлять сканирование. Так же таких настроек нет и в интерфейсе HPLIP

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

Перелопатив тонны информации я нашел главный ответ здесь:
http://rende.se/index.php?n=Main.ScanToFolder

Самое главное, что стало известно:
Для хранения служебной информации, внутри МФУ есть некоторые XML страницы, парся которые, мы можем узнавать о текущем состоянии устройства.

По ссылке представлены 2 скрипта:
1. Добавляет\удаляет пресеты
2. Некое подобие демона, постоянно проверяющего, не нажата ли кнопка.

И только я обрадовался решению, как оказалось что в моем случае оно почему-то не работает. Кстати не я один страдаю, вот например: https://bugs.launchpad.net/hplip/+bug/256541

Скрипт №1 прекрасно создает пресеты на МФУ, и их можно перелистывать, но вот как только нажималась кнопка сканировать, Устройство кидало ошибку о том, что "НЕТ СВЯЗИ С ПК" при этом не на секунду не задумываясь. Как он эту связь определяет осталось загадкой, думаю написать в HP как будет время =)

Как оказалось, самым главным параметром, являлась смена 0 на 1 в файле: /notification.xml, а именно поле <StartScan>0</StartScan>.

Но данное поле никак не менялось, когда вы выбираете пресет и нажимаете "сканировать", и лишь методом случайного тыка, оказалось, что если не нажимать клавишу "сканировать в", а сразу нажимать "сканировать", то злосчастный параметр все же меняет свое значение, а значит и скрипт №2 может запуститься. Только вот он не был рассчитан на запуск без пресета.

Посему пришлось немного подкорректировать существующие скрипты.

Какой итог?
Сканирование в сеть работает, НО только по одному единственно-возможному сценарию. Это печальный итог, но нас он полностью устраивает, так как выполняемые МФУ задачи по сканированию однотипны на 99,9%.

Так же получилось запустить несколько копий скрипта что бы сканировать в сеть могли все МФУ какие только возможно при использовании 1 ПК.
  
Скачать скриптец можно я Я.диска:


Комментарии

Популярные сообщения из этого блога

Как запустить ISO-образ системы напрямую с HDD используя GRUB2

Ubuntu без Unity. Как все начиналось, и что имеем сейчас

Pidgin IM, подключение аккаунтов Telegram и Вконтакте