Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Удосконалений варіант програмного забезпечення системи керування. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Радіоаматор-конструктор Описано зміни та доповнення, які автор статті вніс у програмне забезпечення "аматорської" системи управління "розумним будинком", описаної ним у [Л]. Насамперед, виправлені помилки, що впливають на стабільність роботи модуля ihsc.exe. Щоб підвищити стійкість роботи всієї системи, було створено процес контролю (модуль ihsc_guard.exe), який починає працювати автоматично при запуску ihsc.exe. При збої основного модуля відбувається автоматичний перезапуск. У новій версії програмного забезпечення веб-сервер навчився отримувати інформацію від браузера. Атрибут "action" веб-форми повинен містити скрипт, який буде переданий серверу та виконаний при натисканні на екранну кнопку на сторінці HTML. Доступ до системи через Інтернет здійснюється за допомогою андроїд смартфону з браузером Mozilla Firefox. Було оновлено і програму мікроконтролера для універсальних пристроїв UD. Зміни зачепили компонент системи "Одиночна вихідна лінія управління". Тепер цей компонент може мати датчик, що контролює фактичну подачу напруги на навантаження, який може бути зібраний, наприклад, схемою, зображеною на малюнку. За допомогою нього можна контролювати справність силової частини пристрою або плавлення вставки. При створенні конфігурації пристрою значення поля "Датчик напруги: Антидребезг 0,1 с * на..." для цього датчика потрібно встановити рівним 30 (3 с), щоб уникнути помилкових спрацьовувань.
До скриптової мови додано оператор exit, який зупиняє виконання поточного скрипту. Наведу приклад, як можна розширити можливості описаного в [Л] пристрою № 12, змінивши набір скриптів. Його можна завантажити у працюючий пристрій, відкривши на графічному терміналі пункт меню "Сервіс→Редактор скриптів...". Навчимо пристрій № 12 вмикати світильник, якщо протягом хвилини після його автоматичного вимкнення спрацював датчик руху. Це дасть можливість знову увімкнути освітлення, наприклад, помахавши рукою, якщо до цього він більше 15 хв не був помічений датчиком руху, який і вимкнув освітлення, вважаючи, що в кімнаті нікого немає. Набір скриптів, що вирішують це завдання, наведено у табл. 1. Таблиця 1 Зауважу, що перевіряти стан датчика руху не доводиться. Зазвичай імпульс цього датчика триває лише кілька секунд - будь-який перепад його рівня приймаємо за наявність руху. Розглянемо ще два приклади із використанням датчика руху. Припустимо, на вході в будинок встановлені два двері - зовнішня та внутрішня. Вони розташовані на невеликій відстані одна від одної, тому при вході або виході з будинку існує відрізок часу, протягом якого обидві двері відчинені одночасно. Над зовнішніми дверима встановлений вуличний світильник. У передпокої встановлено стельові світильники, керовані деяким пристроєм №4. Необхідно зробити так, щоб у темний час доби при виході з будинку включався на кілька хвилин вуличний світильник, а при вході в будинок включалося освітлення передпокою. Це завдання вирішує набір скриптів, наведений у табл. 2. Таблиця 2 Інформація про поточну освітленість має пристрій № 10 - домашня метеостанція, оснащена датчиком освітленості. Пороги освітленості, при якій потрібно вмикати або вимикати світильники, будуть різними для вулиці та передпокою, оскільки всередині приміщення природне освітлення завжди нижче, ніж зовні. Звичайні світильники з вбудованими датчиками руху в даному випадку непридатні, тому що конфігурація приміщення і можливі місця розміщення світильників не дозволяють їх датчикам спрацьовувати в процесі відчинення дверей. Через це виникає дискомфорт: перший крок доводиться робити у темряві, тільки після цього датчик руху увімкне світло. А потрібно домогтися, щоб він вмикався ще під час відчинення дверей. Пристроєм, що створюється, номер 3. До нього підключимо два геркони - це датчики відкритих дверей (зовнішньої і внутрішньої), заховані всередині дверної коробки. Ще підключимо кнопку дзвінка. Керувати пристрій буде зовнішнім світильником та дзвінком. Змінна step приймає значення 1, коли пристрій припускає, що людина виходить із дому, або значення 2, коли вона входить до будинку. Змінна still призначена для блокування автоматичного увімкнення освітлення. Наприклад, якщо потрібно подивитися у вікно в сутінки або не відчиняти двері небажаним гостям. Змінна dark містить виражений в умовних одиницях рівень зовнішнього освітлення. Чим вона вища, тим менше значення цієї змінної. Оскільки необхідний поріг освітленості вибирають експериментально, немає необхідності виражати її в стандартних одиницях. Сам датчик є фоторезистор, підключений до АЦП. Через 2 хв після запуску пристрою змінної dark надається значення поточного рівня освітленості, отримане від пристрою № 10 (метеостанції). Надалі оновлення значення цієї змінної відбувається через кожні 15 хв. Локальне зберігання параметра, що повільно змінюється, дозволяє прискорити виконання скрипта, так як не доводиться щоразу витрачати час на опитування сусіднього пристрою. А затримка двох хвилин потрібна для того, щоб метеостанція встигла виміряти освітленість, якщо живлення на всі пристрої системи подано одночасно. Скрипт 1 пристрій виконує при зміні стану герконів зовнішньої та внутрішньої дверей. Напрямок руху визначається виходячи з того, які двері відчинені раніше. Недолік цього способу полягає в тому, що якщо двері забули зачинити, то прийняте рішення буде неправильним і освітлення автоматично не ввімкнеться. Скрипт 2 пристрій виконує при натисканні кнопки дзвінка. На завершення розглянемо завдання автоматизації освітлення у ванній кімнаті, туалеті чи іншому підсобному приміщенні. Набір скриптів для її вирішення наведено у табл. 3. З причин, описаних вище, лише одним датчиком руху обійтися не вдалося. Потрібно було також встановити датчики відчинених дверей. Таблиця 3 Змінна t приймає значення 0, якщо двері в приміщення зачинені і там немає нікого; значення 1 - якщо відчинилися двері і людина заходить до приміщення; значення 2 - якщо він увійшов до приміщення та зачинив за собою двері; значення 3 - якщо відчинилися двері і людина виходить із кімнати. Алгоритм правильно працює, якщо весь цикл виконують без помилок, тобто двері не забувають відчиняти і зачиняти. Якщо ж людина вийде з кімнати і не через 6 хв освітлення буде вимкнено, але змінна t залишиться рівною 3 в очікуванні, що двері зачинять. Якщо через деякий час у відкриті двері увійде людина, спрацює датчик руху і змінній t буде присвоєно необхідне значення 1 . Можна удосконалити цей алгоритм, обнуляючи змінну t, якщо протягом декількох хвилин після закривання дверей у приміщенні не було зафіксовано руху. Це відновить нормальну роботу пристрою після того, як людина залишить відчинені двері, увійшовши до кімнати, а через деякий час вийде і зачинить за собою двері. Завдяки датчику відчинених дверей освітлення включається моментально під час її відчинення. Але оскільки датчик руху реагує тільки на присутність людини всередині кімнати, освітлення не включається при проході повз двері, якщо з якоїсь причини вона залишена відчиненою. При використанні стандартних світильників із вбудованими датчиками руху такого ефекту досягти не вдалося. Особливо у ванній кімнаті та в туалеті. Справа в тому, що дуже важко встановити оптимальну тривалість роботи світильника. Якщо вона занадто мала, людині доводиться постійно рухатися, щоб продовжити його роботу, а якщо занадто велика, то після виходу з кімнати освітлення тривалий час залишається марним. Для перевірки скриптів на синтаксичні помилки при завантаженні в контролер можна користуватися вбудованим у графічний термінал редактором скриптів ("Сервіс→Редактор скриптів..."). в якому є змінні, їх потрібно створити, а при використанні значень параметрів компонентів системи сусідніх пристроїв програма запропонує ввести значення вручну, імітуючи надсилання запиту та отримання значення потрібного параметра. У програми з'явилися також можливості, які практично поки не застосовувалися, але доступні для тестування: - можливість запуску сторонньої програми синтезу звуку. Для цього в полі, де раніше вказували ім'я wav-файлу для програвання, потрібно ввести командний рядок, що запускає додаток;
Допрацьоване програмне забезпечення можна завантажити з ftp://ftp.radio.ru/pub/2017/02/ihsc.zip. література
Автор: М. Антонов Дивіться інші статті розділу Радіоаматор-конструктор. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Машина для проріджування квітів у садах
02.05.2024 Удосконалений мікроскоп інфрачервоного діапазону
02.05.2024 Пастка для комах
01.05.2024
Інші цікаві новини: ▪ Глобальне потепління прискорює цикл опадів Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Медицина. Добірка статей ▪ стаття Про свята простота! Крилатий вислів ▪ стаття Навіщо середньовічні дами носили хутра з куниць та горностаїв? Детальна відповідь ▪ стаття Злив зрідженого газу групові резервуарні установки. Типова інструкція з охорони праці ▪ стаття Охороняє електрику. Енциклопедія радіоелектроніки та електротехніки ▪ стаття Два передавачі на 144 МГц. Енциклопедія радіоелектроніки та електротехніки
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |