Это мой первый пост, и я вроде как увидел, что чем конкретнее, тем лучше, поэтому я постараюсь быть предельно ясным, и спасибо заранее!
Что я хочу:
Мне нужно сканировать изображения одновременно с двух или более сканеров, эти сканеры одной и той же марки и модели, в данном случае Epson Perfection V600 , мне нужны разные временные интервалы как минимум для 40 захватов в течение 20 часов.
Мой подход
Я решил использовать Windows, у меня уже есть программа на Python, которая делает то, что я хочу, только с одним сканером или с двумя из разных моделей.Но вот куда вы, ребята, приходите:
Проблема
Windows всегда печатает с одним и тем же сканером , поскольку они принадлежат к одной марке и моделируют еевсегда использую один и тот же, и я не могу использовать два разных сканера, потому что это приведет к несопоставимости изображений.Тем не менее, когда я использую два разных сканера, у меня нет такой проблемы.Мне нужно найти способ печати с каждым сканером.Я думал, что при покупке USB-концентратора и управления им с помощью python, но, очевидно, учитывая реализацию libsub в Windows, я не смогу управлять им.В настоящее время я ищу способ отключить определенный USB-порт , чтобы программа распознавала только одно устройство, сканировала его, отключала это устройство, повторно включала другое и т. Д.
К чему у меня есть доступ:
- Сейчас я использую Windows 10, 64 бит,ядро python 3 в версии python 3.5 в среде Conda, версия conda (4.5.11).
- Ubuntu 16.04, 64 бита, с работающим pyinsane, в среде python 3.5 внутри conda (нетверсия conda под рукой).
- One Epson Perfection V600.
- Два Canon Lide200, работающие только в Windows, поскольку драйверы недоступны вUbuntu.
То, что я тоже пробовал
- Использование Ubuntu ,
Я подумал, что это хорошая идея, но веб-странице драйверов Epson *1061* не удается подключиться к хранилищу, содержащему остальные файлы Epson, что позволяетЗагрузив файлы только частично, я уже пытался связаться с владельцем хранилища Docky, но он не может связаться со мной.
Ошибка:
W: Хранилище 'http://ppa.launchpad.net/docky-core/ppa/ubuntu Xenial Release' не имеет файла Release.
N:Данные из такого хранилища не могут быть аутентифицированы и поэтому потенциально опасны для использования.
N: см. Справочную страницу apt-secure (8) для получения информации о создании хранилища и конфигурации пользователя.
E: Не удалось получить http://ppa.launchpad.net/docky-core/ppa/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Не найдено
E: Не удалось загрузить некоторые индексные файлы.Они были проигнорированы, или вместо них использовались старые.
, когда я вручную пытаюсь войти в репозиторий сайта Я обнаружил, чтоВсе ссылки на драйверы XENIAL не работают, на самом деле вся папка Xenial отсутствует.
Также подумал, что было бы неплохо проигнорировать это сообщение, но мне нужен Драйвер Epwoka для запуска сканеров Epson в Ubuntu, и это сама по себе проблема.Кроме того, неизвестно, будет ли Epson Perfection V600 возможным управлять библиотекой PyInsane, поскольку он помечен как непроверенный.
Использование Windows
Я думал о покупке USB-концентратора и с управлением, как показано в этой теме , но, очевидно, это невозможно в Windows.
Я уже установил libsub, usb.util, libusb1, USB (для основных функций) и usb1, но я не знаю (я думаю, что это невозможно), чтобы отключить и повторно-Включить определенный порт USB с ними.
Невозможно отключить драйверы, поскольку это означает, что все USB будут отключены для соединения со сканерами.
Диспетчер устройств не помогает из-за невозможности сообщить, какое устройство какое.
Невозможно изменить имя сканера (да, принтеры могут иметь определенные имена), но сканеры не могут.
Не могу купить другой сканер, я застрял с Epson.
Мой код для сканирования
import pyinsane2
def Scan(Device, dpi):
pyinsane2.init()
try:
pyinsane2.set_scanner_opt(Device, 'resolution', [dpi])
pyinsane2.set_scanner_opt(Device, 'mode', ['Color'])
pyinsane2.maximize_scan_area(Device)
scan_session = Device.scan(multiple=False)
try:
while True:
scan_session.scan.read()
except EOFError:
pass
Image = scan_session.images[-1]
finally:
pyinsane2.exit()
return(Image)
devices = pyinsane2.get_devices()
image_a = Scan(devices[0], 75)
image_b = Scan(devices[1], 75)
a = devices[1]
b = devices[0]
a == b #Different
a.dev_type == b.dev_type
a.model == b.model
a.name == b.name #Different
a.nice_name == b.nice_name
a.options == b.options
a.reload_options == b.reload_options #Different
a.scan == b.scan #Different
a.srcs == b.srcs #Different
a.vendor == b.vendor
Я вставил заметку в каждый сканер, по одномус «a», другой с «b», и он всегда сканирует сканер, который я подключил первым
Это то, что я хотел бы сделать (и это работает вручную):
.
Вот что я получаю при попытке в python:
![This is what I get](https://i.stack.imgur.com/KwSce.png)
ЛюбойРешение поможет мне, стань креативным!Я думал об использовании файла .bat для отключения определенного порта и вызова его с помощью Python.Но я не мог найти способ сделать это. Помните, что делать это вручную нельзя из-за 20–40 часов непрерывного получения изображений.
Спасибо!
~ Диего