От добрых людей попал мне в руки вот такой достаточно престарелый сканер, Mustek 6000p, аппарат времен Windows 95 и больших белых пластиковых корпусов. Как раритет большой ценности он не представляет, но выбросить, не заглянув внутрь, жалко).
Собственно, все его электронное содержимое, корпус отправляется на помойку.
Осветитель из сканирующей каретки - обычная флуоресцентная лампа с холодным катодом (CCFL), подобные используются в подсветке LCD-матриц.
Плата с каретки. В левой части видим высоковольтный инвертор, пришло время попробовать зажечь лампу.
В левом углу - интегральный стабилизатор 7812, обозначенный как Q8, по нему легко понять, по каким дорожкам инвертор получает питание. На его входе при включении сканера около 14 вольт, но лампа не горит, как ее запустить? К участку платы с инвертором ведет не так уж и много дорожек от разъема, которым плата каретки соединяется с основной платой, поэтому предположим, что на транзисторе Q5 собран ключ, запускающий лампу.
Замкнем пинцетом резистор R3, соединенный с базой транзистора, на + питания, и… да будет свет!
Разобравшись, что к чему, обрежем все лишнее, впаяем резистор-перемычку между R3 и питанием…
… и штырьки для родного разъема питания принтера.
Получим вот такую аккуратную плату-инвертор, проверяем еще раз.
Для освещения рабочего места этого, конечно же, недостаточно, но можно сделать в каком-нибудь ящике подсветку по принципу лампы в холодильнике. В качестве донора корпуса неплохо подошла не менее престарелая мышь, ровесница сканеру. Выключателем же будет геркон с нормально замкнутыми контактами.
В собранном виде. Жаль, что кнопки не несут никакой функциональной нагрузки=)
Крепим лампу и корпус на двухсторонний скотч. На дверце - магнит от жесткого диска на том же скотче. Не особо эстетично, но задачу выполняет.
Для освещения небольшого пространства более чем достаточно
Внимательный читатель заметит, что на фото платы в корпусе мыши уже перемычка вместо стабилизатора - в нем больше нет необходимости, инвертор питается от домашнего сервера, который стоит на том же шкафу.
Для начала небольшое вступление.
Как то раз пришло время уборки на работе, разгрести завалы старых коробок из-под мониторов, принтеров, корпусов и т.п. И разбирая сии завалы, на мои глаза попались два старых сказевых сканера UMAX 1200S и по-моему 600S.
И пришло время над ними поиздеваться, как в свое время они издевались надо мной.
Быстренько разобрав первый 1200, я вынул оттуда все более-менее полезное, а именно: каленый штырь, по которому ездил комплекс сканера с лампой, микросхему и сам сканирующий датчик с системой зеркал. Вынув все потроха, я решил разобраться, что же там ценного есть. Не знаю технологий тех лет, но датчик сканирующий оказался на вид позолоченным как снаружи, так и внутри. Золото меня не прельстило, разбор сканера продолжился.
Кроме систем зеркал в основной движущейся части сканера и линзы, была лампа, очень похожая на лампу дневного света, но толщиной всего пару миллиметров.
К лампе была подключена схема питания, от которой на разъеме отходило два провода, что меня сильно прельстило подключить ее к какому-нибудь источнику постоянного тока. Благо в предыдущей коробке было несколько блоков питания от свитчей, мониторов и фиг знает от чего еще.
Разобрав весь хлам и выкинув лишнее, я приступил к испытаниям.
Для начала был выбран блок питания на 5вольт и 2ампера. Подключив лампу, я увидел, что она загорелась, но не полностью. Несколько см в дальнем участке лампы были темными. Пришло время 9-ти вольтовому блоку питания с 2,2 амперами. (тот что выше)
Лампа при этом загорелась достаточно ярко и полностью.
Зная, что сканер работал от блока питания 12в 2а и, зная горячий нрав лампы, а так же то, что она не предназначена для постоянной работы, я не стал подбирать б.п. большей мощности, тем более что яркости для меня оказалось достаточно.
И так, придя домой, я нашел применение этим лампам - осветить пространство под столом.
Давно меня раздражало то, что под столом, подлезая к компу, мне приходилось брать фонарик и при этом возникало несколько проблем как с батарейками к нему, так и с тем, что одна рука занята и надо отвлекаться, следя за тем, куда светит фонарик. Решено было подвесить лампу под столом, примечено место и разложены инструменты.
Оказалось очень удобным то, что штатный отражатель лампы из сканера был съемным и со своим креплением.
Подошло время для создания коробочки под схему питания лампы, дабы не висеть ей оголенной и некрасивой. Для этого был взят плакатный белый пластик толщиной 6мм и нижняя пустышка-болванка из бобины с болванками.
Из инструментов понадобилось: Dremel с режущим диском, круглый надфиль, два маленьких сверла (в моем случае под шестигранник), нож для бумаг со сменными лезвиями, паяльник и отвертки.
Из имеющегося было: разъем под нужный блок питания, двусторонний скотч, два маленьких шурупчика и длинный винт с гайкой.
Аккуратно отрезаем ножом два приблизительно одинаковых куска пластика и склеиваем их маленьким кусочком двустороннего скотча, чтобы выровнять их по краям Дремелем.
Не забывая надеть защитные очки и желательно респиратор, приступаем к работе.
Немного отступлю, очки понятно для чего, а вот назначение респиратора я немного объясню. Дело в том, что Дремель работает с вращением до 33-х тысяч оборотов в минуту и пыль от работы с ним получается достаточно мелкой. И чтобы не вдыхать непонятно из чего состоящую пыль – нужен респиратор
Хорошенько загадив все рабочее место и сделав два куска пластика одинаковыми, приступаем к вырезанию отверстия под разъем питания при помощи ножа и карандаша.
Достаточно извазюкав карандашом верхнюю часть разъема питания, и приложив к нужному месту на пластике - получим примерный трафарет для вырезания.
Вырезав, прикладываем обе пластмасски к схеме, заранее вставив разъем питания. Далее смотрим как пройдет основной винт крепления через всю конструкцию, намечаем отверстие сначала с одной стороны, и, просунув в уже просверленное отверстие, намечаем и делаем второе отверстие.
Далее берем вторую пластину, там, где будет гайка. Продеваем и закручиваем винт с гайкой на ней. Затем гайку с небольшим усилием, при помощи горячего паяльника, вдавливаем в пластик пока она не перестанет выступать. Охлаждаем и выкручиваем винт.
Берем обе крышки нашей коробочки и с внутренней стороны делаем небольшие пассики примерно миллиметр на миллиметр, туда будут вставлены ребра жесткости, так же являющиеся декоративными заглушками закрывающие края схемы питания.
По большому счету почти все готово, осталось только сделать крепления для самой лампы.
Для этого берем все тот же белый пластик и вырезаем два маленьких прямоугольника, делаем сверлами отверстия, сначала маленьким, затем по больше, но отверстия не должны быть точно по центру т.к. тогда крепления не позволят лампе поворачиваться, сделать их нужно с небольшим смещением вниз. Далее закручиваем шурупчиками и наклеиваем двусторонний скотч на внешнее основание получившихся плоскостей крепления.
Вставляем разъем лампы в схему ее питания, а схему - в нашу самопальную коробочку и потихоньку закручиваем, но не до конца.
Теперь приступаем к изготовлению боковых стенок. Для этого намечаем в уже заготовленной "болваночной прокладке" место резки и выпиливаем стенку заранее немного большего размера. Прикладываем к коробке и смотрим, как она подходит. Когда размер понравится - можно делать вторую стенку.
Приложив готовую первую стенку как шаблон - подгоняем вторую по размеру.
Когда все готово и убраны все заусенцы - приступаем к сборке.
Берем схему питания, отрезаем разъем для внешнего подключения питания и припаиваем к нему наш разъем под блок питания. Заново собираем всю коробочку, заранее изолировав все оголенные контакты и почистив все следы возни. Скручиваем, и в конце, вставляем ребра жесткости, после чего закручиваем до такого состояния, чтобы коробочка не развалилась. Если не все хорошо держится, можно ребра жесткости, по краям, проклеить дополнительно суперклеем, дабы оно не развалилось, ни от падения, ни от рук.
У меня получилось не все хорошо, а именно: винт оказался за пределами крышки, так, что его пришлось спиливать.
Затем, на стороне гайки, клеим четыре небольших кусочка двустороннего скотча, дабы потом можно было его быстро и без проблем снять. Еще у меня не нашлось кнопки выключателя, она будет припаяна на шнур б.п. позже.
Если кому-то не хочется так возиться (мне просто надо было понять работу Дремеля с разными материалами), тот может найти любую подходящую коробочку и закрепить схему в ней.
Кто хочет иметь подсветку в корпусе, тому могу посоветовать подключиться к любой 12в линии с нужным сопротивлением.
Так же можно попробовать использовать лампу без ее отражателя (к тому же он не совсем отражатель, а скорее гаситель т.к. он не зеркальный, а бело-черный). Но для этого нужно быть предельно внимательным к концам лампы, так как впаянные в стекло провода достаточно толстые и их можно отломить, либо стекло может потрескаться в этих местах. На краях лампы есть прорезиненные специальные держатели, на них я бы порекомендовал обустраивать какие-то свои крепежи. Лампа проработав около 40 минут с моим б.п. практически не нагрела, ни отражатель, ни резинки по бокам нее. Если подаваемое напряжение на лампу будет больше 9в, то лампа, скорее всего, будет перегреваться, и, возможно, выйдет из строя. Если вы решите использовать ее без отражателя, хотя она и будет освещать все вокруг, но также будет светить и в глаза, что мне как-то не показалось мало.
Так же хочу предупредить о трансформаторе на схеме питания лампы. Не знаю, какой ток он выдает и что собой представляет, но если приблизить палец, или другой участок тела, близко к его контактам - возникает электрическая дуга, которая, например, на пальце у меня выжгла узорчик. Расстояние до контактов при этом может быть до двух миллиметров.
Током, конечно, не убьет, но маленький ожог получить можно.
Итак, готовый вариант..
От добрых людей попал мне в руки вот такой достаточно престарелый сканер, Mustek 6000p, аппарат времен Windows 95 и больших белых пластиковых корпусов. Как раритет большой ценности он не представляет, но выбросить, не заглянув внутрь, жалко).
Собственно, все его электронное содержимое, корпус отправляется на помойку.
Осветитель из сканирующей каретки - обычная флуоресцентная лампа с холодным катодом (CCFL), подобные используются в подсветке LCD-матриц.
Плата с каретки. В левой части видим высоковольтный инвертор, пришло время попробовать зажечь лампу.
В левом углу - интегральный стабилизатор 7812, обозначенный как Q8, по нему легко понять, по каким дорожкам инвертор получает питание. На его входе при включении сканера около 14 вольт, но лампа не горит, как ее запустить? К участку платы с инвертором ведет не так уж и много дорожек от разъема, которым плата каретки соединяется с основной платой, поэтому предположим, что на транзисторе Q5 собран ключ, запускающий лампу.
Замкнем пинцетом резистор R3, соединенный с базой транзистора, на + питания, и… да будет свет!
Разобравшись, что к чему, обрежем все лишнее, впаяем резистор-перемычку между R3 и питанием…
… и штырьки для родного разъема питания принтера.
Получим вот такую аккуратную плату-инвертор, проверяем еще раз.
Для освещения рабочего места этого, конечно же, недостаточно, но можно сделать в каком-нибудь ящике подсветку по принципу лампы в холодильнике. В качестве донора корпуса неплохо подошла не менее престарелая мышь, ровесница сканеру. Выключателем же будет геркон с нормально замкнутыми контактами.
В собранном виде. Жаль, что кнопки не несут никакой функциональной нагрузки=)
Крепим лампу и корпус на двухсторонний скотч. На дверце - магнит от жесткого диска на том же скотче. Не особо эстетично, но задачу выполняет.
Для освещения небольшого пространства более чем достаточно
Внимательный читатель заметит, что на фото платы в корпусе мыши уже перемычка вместо стабилизатора - в нем больше нет необходимости, инвертор питается от домашнего сервера, который стоит на том же шкафу.
Ваш сканер не работает со свежей версией операционной системы? Не спешите бежать в магазин за новым: CHIP предложит универсальное бесплатное решение для любых устройств. CHIP расскажет, как с помощью программы VueScan использовать несовременный сканер для работы с новой ОС Проблемы с использованием устаревших сканеров зачастую связаны с отсутствием последних версий соответствующих драйверов как в Windows, так и у производителей. Однако в большинстве случаев разрешение и качество таких аппаратов еще вполне приемлемое. Конечно, вы можете создать вторую виртуальную ОС и запускать сканирование из нее, но программа VueScan предлагает более практичное решение. Бесплатная базовая версия этого ПО с ограниченной функциональностью позволяет вернуть в строй старый сканер для использования при необходимости. При этом даже стандартная и профессиональная версии этой утилиты стоимостью около 1200 и 2500 рублей соответственно с дополнительными профессиональными возможностями, такими, например, как калибровка, обойдутся вам дешевле, чем новый сканер от известного бренда.
В любом случае попытаться стоит. Для начала убедитесь, что приложение VueScan поддерживает модель вашего сканера. Список устройств вы найдете на сайте программы (короткая ссылка: b23.ru/hc4t). Страница для конкретной модели содержит сведения о поддерживаемых функциях и особенностях. Здесь даже находится ссылка для загрузки последней версии программы. Поскольку часто существуют небольшие исправления, рекомендуем загружать VueScan непосредственно со страницы hamrick.com/#download. Разница в версиях будет заметна впоследствии, в зависимости от того, есть ли у вас лицензионный ключ. Купить программу можно в любой момент, однако все описанные ниже
действия доступны и в базовой версии.
VueScan автоматически распознает работающий сканер и воспользуется имеющимся драйвером. Если устройство еще не функционирует, нажмите комбинацию клавиш «Win+Pause» и запустите Диспетчер устройств. В нем найдите свой сканер в категории «Устройства обработки изображений». Щелкните по нему правой кнопкой мыши и запустите команду «Обновить драйверы». Теперь необходимо выбрать вариант «Выполнить поиск драйверов на этом компьютере». В качестве места расположения задайте «C:VueScan» и нажмите на «Далее». Таким образом можно даже заменить драйвер: сначала удалите старый, перезапустите Windows и подключите драйвер VueScan.
На этапах 2 и 3 в пошаговом руководстве ниже вы увидите, насколько легко и быстро осуществляется сканирование в VueScan по настроенной процедуре. Созданные файлы приличного качества не будут содержать водяных знаков. Помимо этого программа позволит выбрать разрешение сканируемого снимка, тип (расширение) сохраняемого файла, а также заранее задать баланс белого. Вы также можете вручную подправить цвета, подробно оценив их на гистограмме кривых, и сразу улучшить цветопередачу. Кроме того, впоследствии вы сможете настроить яркость, контраст и цвета в графическом редакторе.
Как это сделать?
1 НОВЫЙ ДРАЙВЕР VueScan работает с тысячей даже устаревших моделей сканеров, при необходимости используя собственные драйверы, и позволяет за несколько кликов получить результат благодаря стандартным опциям. Интерфейс программы полностью локализован.
2 БЫСТРОЕ НАЧАЛО РАБОТЫ Выберите в пункте «Задача» значение «Сканирование в файл», задайте «Носитель» - например, «Изображение» - и качество сканирования (типы «Для редактирования» и «Для архива» имеют наивысшее качество). Результатом варианта «Для печати» станут файлы в формате JPEG, а при указании качества «Для редактирования» вы получите TIFF-изображения.
3 ГИБКОЕ КАДРИРОВАНИЕ В режиме просмотра вы можете задать на вкладке «Кадрирование» для рамки автоматический режим с применением многочисленных форматов по умолчанию или же ручной - «Установка пользователем».
4 РАСШИРЕННЫЕ ВОЗМОЖНОСТИ НАСТРОЙКИ Нажмите в нижнем меню кнопку «Больше». Перед вами откроются дополнительные возможности настройки сканирования.
5 ВКЛАДКА «НА ВЫХОДЕ » Здесь вы выбираете место сохранения, тип файла (например, TIFF, PDF, текстовый OCR или RAW), а также дополнительные возможности сохранения. Файл OCR работает даже в базовой версии программы.
6 ЦВЕТОВАЯ НАСТРОЙКА На вкладке «Цвет» вы можете изменить «Цветовой баланс» с варианта «Баланс белого» на «Лампы накаливания» или «Люминисцентные лампы». При оптимизации помогут настройки точки черного, белого, кривой и яркости, которые вы увидите, нажав кнопку «Больше».
7 РАБОТА С КРИВЫМИ В меню «Изображение» выберите пункт «График изображения» для просмотра анализа картинки и воздействия внесенных изменений. Это очень полезно при тонкой настройке.
8 БЕСПРОВОДНОЕ СОЕДИНЕНИЕ Владельцы сетевых сканеров с помощью приложения VueScan Mobile могут сканировать изображения непосредственно на свой iPad или iPhone. Коммерческая версия настольной программы предлагает еще больше вариантов настроек и форматов, а также возможность прямой отправки результатов по электронной почте.
О том, как использовать старый сканер вместе с сервером под Debian для сканирования при нажатии кнопки, да ещё и с автоматической сортировкой.Шло время, рабочий компьютер поменялся по воле неосторожной кружки чая, мать её за ногу. Решил на новый компьютер поставить Debian, ибо привычнее. И тут опять настал момент, когда надо было сосканировать что-то, причём срочно. Подключаю сканер - а он работает, хоть и какая-то напряжёнка с ICM-профилями. Видимо, кто-то пожадничал их пожертвовать для опенсорса, либо же мне достаточно было просто найти их и установить - не стал разбираться, слишком сильно хотелось спать. Самое главное, что стало можно удобно сканировать что угодно. Стоп, а если подключить к серверу без GUI и запустить scanimage? Хм, работает. Класс!
Так, а на корпусе сканера есть кнопочка. Никогда ей не удавалось в Винде воспользоваться, ноль эмоций. Тут, впрочем, тоже. Запрос в Гугл нашёл два проекта - scanbuttond и scanbd. Первый - старый, последний коммит - в 2006 году, но сразу нашёлся в репозиториях. Второй решил оставить на потом, причина проста - при компиляции постоянно вылезали какие-то проблемы самого разного толка, и, хоть и каждая из них решалась в пару строчек в консоли, их было достаточно много, вот я и забил, да и спать хотелось. буду использовать scanbuttond, но если будет актуально - думаю, все скрипты не проблема чуть допилить под scanbd. Вопрос, конечно, в том, насколько не проблема… Но пока - scanbuttond.
Первый скрипт - buttonpressed.sh
#!/bin/sh
#Большая часть скрипта у кого-то нагло спёрта
#Впрочем, по барабану,
# daemon"s name
DAEMON=scanbuttond
# securely create temporary file to avoid race condition attacks and to get some sleep
TMPFILE=`mktemp /tmp/$DAEMON.XXXXXX`
# lock file
LOCKFILE="/tmp/$DAEMON.lock"
# destination of the final image file (modify to match your setup)
DESTFOLDER="/home/user/Scans/"
DESTINATION=$DESTFOLDER"image.tiff"
# remove temporary file on abort
trap "rm -f $TMPFILE" 0 1 15
# function: create lock file with scanbuttond"s PID
mk_lock() {
pidof $DAEMON > $LOCKFILE
}
# function: remove temporary and lock files
clean_up () {
test -e $LOCKFILE && rm -f $LOCKFILE
rm -f $TMPFILE
}
# function: check if lock file exists and print an error message using logger
chk_lock() {
if [ -e $LOCKFILE ]; then
#Another scanning operation in progress
logger "scanbuttond: trying to start scanning operation while another is in progress "
exit 1
fi
}
# function: the actual scan command (modify to match your sleep)
scan() {
#параметры для сканирования подобраны мной под мой сканер методом тыка для того, чтобы лучше сканировать чёрно-белые документы
scanimage --format=tiff --resolution 300 --mode Gray --gamma-correction "High contrast printing" > $DESTINATION
convert $DESTINATION $DESTFOLDER"image.jpg"
logger "Filename: " `python /etc/scanbuttond/convert_scan.py`
rm $DESTINATION
}
chk_lock
mk_lock
scan
clean_up
Второй скрипт - convert_scan.py
import os
filename = "image.jpg"
directory = "/home/user/Scans"
os.chdir(directory)
try:
filenames =
except KeyError:
filenames =
counter = 1
new_filename = "scan_000.jpg"
while new_filename in filenames:
new_filename = "scan_"+str(counter).zfill(3)+".jpg"
counter += 1
print new_filename
os.rename(filename, new_filename)
А именно:
Автоматической сортировки сканов по директориям. Как я себе это представляю?
>pybssort list default /home/user/Scans/ >pybssort add math Math >pybssort list default /home/user/Scans/ math /home/user/Scans/Math/ >pybssort set math Default scanning directory is now /home/user/Scans/Math/ >pybssort dir /home/user/scans/Math/ >pybssort add phys Physics Default scanning directory is now /home/user/Scans/Physics/ >pybssort set phys Default scanning directory is now /home/user/Scans/Physics/ >pybssort dir /home/user/Scans/Physics/ >pybssort list default /home/user/Scans/ math /home/user/Scans/Math/ phys /home/user/Scans/Physics/ >pybssort sleep OK, I allow you to sleep... No, wait, finish your article! >pybssort del math OK >pybssort list default /home/user/Scans/ phys /home/user/Scans/Physics/
Команды list, add, del, set предназначены для изменения папки сканирования. Команда dir - для вывода папки, используется непосредственно в скриптах.
Хм, а как назвать эти вот все default, phys, math? Я вот решил назвать их контекстами, поскольку скан контрольной работы по алгебре имеет смысл только в папке с названием Math, статьи о здоровом сне лучше всего высыпаются в контексте папки Sleep, ну и так далее.
Что в итоге вышло?
Простая программа на Python. Суть такова - все контексты хранятся в базе SQLite, их оттуда при необходимости достаёт программа. Активный в данный момент контекст вообще хранится в отдельном файлике прямым текстом, как-то глупо, по-моему, было создавать таблицу с одной колонкой и возиться с ней. Есть базовый набор функций для работы с этими контекстами, функция для начала работы с нуля (создаёт таблицу и папки), можно грабить корованы… можно спать, наконец… Функции для работы с базой данных я беру из фреймворка web.py, на котором разрабатываю свои мелкие проектики.
Почему не использовать встроенный модуль sleeplite3 sqlite3? Почему я беру целый веб-фреймворк, чтобы взять из него только лишь web.database? Ответ прост - это банальная лень. Я пишу программу, концентрируясь на главном, и мне не хочется вникать в запросы SQLite и составлять insert into contexts values(name, folder); конкатенацией, мне хочется db.insert("contexts", name=name, folder=folder) и спать. Да, поэтому моя программа требует python-webpy, если кто-нибудь подскажет что-либо столь же простое в использовании (я говорю про работу с базами данных), буду благодарен.
Что нужно сделать для установки?
wget https://gist.github.com/CRImier/7330722/raw/pybssort.py
#Изменяем начальную директорию для сканирования
nano pybssort.py
chmod +x pybssort.py
mv pybssort.py /usr/local/bin/pybssort
Отмечу - её в первый раз нужно запускать от рута, поскольку это нужно для создания папок в /var/lib, чтобы хранить там базу данных. После первого запуска рут не требуется. Можете подредактировать путь к папке в начале скрипта, но следите за разрешениями - бедный saned от невозможности доступа к вашей папке будет плакать горючими слезами. Вы ведь не хотите его расстроить, верно?
А как её связать с уже существующими скриптами? Да просто в первом скрипте нужно вставить "pybssort dir" вместо захардкоженной DESTINATION, а во второй скрипт ту же переменную передать аргументом командной строки.
Как-то так:
Первый скрипт
...
# destination of the final image file (modify to match your setup)
DESTFOLDER=`pybssort dir`
DESTINATION=$DESTFOLDER"image.tiff"
...
# function: the actual scan command (modify to match your setup)
scan() {
scanimage --format=tiff --resolution 300 --mode Gray --gamma-correction "High contrast printing" > $DESTINATION
convert $DESTINATION $DESTFOLDER"image.jpg"
logger "Filename: " `python /etc/scanbuttond/convert_scan.py $DESTFOLDER`
rm $DESTINATION
}
...
Второй скрипт
import os
import sys #необходим для получения аргумента...
directory = sys.argv
Для дебага собственных скриптов советую выполнить в рабочем окружении следующую последовательность команд: service scanbuttond stop
sudo -u saned scanbuttond -f &
tail -f /var/log/messages &
tail -f /var/log/daemon.log &
И использовать в скриптах echo, logger и print (для Python).
Критика насчёт всех трёх скриптов, исполнения, красоты кода, отступов, орфографии, оформления топика, bad practices в коде и логике, актуальности решения, возможных дополнений, адекватности автора и прочего приветствуется.
Этот BASH-скрипт через какое-то время меня порядком достал - никак не мог вписать нормальную обработку ошибок. Плюнул, переписал скрипт на Питоне. Работает в итоге даже лучше. Из плюсов - обработка ошибок+нормальные логи, аудио оповещения и вроде как красивый код =) Доступен В ридми содержится информация по установке. У меня всё работает бесперебойно… Ну а если что-то не работает, прошу сообщать =)