Разработка → Ультра бюджетный умный дом

14 января 2016 в 13:10

https://pp.vk.me/c627319/v627319429/31041/cuueZnPAm8g.jpg

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

Нужно всего лишь иметь любой старенький компьютер, который наверняка пылится у вас в гараже или вы собираетесь нести его на помойку и немного прямых рук и терпения!

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

Итак, я рад представить мою первую разработку — приложение Smart LIght LPT, которое поможет вам включать свет где угодно и откуда угодно, задавать задержку выключения после срабатывания датчиков (выключателей или объемных), подсчитать потребленную электроэнергию, реализовать дверной звонок — по которому вы увидите кто пришел или приходил, просматривать фото и видео с подключенной WEB камеры в том числе после срабатывания любого датчика, да и много чего еще.

Начнем с описания программы.

Итак, первая версия — 1.0.1. В архиве собственно само приложение — smartlight101, а также драйвер для работы LPT порта — install_vicx.exe. Его нужно установить перед запуском программы.

Основные возможности и системные требования Smart Light LPT:

Операционная система: 9X/ME/2000/XP/2003/Vista/7/8/8.1/10; RUS 32х разрядные.

Программа использует LPT-порт для выборочного включения/выключения до 8 сетевых или любых других электроприборов пятью датчиками и (или) непосредственно кнопками управления с главного окна.

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

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

Первая линия и первый датчик снабжена функцией «Ночной режим», который позволяет установить время, при котором будет работать эта линия — например уличное освещение с 22:00 до 07:00. В остальное время срабатывание этого датчика будет игнорироваться.

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

Функция «Дверной звонок» — позволяет выбрать любой датчик и воспроизводить звуковой файл, находящийся в корне диска c:\bell.wav.

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

Раздел «Статистика» позволяет проследить объем потребленной электроэнергии на первой линии (например, уличным прожектором) с подсчетом указанной мощности подключенной нагрузки. Данные по отработанным фактически часам и нагрузке записываются в ini файл.

В следующих версиях будет реализовано включение по таймеру (расписанию), а также работа по подготовленному сценарию (скрипту) — включение/выключение, как линий, так и включение/выключение воспроизведения заданных wav-файлов.

* Если у вас возникнут вопросы или какие-либо предложения-пожелания — пишите. Все будет обязательно рассмотрено, а в программу внесены необходимые изменения.

Используемые файлы.

smartlightxxx.exe — файл программы;
Settings.ini — настройки программы;
Settings2.ini — настройки программы (После редактирования настроек, ОБЯЗАТЕЛЬНО установить на этот файл атрибут READ ONLY (только для чтения);
В папке «Драйвер LPT» install_vicx.exe — драйвер LPT

Работа программы

Запуск. Согласно схеме (Рис. 1.0) программа может включать / выключать от 1 до 8 электроприборов (внешних устройств) и считывать состояние 5 датчиков. Внешние устройства при помощи 8 линий и 8 блоков управления внешними устройствами (БУВУ, Рис. 1.1) подключаются к контактам разъёма LPT.

Линии могут включаться несколькими способами: вручную, нажатием линейных кнопок панели индикации; автоматически при срабатывании заданных датчиков. Датчиками могут служить любые приборы, которые в дежурном режиме имеют на выходе разомкнутый контакт, а при срабатывании — замкнутый.

ВАЖНО! Требование к датчикам: ни в коем случае на контактах не должно быть НИКАКОГО напряжения. Это могут быть просто механические контакты или, например, такие датчики движения, как CROW SRP-600 Colt XS SRP-plus.

После запуска программы читается файл настроек Settings.ini — настройки программы.

Settings2.ini и элементы окна принимают заданные пользователем свойства и состояния.

https://pp.vk.me/c627319/v627319429/3105d/-7sOkEMYlqg.jpg

Настройки

Окно Настройки, где устанавливаются все настраиваемые параметры и свойства программы, записывает все параметры в два ini фала. Для запоминания (записи в ini-файл) изменённых настроек используются кнопки Сохранить или OK.

Выход

Закрыть (выгрузить) программу можно при помощи стандартной системной кнопки в верхнем правом углу окна.

Общая принципиальная электрическая схема

Для работы программы компьютер обязательно должен иметь свободный LPT Port, для подключения линий и датчиков используется стандартный 25-контактный разъём параллельного порта или отдельные контакты нужного диаметра. Период опроса состояния контактов 10 — 13 и 15 (датчики) составляет 100 миллисекунд.

К контактам 1 — 9 LPT Port можно подключить 8 несложных блоков управления внешними устройствами БУВУ1 — БУВУ8 (Рис.1.1), которые будут управлять восемью электроприборами. Для включения прибора на базу транзистора VT1 с LPT поступит напряжение +4 В, транзистор откроется и на обмотку реле К1 будет подано +12 В, взятое с блока питания компьютера. Реле сработает и своими замкнутыми контактами К1.1 подаст на розетку XS3 переменное напряжение сети ~220 В. В розетку включаются необходимые внешние силовые устройства. Тумблер SA1 в цепи питания реле, коммутирующего 220 вольт, не обязателен, он служит для включения/отключения БУВУ. В качестве реле К1 используется реле РЭС10 (РС4.524.303 или РС4.529.031-04). Ток потребления: 12 В — 80 мА, через контакт LPT — 5 мА. При большой длине линии, когда работа схемы становится неустойчивой, можно попробовать уменьшить сопротивление R3 до 210 Ом.

Конфигурация БУВУ может быть на усмотрение пользователя, нагрузка (электроприборы) может подключаться не через встроенные в БУВУ розетки, а через конты «под винт» — всё зависит от подключаемых электроприборов.

+12 В можно взять с одного из разъемов блока питания компьютера, припаяв свои провода к торцу контакта:

Внимание! На все контакты разъемов и реле после пайки обязательно нужно одеть изолирующие ПХВ-трубки («кембрики»). Особая аккуратность необходима при пайке и изоляции контактов реле К1, т.к. на них напряжение 220 В соседствует с проводами, идущими на LPT.

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

Адрес LPT можно посмотреть в BIOS Setup или в Панель управления — Система — Устройства — Порты COM и LPT. Используется порт по умолчанию.

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

Буду благодарен, если вы дадите мне обратную связь.

Огромное Спасибо за ваше участие!

https://habrahabr.ru/sandbox/99429/