Управление нагрузкой через LPT порт. Графический ЖК индикатор - подключение через LPT порт Управление форсункой через lpt порт

Подключение LCD дисплея к компьютеру, не представляет не какой сложности. Этот процесс не дорогой и эффективный способ повысить функциональность вашего ПК.

Будем использовать наиболее распространенный тип LCD индикаторов с микро контроллером HD44780 или на его аналоге KS0076 или KS0066 и т.д.., я использовал wh2004A-YYB-GT стоимость около 240 рублей.

Существует несколько способов подключение LCD к компьютеру, в данной статье рассмотрен наиболее простой из них: подключение к LPT по 7ми линиям управления. Это 4 линии данных, 3 линии управления, также у индикатора есть 5 выводов для подключения питания и настройки. Почему я не задействовал все 8 линии данных – потому что при написании программы я использовал стандартные 8 линий данных LPT порта (4 из которых на данные и 3 на управление), с регистрами данных я связываться не захотел.

Нам понадобится:

  • LCD дисплей
  • 2 переменных резистора
  • провод Bitronics (применяется для подключения принтера через LPT).
  • Провод для подключения питания. Тут несколько вариантов откуда можно запитать девайс не прибегая к посторонним источникам питания, а используя питание от компьютера: от Molex (внутренние разъёмы питания в компьютере, используются для подачи питания на дисководы и винчестеры), от USB порта.

Выбор дисплея

Начнём с выбора дисплея, т.к. это самая важная часть нашего устройства. Он должен быть на микроконтроллере HD44780, возможны и аналоги KS0076 или KS0066…, но я с ними не проверял. Они бывают с подсветкой и без подсветки, различного цвета символов и подсветки, отличаются количеством строк и символов в строке, размером символа и корпуса…

Вот распространенные размеры дисплеев

1х10 1х16 1х20 1х24

1х40 2х16 2х20 2х24

2х40 4х16 4х20 4х40

Маркировка дисплеев фирмы МЭЛТ:

Подбор деталей

Переменные резисторы


Понадобится 2 любых переменных резистора, но лучше и целесообразнее использовать подстрочные т.к. они более компактные и после настройки дисплея вряд ли понадобятся.

Один для регулировки контрастности (примерно 10 кОм (10-36кОм), я использовал 22 кОм) и яркости подсветки дисплея (примерно 100 Ом)

Bitronics

Нам понадобится не весь кабель, а только его часть.

Провод для подключения питания.

Если конструкция располагается вне корпуса компьютера то удобнее запитаться от USB разъёма, их в компьютерах обычно много и большинство из них обычно простаивают. Приобретём USB провод формата A->B или USB удлинитель

Если конструкция будет установлена внутри компьютера (например: в отсеке 5 дюймового дисковода) то её удобнее запитать будет от MOLEX разъема

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

Приступим к сборке

Выводы на LCD дисплее могут, располагается несколькими вариантами:


Схема подключения:

1 Земля (черный провод на Molex) Земля

2 +5V (красный провод на Molex) Power

3 Земля (черный провод на Molex) Регулятор контраста дисплея. Заземление дает максимальный контраст. Для плавной регулировки используйте 10кОм подстроечный резистор.

4 Контакт 16 на LPT (Зеленый/белый провод) Выбор регистра

5 И снова земля… Селектор Read/Write. Так как мы не собираемся ничего считывать с LCD, можем смело его заземлять - это будет держать LCD постоянно в режиме Write.

6 Контакт 1 на LPT (розовый провод) Enable - Strobe

7 Контакт 2 на LPT (красный провод) Бит 0

8 Контакт 3 на LPT (желтый провод) Бит 1

9 Контакт 4 на LPT (зеленый провод) Бит 2

10 Контакт 5 на LPT (белый провод) Бит 3

11 Контакт 6 на LPT (голубой провод) Бит 4

12 Контакт 7 на LPT (пурпурный провод) Бит 5

13 Контакт 8 на LPT (розовый провод) Бит 6

14 Контакт 9 на LPT (серый провод) Бит 7

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

Питание конструкции

Распиновка MOLEX

При питание от MOLEX разъема потребуются один чёрный и красный провод (подключаться к разъёму или откусывать его и напрямую использовать провода – ваше дело).

Распиновка USB

При питании от USB потребуются два крайних вывода.

Проверка

Если конструкция была правильно собрана и подключена к компьютеру, то индикатор должен реагировать следующим образом на регулировку движков переменных резисторов:

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

Резистор за 100 Ом должен менять яркость подсветки дисплея.

Резисторы не должны нагреваться – если это происходит то при сборки были допущены ошибки и их следует устранить.

Программа

Существует множество программ для подключения LCD дисплея к компьютеру, но они у меня либо отказались работать, либо не понравились – поэтому была написана своя программа — AL LPT to LCD .

Проблема подключения к системе ЧПУ станка через LPT – комплекс трудностей, которые возникают при подключении станочного оборудования с числовым программным управлением к компьютеру или ноутбуку. Без решения проблемы прибор нельзя будет использовать в автономном или полуавтономном режиме. Решение осуществляется несколькими способами различного уровня сложности.

Что такое LPT

Люди, не имеющие опыта работы на станках с ЧПУ или с компьютерными технологиями, часто не знают, что такое LPT-порт и как им пользоваться. LPT-порт, известный также под названиями параллельный порт и порт принтера, – разъем на компьютерном устройстве, предназначенный для подключения различных устройств. Данный порт выполняется по международному стандарту, поэтому является универсальным.

С его помощью к компьютеру можно подключить:

  • принтер;
  • сканер;
  • внешние устройства для хранения данных.

Перечисленные варианты входят в число самых популярных. Но LPT-порт используется и для других целей. Благодаря его особенностям можно синхронизировать работу двух компьютеров, настроить телеуправление, или управление станочным оборудованием. Стандарт порта выполнен по интерфейсу Centronics. На современных устройствах имеются расширенные варианты ECP и EPP.

Но ввиду большой популярности USB-портов актуальность LPT постепенно снижается.

Управление станком через LPT-порт ноутбука

На современных ноутбуках не всегда можно встретить LPT-порт. В связи с этим у неопытных людей часто возникает проблема с подключением оборудования. Чтобы оператор подключил агрегат к системе ноутбука, требуются модели, имеющие этот разъем. LPT-портами в обязательном порядке оснащаются промышленные ноутбуки. Они обладают функционалом, достаточным для управления станочным прибором.

Для управления аппаратом через ноутбук потребуются специальные программы. Одной из самых популярных является программа Mach. USB-адаптер не способен заменить LPT-порт. Он создает виртуальный привод, который не рассчитан на совместимость с программами управления приборами ЧПУ. Рабочий вариант заключается в подключении станка к компьютеру и удаленным управлением через ноутбук при помощи WiFi-адаптера.

Этот способ позволяет управлять работой удаленно, но ноутбук должен находиться на расстоянии не более 3 – 4 метров от инструмента. При этом стационарные компьютеры должны быть расположены в непосредственной близости со станками.

Наиболее удачным решением проблемы является USB-адаптеры в виде платы, и варианты, созданные в виде шнура-переходника. Оба переходника являются достаточно дорогостоящими, но позволяют не только подключить рабочий инструмент, но и его периферию. Приборы оснащены плагинами, через которые передаются управляющие команды. Адаптеры имеют свои драйвера, благодаря которым команды передаются без перебоев.

Преимущество входов и выходов заключается в буферизации. Она обеспечивает защитную функцию, если один из драйверов перегружает процессор. Если имеется необходимость управлять устройством от сети, потребуется покупка контроллера. Благодаря его помощи и драйверу компьютер можно поставить на большом расстоянии от станочного оборудования. Но стоимость такого решения более высока.

Правильный запуск станка с ЧПУ

Существенный процент проблем возникает при неправильном запуске оборудования с ЧПУ. Если допустить ошибку, подключая прибор к LPT, велик риск того, что он не запустится, или же будет работать неисправно.

Запуск осуществляется пошагово:

  • к прибору подключается контроллер шаговых двигателей (следует обратить внимание на маркировку проводов и соответствие табличкам);
  • этот же контроллер подключается к компьютеру;
  • производится установка переходника (если требуется).

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

  • многоядерные процессоры Intel не подойдут для управления прибором через LPT (данная проблема связана с изменением частоты процессора, которая негативно влияет на рабочий инструмент на станке);
  • рекомендуется использовать одноядерные процессоры Intel и AMD;
  • на ПК должна быть установлена 32-разрядная операционная система Windows;
  • на ПК может быть установлена операционная система Linux;
  • переходник должен быть оснащен специальным драйвером;
  • на компьютере не должно быть установлено посторонних программ;
  • на компьютере не должно быть антивирусов;
  • компьютер не подойдет, если на нем: менее 1 гигабайта оперативной памяти, процессор с частотой менее 1 ГГЦ.

Первым делом на компьютере отключается антивирус и брандмауэр. Затем на него устанавливается программа для управления станочным прибором. При использовании переходника USB-LPT требуется установка драйвера и плагина. Программа запускается ярлыком на рабочем столе. Затем в самой программе выбирается станок с ЧПУ и источник управления. После установки и заготовки, программа запускается, и станки начинают обработку.

Если обработка не началась, или же она выполняется неправильно, в подготовке и подключении компьютера к агрегату была допущена ошибка. Следует пересмотреть действия, и выполнить их заново.

Способы решения проблем

Одной из основных проблем подключения ЧПУ станков через LPT является использование неподходящих программ. Если программное несовместимо с портом, то его нельзя будет использовать, даже если он обратится к драйверам.

В списке совместимых программ находятся:

  • K-cam;
  • Mach;
  • CNC Turbo.

В перечисленных программах управление рассчитано под интерфейс LPT.


Еще одна проблема заключается в работе схемы порта. Она функционирует через:

  • USB-разъем компьютера;
  • отдельный блок;
  • стабилизатора станка.

Если один из вариантов откажет, исправная эксплуатация схемы будет нарушена. Могут возникнуть перебои в работе, или же система перестанет функционировать. Чтобы правильно подключить инструмент к компьютерному устройству, следует руководствоваться стандартами RS-232. С их помощью можно произвести отдельную настройку коммуникационной программы и характеристик числового программного управления.

Система ЧПУ должна находиться в режиме передачи-приема команд. В противном случае оборудование может не работать, поскольку передача данных будет нарушена. На приборах заводского производства имеется инструкция по настройке агрегата.

Следующая проблема может возникать при сложной обработке. Сложная обработка предполагает большие объемы передачи управляющей программы, с которым память системы ЧПУ справиться не может. Для решения этой проблемы потребуется использование системы DNC. Она повышает технологические возможности устройства, и позволяет выполнять обработку заготовок с различными формами.

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

Начало:

Все началось с того что я случайно наткнулся на необычный сетевой фильтр от братьев наших китайцев. Это был обычный сетевой фильтр, но с управлением каждой розеткой отдельно и через программную оболочку с ПК по LPT-порту.

Меня заинтересовала сама идея управления мощными нагрузками с ПК. Тогда и было решено создать что-то подобное. Покопавшись в интернете, нашел много схем позволяющих реализовать подобную задачу. В итоге оставалось только произвести корреляцию собранного материала и объединение его в единое целое для создания рабочего прототипа схемы.

Несколько слов об LPT- порте. Данный порт имеет множество выводов. Нас будут интересовать только регистры данных, ибо управление ими просто и можно задавать на их выходах лог. «1» или лог. «0». Которые легко преобразуются в другие формы сигналов.

Рисунок 1 – LPT - порт

Схема:

За исходную была взята одна из найденных схем имеющая следующий вид:

Рисунок 2 – Вид исходной схемы

Как видно из приведенной схемы для гальванической развязки порта используется оптопара типа 4N25 (DD1), она обеспечивает защиту порта ПК.

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

В качестве исполнительного устройства выбран транзистор типа КТ 815Г (VT 1), но можно использовать и аналогичные ему марки. На его выход можно подключить любое исполнительно устройство.

В имеющуюся схему был внесен ряд изменений для повышения надежности её работы и безопасности.

Во-первых между 1-ым пином оптопары 4N25 (DD1) и пином LPT-порта был добавлен резистор на 390 Ом (R1), так же добавлен светодиод КИПД 21 (HL 2) с токоограничивающим резистором на 100 Ом (R3), для индикации наличия сигнала на конкретном выводе порта. Также был добавлен диод защиты 1N4007 (VD1) от обратного импульса катушки реле. Катушка реле это индуктивность, а индуктивность старается сохранять постоянным протекающий через нее ток. Поэтому при отключении реле катушка разрядится обратным выбросом высокого напряжения, которое может доходить до нескольких сонет вольт, а в мощных реле - до киловольт. Транзисторы от таких импульсов могут сгореть, а еще могут сгореть другие устройства, подключенные к блоку питания (импульсы проникают в питание), а при особой неудачливости может пробить оптрон и тогда сгорит вообще все, включая порты ПК. Поэтому данный диод не будет лишним.

Так же был добавлен светодиод для индикации КИПД 21 (HL1) наличия напряжения питания схемы c резистором R2 (1к, подбирается эксперементально в зависимости от напряжения питания схемы).

Итоговый вариант доработанной схемы приведен ниже:

Рисунок 3 – Вид доработанной схемы прототипа

Устройство и Печатная плата:

Было решено сделать устройство для управления 4-мя нагрузками.

Хотя сам порт позволят реализовать и больше. По приведенному принципу можно было реализовать и 8-мь устройств, но пока решено было остановиться на 4-х.

Реализовывать печатную плату, по опыту и ввиду простоты и наглядности, было решено в sprint layout 5 (далее SL5).
Сам процесс создания я расписывать сильно не буду, ибо при желании разобраться можно.

Для удобства устройство было разделено на несколько блоков. В данной статье описан основной блок устройства (управляющий), остальные блоки сильного интереса не представляют, ибо они могут меняться в зависимости от поставленных конкретных задач.

Ниже приведена блок схема всего устройства:

Рисунок 4 – Блок схема устройства


где:
ПК – персональный компьютер;
УУ – управляющее устройство;
БП – блок питания;
ИУ – исполнительное устройство.

В качестве блока питания (БП) был использован стандартный (готовый) блок питания с выходным напряжением 12В 2А.

Параметры исполнительного блока могут быть различными.
В моем варианте это блок реле на 12В и с контактными парами способными коммутировать 220В.

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

Рисунок 5 – Плата устройства в SL5

Плата и её описание приведена ниже на рисунке 6:

Рисунок 6 – Плата устройства в SL5

На плате видно, что присутствуют перемычки обозначенные красным цветом.
Вход с LPT-порта обозначен оранжевым с указанием нужных пинов.
Выход указан желтым цветом. На выходе четыре управляющих сигнала для реле или другого исполнительного устройства и общий для них провод.
Для Ввода питания был использован широко распространенный разъем, но можно использовать любой по необходимости.

Травление данной платы осуществлялось по так называемому «лазерно-утюжному» методу, который подробно описывать я не буду. При необходимости сведения о нем можно найти.

Управление:

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

Рисунок 7 – Интерфейс ПО

Программа имеет удобный и информативный интерфейс. Есть индикация включенного устройства. А так же кнопка, отключающая все устройства.

Программа находится на страничке посвященной .

Программа надежна и проста и свои функции выполняет. На момент написания статьи были задумки сделать WEB-интерфейс для управления. Что было бы более актуально и удобно ибо если данное устройство ставить на сервер, не имеющий визуальной оболочки, то это было бы более актуально.

Эпилог:

В итоге было создано полностью готовое и функционально устройство способно коммутировать мощную нагрузку, мощность ограничивается только параметрами исполнительных элементов. Так же количество управляемых элементов тоже варьируется от 1 до 8 и по желанию можно сделать столько, сколько необходимо для выполнения конкретной задачи.

PS: все картинки кликабельные с зумом

Недавняя реализация простой на FreeBSD, дала почву для развития этой темы. По сути это ее продолжение но немного отделенное по смыслу.
В статье описан способ мониторинга наличия напряжения 220 вольт в электросети через LPT порт.

Статья будет полезна тем, у кого есть ПК с LPT портом, UPS без возможности управления с ПК, желающим корректного завершения работы ОС, вырубания соседних машин и уведомления при отсутствии электричества.

Дано:

UPS без возможности подключения к ПК.
Сервер FreeBSD с LPT портом
Простейшая безопасная схема для подключения 220 к LPT =).
Программа lptmon

Пример работы:

Гдето работает сервер, внезапно пропадает электричество. Cервер и его друзья: конвертер, маршрутизатор, серверы и пр. продолжают работать от UPS.
Cервер, почуяв неладное отправляет об этом смс админу, пишет лог, ждет минуту (вдруг это 5ти секундный сбой) и вырубает другие серверы. Все корректно завершено, данные не утеряны, админ в курсе.
Если электричество появилось, но минута не прошла и сервер не успел вырубиться, он отправляет смс админу что все впорядке и продолжает работать.
Если сервер успел вырубиться, и электричество появилось например через час, то при появлении 220 сервер врубается (через опцию в биосе), загружается, врубает другие сервера через Wake on LAN (прим: настройка Wake on LAN в статье не описывается) и отправляет смс админу о том что все ок.

Инструменты:

FreeBSD + mysql (второе не обязательно, только для лога)
LPT порт
Паяльник, припой, канифоль, провода
Cхема мониторинга 220 (блок питания и оптрон)
программа lptmon

Суть:

У LPT порта есть 5 ног чтения (они же пины) 10,11,12,13 и 15, заметьте 14й тут нет!. Они являются входами и используются принтерами как тумблеры, при событиях например:
кончилась бумага,
принтер занят,
ошибка печати, итд итп.

Они то нам и нужны, к ним можно подключить 5 разных устройств.

Распиновка LPT порта

Под FreeBSD работает программа lptmon которая мониторит эти пины.
Если взять кусок проволоки и замкнуть любой из вышеперечисленных
пинов на землю. (земля - любой с 18 по 25 пин этого же LPT порта) то программа
будет считать что пин включился. Каждый пин, через программу lptmon, может вызывать 3 события при которых можно выполнять комманды или запускать скрипты:
1. Пин включился
2. Пин работает (срабатывает каждую секунду пока пин замкнут)
3. Пин выключился

Собстно lptmon выполняя комманды при событиях от пинов запускает скрипты которые пишут в базу лог срабатывания, текущее состояние устройств подключенных к lpt порту, сохраняет скриншоты с камеры на винт, отправляют смс если нада итд.

План действий

1. Собрать схему, подключить ее к LPT
2. Настроить lptmon
3. Настроить скрипты.

1. Сборка и подключение схемы

Т.к мы будем подключать 220 к порту, необходимо позаботиться о его безопасности. Для этого нужно использовтаь небольшое напряжение, для чего берем блок питания (я нашел на 5в, 2.5А от конвертера) подключаем его к оптрону через резистор и потом уже к LPT.
Оптрон, грубо говоря, работает по принципу: если есть достаточное напряжение и сила тока на 1 и 2 ногах то он замыкает 5 и 4 ноги. Если силы и напряжения не достаточно (когда БП выключен) то он не замыкает 4 и 5 ноги. А если более чем достаточные (например бп переглючил и он стал давать 120вольт) то оптрон сгарает и это не влияет на 4 и 5 ноги (т.е на вторую цепь).
Поскольку оптрон (4n35) штука защитная, имеющая две цепи не связанные между собой, он еще и призван умирать при силе тока большей чем 60мА (это 0.06А, а у моего БП аж 2.5А). То есть, силы тока 2.5А более чем достаточно для того чтоб он испугался и умер. По этому, для того чтобы ограничить силу тока используем резистор. В моем случае это 500ом. Резистор подбирается индивидуально под блок питания. Вычислить резистор можно формулой R=U/I где U - напряжение дающее БП (вольты), I - нужная оптрону сила тока (Амперы) для работы. Сила тока нужная оптрону для замыкания второй цепи лежит в пределах от 0 до 60 мА, Допустим решили подавать ему 1мА для чего расчитаем резистор: R=5в/0.01А, R = 500 следовательно нам нужен резистор 500ом. Можно взять и меньше, 400, 300 ом главное чтоб сила тока не получилась больше 60мА.

Для подключения к LPT был разобран старый шнур от принтера. В корпусе от шнура собраны гнездо для подключения БП и оптрон.
Вот что получилось:

Готовый lpt разьем и черный кабель от БП.


Оптрон с резистором, они внутри разъема


2. Настройка lptmon

Создаем директорию /usr/local/etc/lptmon
качаем архив lptmon.tar.gz с программой lptmon и примерами скриптов и распаковываем:

#mkdir /usr/local/etc/lptmon #cd /usr/local/etc/lptmon #fetch http://zgbox.ru/files/notes/lptmon.tar.gz #tar -xzvf lptmon.tar.gz

Зеркало:

313 26.3kb 2011-06-29 lptmon, скрипты, исходники

В архиве лежит lptmon.c - это исходники программы, писал я ее сам, это моя первая программа на С++ под FreeBSD как и в прочем первая на C =) так что если есть примечения, дополнения - в студию.
Также там лежит сам уже откомпелированный файл lptmon, можно юзать его, установив chmod 777 lptmon если необходимо, а можно откомпелировать исходники коммандой

Теперь программа lptmon будет стартовать с системой, также ее можно стартовать вручную как просто запустив./lptmon так и выполнив rc.d скрипт /usr/local/etc/rc.d/lptmon start или stop
В запуске нет ничего особенного, просто запускается /usr/local/etc/lptmoon/lptmon а при stop убивается коммандой killall lptmon
Но пока не нужно ничего запускать, сначала нужно настроить конфиг, об этом чуть пожже.
Директория testlpt, в ней лежит программа pr22 и ее исходник для тестирования lpt порта. Работает просто: запускается, получает состояния с 10 по 15 пинов и если какойто пин замкнут на землю то выдает pin10 on
у меня в данный момент 10й пин замкнут на что программа отвечает

#./pr22 pin10 on

Можно смело использовать в своих скриптах
Итак собсно пробуем замнкть один или несколько из 10,11,12,13,15 пинов на землю (на любой с 18 по 25 пин) и запустить./pr22
Если программа показывает что замкнутые пин(ы) on значит все ок, если нет - то я хз почему не видит ваш lpt порт, ковыряйте исходники %)

Переходим к настройке самого lptmon.
Итак, исходя из того, что у нас будет подключена схема к 12 пину то сконфигурим так чтоб при событиях 12 пина при старте и запуске выполнялись скрипты 12_start, 12_end.

Ложим конфиг lptmon.config из расспакованного архива в /usr/local/etc/lptmon.config и редактируем любимым редактором, у меня это mcedit от mc.

#cp lptmon.config /usr/local/etc/lptmon.config #mcedit /usr/local/etc/lptmon.config

Это сокращенный, необходимый только для этой статьи конфиг, подробный в архиве.

#конфиг файл lptmon.config программы lptmon #должн лежать в /usr/local/etc/ #в параметрах допускаются табы и пробелы #ковычки не допустимы! #каждый пин может вызывать 3 события (выполнять комманды) при смене состояния: #1. при переходе из пассивного состояния в активное #2. при работе в цикле (срабатыват каждый раз при опросе если пин # в активном состоянии) #3. при переходе из активного состояния в пассивное pin12enable = yes pin12onstart = /usr/local/etc/lptmon/220v/12_start pin12oncycle = /usr/local/etc/lptmon/220v/12_cycle pin12onend = /usr/local/etc/lptmon/220v/12_end

3. Настройка скриптов

Листинг 12_start

#!/bin/sh #скрипт срабатывает когда дали электричество #или загрузился комп #двумя запросами пишем лог в базу и устанавливаем статус on для устройства 220v sql="use $db_name ; insert into objects_hist (obname,status ,dt) values \ ("$obname ","on",now());" #echo $sql /bin/echo $sql | /usr/local/bin/mysql -h$db_host -u$db_user -p$db_pass sql="use $db_name ; update objects set status ="on", dtstart=now() \ where obname="$obname ";" /bin/echo $sql | /usr/local/bin/mysql -h$db_host -u$db_user -p$db_pass #отправляем смс админу о том что 220 дали или серв включился /usr/local/etc/lptmon/sms "220v ON "`date +%m.%d-%H:%M:%S`

листинг 12_end

#!/bin/sh #срабатывает когда отключилось 220 db_host=localhost db_pass= db_user=root db_name=security obname=220v #пишем в базу логи и состояние off устройства 220v sql="use $db_name ; insert into objects_hist (obname,status ,dt) values \ ("$obname ","off",now());" #echo $sql sql="use $db_name ; update objects set status ="off", dtend=now() \ where obname="$obname ";" #/bin/echo $sql | /usr/local/bin/mysql -h$db_host -u$db_user -p$db_pass #отправляем смс о том что нет электричества и ставим таймер на 60 сек #по завершению которого скрипт 12_cycle вырубит компы /usr/local/etc/lptmon/sms "220v OFF "`date +%m.%d-%H:%M:%S` echo 60 > /usr/local/etc/lptmon/220v/timer

Эти скрипты выполняют по два Sql запроса к mysql. Запросы обновляют текущее состояие устройства с именем 220v в таблице objects и пишут лог в таблицу objects_hist. Дамп структуры таблиц dump_security.sql также лежит в архиве.
Помимо этого скрипты отправляют смс.
Скрипт 12_end записывает цифру 60 в файл /usr/local/etc/lptmon/220v/timer для того чтобы потом скрипт 12_cycle который будет срабатывай каждую секунду пока нет электричества, брал эту цифру и отнимал по единице. Когда станет 0 он запустит программу wudown которая вырубит по сети комп с windows (ip 192.168.97.52) и вырубит сервак коммандой shutdown -p now.
листинг 12_cycle

#!/bin/sh path=/usr/local/etc/lptmon/220v/timer timer=`cat $path ` timer=`expr $timer - 1`; if [ $timer -gt 0 ]; then echo $timer > $path echo $timer else echo "shuttdowning..." /usr/local/bin/wudown 192 .168 .97 .52 1209 shutdown shutdown -p now fi

размещено: 2011-06-29,
последнее обновление: 2011-08-21,

Управление выходами по заранее заданному сценарию (скрипту)

Программа управляет выходами LPT порта компьютера в соответствии с заранее заданным сценарием. В версиях, начиная с 0.2.9 есть возможность управления устройствами через COM порт (или USB-COM) с управлением до 32 выходов.Сценарий (скрипт) представляет собой текстовый файл (ASCII или Unicode), в котором последовательно записаны управляющие команды и значения, которые следует вывести в порт.
Программа идеально подходит для управления панелью из двенадцати светодиодов , непосредственно подключенных к порту.

Кроме того, благодаря WndLpt LPT порт может быть использован для управления шаговым двигателем, блоками реле, неответственными процессами, которые управляются дискретными сигналами.

Светомузыка через LPT-порт

К LPT-порту подключены 8 или 12 светодиодов?

— В таком случае легким движением руки WndLpt превращается... в светомузыкальюную установку. В этом режиме программа записывает звук с выбранного источника звуковой карты и превращает его в светомузыку. Рекомендуется выбирать источник «Стерео микшер» или «Моно выход».

Вам по душе плагины к плеерам Winamp/AIMP2/WMP?

— Да, WndLpt умеет работать как плагин визуализации для трех популярнейших плееров Winamp, AIMP2, WMP! При этом светомузыка может работать как от звука плеера, так и от любого доступного источника звуковой карты.

Интерактивное управление выходами LPT порта с помощью клавиатуры или мыши

— На вкладке «Manual » изображена схема клавиатуры; на ней отмечены кнопки, которыми можно пользоваться для управления светодиодами. Впрочем, нажимать на них можно и мышью.

— На вкладке «Pins » находятся 12 флажков (Out pins), соответствующих 12-ти выходным пинам LPT-порта. Кроме того присутствуют 5 дополнительных флажка (Input pins) не доступных для изменения. Они являются индикаторами логического уровня, подаваемого на пять входных пинов LPT порта. Правее изображен и сам порт. Красным цветом показаны пины, на которые подано напряжение соответствующее уровню логической единицы. Синим — соответствующее уровню логического нуля. Бледн ым цветом отображены входные пины; когда к ним ничего не подключено — они находятся в состоянии логической единицы. Бел ым цветом показаны «общие» пины.

Состояние выходных пинов можно менять кликая мышкой либо по флажкам, либо прямо по пинам схематично изображенного LPT порта.

Примеры управления светодиодами

О том, как подключить 12 (или 8) светодиодов к LPT порту читаем в статье «Подключение двенадцати светодиодов к LPT порту ».

О том, как заставить WndLpt управлять светодиодной иллюминацией рассказано в статье «Светодиодная иллюминация с помощью WndLpt ».


Быстрый старт

Работа WndLpt по сценарию

1. Запустить исполняемый файл wndlpt.exe из главного меню или папки с программой.

3. Сценарий будет автоматически откомпилирован и запущен. Можно наблюдать за светодиодами или другим устройством, подключенным к LPT порту.

Работа WndLpt в качестве самостоятелной светомузыки

1. Запустить исполняемый файл wndlpt.exe.

2. Выбрать вкладку «Music».

3. Клик левой или правой кнопкой мыши по изображению визуализации приводит к смене эффекта.

4. Клик левой кнопкой по картинке панели светодиодов меняет предполагаемый цвет светодиодов. Правой кнопкой — расположение светодиодов.

Работа WndLpt в качестве плагина визуализации Winamp, AIMP2, WMP

1. Установить WndLpt Plugin for Winamp/AIMP2/WMP.

3. Запустить плеер и активировать плагин визуализации WndLpt.

Прочее

* При запуске без параметров командной строки программа выполняет скрипт autorun.txt, в случае, если таковой присутствует в папке исполняемого файла.

* Окно программы можно скрыть (фоновый режим) и обратно показать — эти действия можно выполнить при помощи контекстного меню иконки, появляющейся в панели задач . Скрытие и показ окна могут быть заложены в сценарии.

* Можно выполнить перезапуск сценария (в любое время) при помощи функциональной клавиши F6 или соответствующей кнопки в системном меню, при этом файл сценария будет считан и откомпилирован заново.

* Отладчика открывается по кнопке F12.

* Исправлено: Stroboscope длина паузы обновляется при изменении с клавиатуры

* Новое: WndLpt SDK

* Новое: Команда: random call Function1 Function2 Function3 ; вызов произвольной функции

* Новое: Команда: random jump Label1 Label2 Label3 ; переход на произвольную метку

* Новое: Команда: 00??00??00?? ; ? - бит, устанавливаемый случайным образом

* Новое: Команда: ? (3,4,7,8,11,12) ; биты, устанавливаемые случайным образом

* Улучшено: Команда: call Func1 Func2 Func3 Func4 последовательно вызывает указанные функции

* Новое: Библиотека wndlpt_remap.dll для переназначения пинов порта (шаблон для C++ и Delphi)

* Новое: Проект wndlpt_gate как шаблон программы (C++, VB.NET) использующей WndLpt для прямого доступа к LPT порту

* Новое: Stepdrive для управления с помощью произвольных систем

* WndLpt plugin: Добавлена поддержка AIMP3

* Утилиты LPT Buttons, Stroboscope, EasyDrive работают в Windows Vista/Seven/7

* LPT Buttons: добавлена возможность редактирования положения кнопок

* EasyDrive: добавлены кнопки для ручного выполнения шагов, добавлены новые системы управления

* Исправлены надписи «Pin 2, 3, 4» на вкладке «Pins»

* Исправлена работа мышкой с кнопками виртуальной клавиатуры

### Добавлены новые утилиты ###

* LPT Buttons - новое средство для управления пинами порта

* Stroboscope - удобное управление стробосткопом

* EasyDrive - управление шаговым двигателем

* Реакция на 5 входных сигналов LPT порта «test i 1»

* Реакция на 12 выходных сигналов LPT порта «test q 3»

* Реакция на состояние пинов порта "test pin 12"

* Синтаксис: test

* Ветвления по командам jz , jnz

* На вкладке «Manual» флажок «Arrows like 1, 2, 3, 4» - стрелки работают как кнопки 1, 2, 3, 4

* На вкладке «Manual» флажок «Not fix digital buttons» - меняет логику работы цифровых кнопок

* Эмуляция часов с минутной и часовой стрелкой «cmd enable_clock 1»

* Установка нового состояния числом в десятичной системе $ 95

* Установка нового состояния числом в шестнадцатеричной системе $ 5Fh, $ 0xFED

* Добавлена настройка степени фильтрации (вызывается правым кликом по слову Filter)

* Добавлены ярлыки для запуска плееров в Windows Vista и 7

* Добавлены ярлыки для помещения в автозапуск (папка WndLpt => Links в меню Пуск )

* Добавлены исполняемые файлы для работы в Windows 98/ME (wndlpt98.exe, vis_wl98.dll, lptport98.exe)

* Добавлена новая утилита для управления стробоскопом (stroboscope.exe)

* Новые вкладки: Manual, Pins, Settings

* Новая команда "cmd enable_music 1"

* Новая команда "cmd music_preset [+num | -num | num]"

* Новая команда "shift [=num | +num | -num]"

* Доработана команда "cmd switch_to_music"

* Доработан плагин визуализаци vis_wndlpt.dll для WMP 11 (Windows Media Player)

* wndlpt.exe является загрузчиком для vis_wndlpt.dll

* Вкладка Manual для управления выходами с клавиатуры

* Вкладка Pins для управления выходами с помощью мыши

* Вкладка Settings для выбора базового адреса LPT-порта

* Добавлен плагин визуализаци vis_wndlpt.dll для Winamp 5

* Добавлен плагин визуализаци vis_wndlpt.dll для WMP 10 (Windows Media Player)

* Добавлен плагин визуализаци vis_wndlpt.dll для AIMP2

* Файл vis_wndlpt.dll одинаков для всех плееров.

* Добавлен выбор источника звука для светомузыки

* Добавлена автоподстройка светомузыки под уровень звука

* Добавлено переключение режимов Моно/Стерео

* Добавлена фильтрация

* Добавлена возможность изменения количества светодиодов

* Добавлена визуализация музыки — светомузыка

* Добавлена картинка, отображающая ожидаемое состояние светодиодов

Просмотров