Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Усовершенствованный вариант программного обеспечения системы управления. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору

Комментарии к статье Комментарии к статье

Описаны изменения и дополнения, которые автор статьи внес в программное обеспечение "любительской" системы управления "умным домом", описанной им в [Л].

В первую очередь, исправлены ошибки, влияющие на стабильность работы модуля ihsc.exe. Чтобы повысить устойчивость работы всей системы, был создан контролирующий процесс (модуль ihsc_guard.exe), который начинает работать автоматически при запуске ihsc.exe. При сбое основного модуля происходит его автоматический перезапуск.

В новой версии программного обеспечения веб-сервер научился принимать информацию от браузера. Атрибут "action" веб-формы должен содержать скрипт, который будет передан серверу и выполнен при нажатии на экранную кнопку на html-странице. Доступ к системе через Интернет производится с помощью андроид-смартфона с браузером Mozilla Firefox.

Была обновлена и программа микроконтроллера для универсальных устройств UD. Изменения коснулись компонента системы "Одиночная выходная линия управления". Теперь этот компонент может иметь датчик, контролирующий фактическую подачу напряжения на нагрузку, который может быть собран, например, по схеме, изображенной на рисунке. С помощью него можно контролировать исправность силовой части устройства или плавкой вставки. При создании конфигурации устройства значение поля "Датчик напряжения: Антидребезг 0,1 с * на..." для этого датчика нужно установить равным 30 (3 с), чтобы избежать ложных срабатываний.

Усовершенствованный вариант программного обеспечения системы управления
Рис 1. Схема датчика

В скриптовый язык добавлен оператор 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-файла для проигрывания, нужно ввести командную строку, запускающую стороннее приложение;
- ТСР-сервер предоставляет доступ к сообщениям, которыми устройства обмениваются по системной шине. Выбрать порт можно в пункте меню "Сервис→Настройка". При подключении к ТСР-серверу будет запрошен пароль Администратора (по умолчанию 1234).

Доработанное программное обеспечение можно скачать с ftp://ftp.radio.ru/pub/2017/02/ihsc.zip.

Литература

  1. Антонов М. "Любительская" система управления "умным домом". - Радио, 2016, № 6, с. 31-35; № 7, с. 33-37.

Автор: М. Антонов

Смотрите другие статьи раздела Радиолюбителю-конструктору.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Оптимальная продолжительность сна 15.07.2025

Вопрос о том, сколько нужно спать, чтобы чувствовать себя отдохнувшим, волнует миллионы людей по всему миру. Общепринятая рекомендация - восемь часов сна - давно стала стандартом, однако недавние исследования ставят под сомнение ее универсальность. Оказалось, что продолжительность здорового сна зависит не только от биологии, но и от культурных и социальных условий. Американские ученые провели масштабное исследование, охватившее около пяти тысяч человек из двадцати стран. Полученные данные выявили значительные различия в продолжительности сна в зависимости от места проживания. Например, в Японии средний человек спит всего около шести часов с небольшим, тогда как во Франции этот показатель приближается к восьми. Канадцы, в свою очередь, в среднем спят по семь с половиной часов. Один из руководителей исследования, профессор социальной и культурной психологии Стивен Хайне из Университета Британской Колумбии, подчеркивает, что универсального стандарта сна не существует. По его словам, ...>>

Компьтерная оценка состояния культурных растений 15.07.2025

Современное сельское хозяйство переживает технологическую революцию, и одной из ключевых задач становится точная диагностика состояния растений. Устойчивость к климатическим изменениям, экономное использование ресурсов и повышение урожайности требуют новых подходов. Исследователи из Еврейского университета в Иерусалиме предложили инновационное решение, объединив возможности дронов и искусственного интеллекта. Традиционные методы дистанционного анализа в агросекторе сталкиваются с ограничениями: они не всегда способны точно определить комбинированный стресс у растений, возникающий, например, при одновременном дефиците влаги и азота. Чтобы преодолеть это, израильские ученые оснастили дроны сложной системой сенсоров - гиперспектральными, тепловыми и RGB-камерами. Эти камеры не просто фиксируют изображение, но и собирают обширные данные о состоянии листвы, позволяя "увидеть" скрытые признаки стресса, незаметные невооруженному глазу. Для обработки полученных изображений и сигналов был ...>>

Особенности восприятия старости 14.07.2025

Понятие старости зачастую оказывается субъективным и подвижным: то, что кажется "преклонным возрастом" в юности, в зрелости уже воспринимается иначе. Исследования показывают, что границы старения не столько определяются биологическим возрастом, сколько зависят от психологического восприятия и отношения к собственному телу и уму. Недавнее исследование, проведенное в США среди двух тысяч человек старше сорока лет, позволило ученым определить, в каком возрасте американцы начинают ощущать себя "старыми". Оказалось, что чувство старения в среднем наступает уже к 47 годам, а заметная обеспокоенность внешними возрастными изменениями - примерно к пятидесяти. Это тот момент, когда люди чаще начинают замечать морщины, снижение тонуса кожи и общую усталость. На фоне этих внешних изменений многие участники признались, что испытывают тревогу по поводу когнитивного спада. Более половины респондентов признались, что хотя бы раз в день забывают, что собирались сказать, а четверть - теряют мысль ...>>

Случайная новость из Архива

1000-ядерный процессор KiloCore 19.06.2016

Исследователи из Калифорнийского университета в Дейвисе (США) разработали 1000-ядерный процессор KiloCore. Корпорация IBM изготовила его, используя 32-нм технологический процесс.

Каждое ядро процессора KiloCore способно работать независимо и выполнять собственную микропрограмму. "Это намного эффективнее, чем подход, который используется в процессорах графических ускорителей. Идея заключается в том, чтобы разбить приложение на множество подпрограмм, каждая из которых может быть запущена параллельно на отдельном ядре. Таким образом, будет достигнута высокая производительность при невысоком потреблении энергии", - сообщили авторы.

Поскольку каждое ядро работает на собственной тактовой частоте, оно может быть отключено для экономии энергии. Максимальная тактовая частота ядер ограничена 1,78 ГГц. Ядра пересылают информацию друг другу напрямую. Нет никакой общей памяти, которая могла бы стать узким горлышком при обработке данных", - рассказал автор архитектуры Брент Боненштьех (Brent Bohnenstieh).

KiloCore может быть и не является первым в мире 1000-ядерным процессором. Но его авторы утверждают, что ему нет равных в плане эффективности.

Как утверждают разработчики, KiloCore обладает 621 млн транзисторами и способен выполнять 1,78 трлн команд в секунду, затрачивая 0,7 Вт. В качестве источника питания можно использовать батарейку формата AA. KiloCore более, чем в 100 раз эффективнее выполняет команды по сравнению с современным процессором для ноутбука.

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

Для удобства программирования чипа исследователи разработали соответствующий компилятор и инструмент для автоматического распределения программ по ядрам.

Другие интересные новости:

▪ Ночное зрение бабочек

▪ Вакцинирование растений вместо использования пестицидов

▪ Испытан новый марсоход

▪ Опасность слишком долгого сна

▪ 4 млрд. абонентов GSMA

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Усилители низкой частоты. Подборка статей

▪ статья Мы живем, под собою не чуя страны... Крылатое выражение

▪ статья Отчего кровь свертывается? Подробный ответ

▪ статья Прессовщик изделий строительной керамики. Типовая инструкция по охране труда

▪ статья Изготовление сварочного трансформатора. Энциклопедия радиоэлектроники и электротехники

▪ статья Электросварочные установки. Установки электрической сварки с применением давления. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2025