Разработка программно–аппаратного комплекса автоматизированной системы

Разработка и внедрение автоматизированной системы. Анализ обеспечения основного маршрутизатора. Особенность протокола взаимодействия беспроводных устройств. Характеристика графического веб-интерфейса. Тестирование аппаратного и программного комплексов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 05.12.2014
Размер файла 45,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

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

Причиной роста популярности дистанционных и автоматизированных систем, к которым относятся, в том числе, системы класса «умный дом» (или «интеллектуальный дом», от англ. digital home или smart home), несомненно является стремление человека обеспечить комфорт себе и своим близким.

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

Дополнительную привлекательность для потребителя формирует устойчивость подобного рода домов к возможным авариям, связанным с подачей электроэнергии, а также снижение расходов на электроэнергию. Так, «умный дом», оснащенный противопожарной системой безопасности, определит возгорание и начнёт пожаротушение при минимальных потерях, в том числе и в отсутствие хозяина дома, то есть при минимальном вмешательстве человека.

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

Рассмотрим пример. Ранним утром Вы просыпаетесь от легкой вибрации в наручных часах, на которых горит диодное табло: 7:23. Постепенно зажигается свет над вами в настенных светильниках, включается едва слышно радио. По пути в ванную комнату, свет плавно зажигается и потухает вслед за вами. 7:30, включилась кофеварка, варится кофе, звук из радиоприемника переходит из комнаты в ванную, из ванной на кухню -- все время вслед за вами. На стене при Вашем приближении включается планшет отображающий на экране погоду,последние сообщения электронной почты, уровень бензина в автомобиле, список дел на сегодня, важными событиями. Одно нажатие - и он покажет информацию о температуре за окном, прогнозе на сегодняшний день, а также о температуре пола, количестве потребляемой энергии в сию секунду, температуру в каждой комнате и состояние остальных датчиков. Еще одно нажатие и включится “активный свет” на кухне и подсветка в шкафу в комнате, в котором висит костюм, который Вы собираетесь сегодня надеть. Вы быстро позавтракали. В 7:50 завелась машина, оповестив о готовности сообщением на планшете. Выходите из квартиры, напоследок одним нажатием радио-выключателя гаснет свет во всей квартире, а еще через 30 минут отключаются все второстепенные потребители (телевизор, кофеварка, плита), оповестив об этом по электронной почте или через Twitter[8]. Вы возвращаетесь вечером домой с работы, температура в квартире к этому времени приближается к установленной ранее Вами, дом приветствует при входе в квартиру теплым домашним светом, уютом и оповещениями: кто звонил, сколько сообщений в почтовом ящике и что идет в ближайшее время по телевизору.

Понятие “Умный дом” в последнее время стало часто употребляться в современном обществе. Если еще 10-15 лет назад “Умный дом” был непозволительной роскошью для большей части населения, то сейчас “Умный дом” медленными, но верными шагами приходит в наши дома. Это уже и умная бытовая техника (например роботы-пылесосы Roomba, Scooba, Veero, Dirt Dog от компании iRobot, Iclebo от компании Yujin Robot, автоматически определяющие площадь очищаемого помещения, маршрут движения и необходимость подзарядки), это и управляемые розетки со счетчиками потребления, это зональное освещение в квартирах, это универсальные программируемые пульты управления, которые заменяют собой гору пультов управления для каждого отдельного устройства (телевизор, видеомагнитофон, аудиосистема, домашний кинотеатр, системы кондиционирования и т.д.), это встраиваемая техника, встраиваемые пылесосы и многое другое. В нашей жизни все больше появляется автоматики и автоматизации.

Вспомните, как в детстве или юности мы видели фильмы в кино или по телевизору с участием «умных домов» - они разговаривали с хозяином квартиры или дома, заказывали продукты через сеть и определяли их свежесть, варили кофе и чай, убирались. Они ставили нужную вам температуру воды и даже подбирали гардероб на один день исходя из метеорологических данных на день и плана вашего дня, зачитывали вам все ваши сообщения, начиная от почты и до мобильного телефона, звонили вашим друзьям, коллегам, родственникам и выводили их изображение на проектор или даже демонстрировали 3D-голограмму. Они показывали, кто приходил к вам в ваше отсутствие и даже проецировали видео-изображение, сообщали в соответствующие коммунальные службы о том, что сверху у соседа протек кран и вероятность затопления трех-четырех этажей при игнорировании проблемы стремится к 60%, и так далее.

1. Цель и основные задачи работы

Цель работы -- разработка программно-аппаратного комплекса автоматизированной системы мониторинга и управления за различными параметрами жилой зоны -- “Умный Дом”. Эта система является современным инструментом как для повышения уровня жизни, так и для контроля расхода электроэнергии и снижения затрат на коммунальные платежи. Ее внедрение дает возможность управлять работой многих компонентов жилого помещения (освещение, электроснабжение, кондиционирование, отопление) в полу- и автоматическом режиме. Особенность системы также в том, что любые действия по управлению ее компонентами можно совершать удаленно. Что делает тему данного исследования более актуальной.

Для достижения поставленной цели в рамках дипломного проектирования решены следующие задачи:

1. Анализ существующих разработок и готовых решений на современном ИТ-рынке в сфере гражданской автоматизации жилых и офисных помещений.

2. Выявление конкурентных преимуществ и недостатков существующих промышленных решений участников рынка.

3. Разработка тестового прототипа управляющих и исполняющих модулей системы на базе аппаратно-вычислительной платформы Arduino Duemilanove[9];

4. Анализ существующих разработок (радиомодулей, плат расширения для Arduino[9], средств аппаратной разработки) для организации беспроводной сети для модулей разработанного ранее прототипа, выявление конкурентных преимуществ, особенностей, общее изучение и тестирование найденных устройств.

5. Разработка действующего прототипа устройств для осуществления и реализации сетевого взаимодействия между модулями системы, в том числе:

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

2. Разработка сетевого стека и протокола взаимодействия беспроводных устройств.

6. Разработка архитектуры системы обслуживания, в том числе:

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

2. Разработка клиент-сервер приложения для организации и коммутации разработанных ранее аппаратных модулей системы.

3. Разработка клиент-сервер приложения для выполнения пользовательских сценариев.

4. Разработка и реализация API для взаимодействия сторонних приложений с разработанным выше комплексом (REST HTTP API).

5. Разработка графического веб-интерфейса для управления и мониторинга ранее разработанной системы, который помимо практического использования является ярким примером применения ранее разработанного REST-API.

Объект исследования: аппаратно-программный комплекс по управлению и мониторингу освещения в жилых помещениях.

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

История появления

Считается, что впервые понятие “Умный дом” было использовано в 1970 году в американском“Институте интеллектуального здания” (Вашингтон). И в то время его формулировка звучала приблизительно так: “Умный дом - здание, обеспечивающее продуктивное и эффективное использование рабочего и жилого пространства”. Сегодня же, благодаря развитию бытовой электроники, “умным” считается жилое помещение обеспечивающее комфорт своих обитателей автоматически.

Предпосылки к автоматизации своего быта и более интерактивного управления различными функциями жилища восходят к далеким временам. Например, еще много веков назад венецианские дворцы имели в себе дистанционно управляемые систему подачи вина в фонтаны, а в конце XIX века появились первые кухонные подъемники - своеобразные предтечи техники электронных “умных домов”.

Самая главная идея и концепция “умных домов” заключается в возможности коммуникации домашних устройств между собой и их взаимодействия с внешним миром при минимальном участии человека. Идеальный “Умный дом” подразумевает такой уровень автоматизации, чтобы, например, при наступающем ухудшении погоды домашняя метеостанция не только давала пользователю прогноз, но и передавала команды сервисным системам, которые в свою очередь обогреют (провентилируют) дом до комфортной температуры, накроют защитной крышей бассейн, обесточат водоснабжение при протечке труб, включат в саду фонари или оросительные системы. Спроектировать, реализовать и внедрить в эксплуатацию идеальный (или близкий к идеалу) “Умный дом” -- удовольствие дорогое и большинству рядовых граждан недоступное. Это скорее нечто среднее между научной фантастикой и бессмысленной роскошью. Но для того чтобы помочь своему дому “поумнеть”, не обязательно сначала заработать свой первый миллиард, потому как основные компоненты системы, по сути, довольно простые, бюджетные и легко-обслуживаемые. Из множества придуманных для“умных домов” функций и систем на сегодняшний день реализовано далеко не все. Некоторые, наиболее сложные и дорогостоящие компоненты не часто встречаются даже у обеспеченных людей, а вот энергосберегающие и “зеленые” системы уже поселились даже в обычных домах и квартирах. Так, интеллектуальные системы климат-контроля, освещения и управления жалюзи поддерживают в каждом помещении необходимую именно там температуру и освещенность. Этот подход позволяет сократить потребление электроэнергии и уменьшить выбросы CO2 в окружающую среду. Кстати, именно с энергосберегающих функций технологии "умных домов" некогда начали свое вторжение в жизнь обычных людей.

“Умный дом” -- это группа или комплекс устройств, объединенных в целостную систему, которая осуществляет управление различными компонентами жилого помещения по заданным пользователем и/или производителем сценариям.

Каждый пользователь сам определяет какая функциональность ему необходима, какими устройствами, группой устройств или целыми системами он собирается управлять и как и что ему необходимо контролировать. Сегодня существует большое разнообразие различных модулей/систем, которые позволят контролировать практически любой элемент жизнеобеспечения в жилом помещении: освещение, отопление, вентиляция, кондиционирование, энергоснабжение, водоснабжение, электроприводы, котельная, бассейн. Каждый из элементов такой системы может в себя включать десяток датчиков и исполнительных механизмов. От простой лампочки до системы котельной, ошибка в работе которой может повлиять на непредвиденные расходы или убытки пользователя. Но самое главное, что “Умный дом” дает нам то, о чем нередко мечтал каждый -- единый пульт от всего вокруг: на сенсорном экране пульта в понятной форме, на понятном вам языке вы обнаружите все, что необходимо для управления светом во всех комнатах и на любом этаже, установка температуры теплого пола, сплит-систем, закрытие/открытие жалюзи, управление домашним кинотеатром, камерами наблюдения, контроля системы охраны и многое другое.

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

Некоторые части оборудования такого интеллектуального дома работают самостоятельно. Радиаторы, теплые полы и кондиционер сами устанавливаются на необходимую мощность, чтобы поддерживать нужную или заложенную пользователем температуру в жилых, офисных или складских помещениях. А свет во дворе будет сам зажигаться вечером и гаснуть утром. В одно касание можно запустить целый сценарий, который выполняет сразу несколько действий. Когда вы покидаете дом, лишь одним нажатием кнопки “Никого нет” повсюду погаснет свет, будет перекрыто водоснабжение, климат-контроль и теплые полы встанут на экономичный режим. Я уверен, что сейчас не существует такого пользовательского сценария, который не могли бы решить высококвалифицированные специалисты по внедрению и разработке автоматизированных систем управления жилыми помещениями. Но если большинство из перечисленных выше сценариев, являются скорее излишним комфортом и стало скорее привычкой обладателя, то такие компоненты, как управление освещением и мониторинг энергопотребления в жилом помещении являются одними из важных элементов систем“Умный дом” в современном мире. Тенденции последних лет показывают, что от избытка электроэнергии в прошлом мы идем к ее дефициту в будущем. В свою очередь, это создает предпосылки более широкого внедрения энергосберегающих технологий и алгоритмов управления как в промышленных масштабах (офисные здания, производство, гостиницы, магазины), так и для жилых помещений, которые обеспечиваются системами автоматизации зданий.

Практическая ценность и применение

Разработанный программно-аппаратный комплекс для управления освещением в жилых помещениях в результате представляет собой больше, чем просто “умная кнопка для включения света”, а именно:

1. Представляет собой готовое решение для реализации достаточно сложных процессов автоматизации.

2. Легок в освоении, подвержен любой доработке/исправлению/улучшению базовых компонентов.

3. Является подмножеством систем семейства open-source electronic prototyping.

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

5. Для разработки программной части комплекса используется свободно-распространяемое программное обеспечение. Это дает легкое освоение и быстрый старт для разработчика/технолога.

6. Логика и работа конечных устройств могут быть реализованы на нескольких уровнях абстракции (при разработке они могут быть совмещены):

1. Прошивка устройства производится посредством прилагаемой среды разработки - Arduino IDE. В данном случае устройство может быть как абсолютно автономным в системе и выполнять определенные директивы/сценарии (имеет на борту чип с часами реального времени DS1307, включает светильник на крыльце в 20:00 и выключает в 6:00; обрабатывает нажатие на установленный выключатель и включает/выключает свет независимо от времени суток), так и быть одним из мастер-устройств и управлять всеми остальными. С помощью этого метода можно реализовать и выпускать серийные законченные устройства (выключатель/переключатель с радио-модулем; розетка с инфракрасным датчиком с управлением через пульт RC5/RC6; датчик движения с радио-модулем и автономным питанием от элементов CR2430).

2. Прошивка устройства минимальна, содержит радиостек, реализацию сетевого протокола, минимальный набор команд и проверку команд на ошибки. Все управление передано мастер-устройству. Большую часть времени устройство спит и просыпается от пакета от мастер-устройства. К устройству могут быть подключены датчики, реле. Такие устройства могут использоваться в закрытой проводке, питаться от телефонной сети, при этом к ним нет физического доступа после установки. Отличаются своей простотой и надежностью работы. С помощью этого метода реализуются устройства, которым необходима мобильность или труднодоступность места использования/установки. Помимо этого содержит минимальную работу с периферией и управление может передаваться управляющим устройствовпосредством REST API. Разработка ведется не в Arduino IDE, а на языке и в среде, удобной разработчику. Часть основной функциональности микроконтроллера дается через API.

7. Для конечного пользователя комплекс дает возможность контролировать энергопотребление световых- и электро-приборов, управлять освещением из любого удобного места (для больших комнат с тремя и более входами-выходами можно сделать отдельные радио-выключатели, каждый из которых может управлять одной или несколькими люстрами; кнопка «Выключить все» на выходе из квартиры), любым удобным способом (веб-интерфейс, включенный в систему позволяет включить-выключить-активировать любой модуль с устройства, имеющего выход в интернет и веб-браузер: стационарный компьютер, ноутбук, планшетный компьютер, смартфон).

8. Комплекс, оборудованный датчиками движения и освещенности позволит экономить электроэнергию и время пользователя (при уходе из дома не выключенный свет выключится автоматически спустя заданное пользователем время; нет необходимости возвращаться и проверять «не выключенный утюг», система обесточит все розетки, которые не являются приоритетными; при путешествии в темное время суток по квартире пользователю нет необходимости включать свет в каждой проходимой комнате, “следящий свет” сопроводит его на кухню, в ванную комнату неярким освещением в плинтусах на полу).

2. Постановка задачи

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

Остановимся на конечном пользователе с его задачами.

Пользовательские сценарии

Имеется жилое помещение, в котором проживают конечные потребители системы. Площадь квартиры - 45 м2: 2 жилые комнаты, 5 потолочных светильников, 15 электрических розеток.

Необходимо разработать и внедрить программно-аппаратный комплекс исходя из следующих правил и условий:

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

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

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

4. Система должна записывать все “промахи” потребителей и вести журнал на момент тестовой эксплуатации системы (раз в месяц потребители и внедряющая компания получают отчет со статистикой, где можно увидеть сколько “забытых” кВт сэкономила система).

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

6. В качестве управляющего модуля системы может быть любой персональный компьютер после 2003 года выпуска, имеющий на борту хотя бы один свободный порт USB, не менее 512 Мб памяти, около 100 Мб свободного места на диске и установленное кросс-платформенное программное обеспечение, прилагаемое в комплекте.

Программное обеспечение должно быть кросс-платформенным и работать практически на любой современной ОС семейства *nix и Windows для стационарных компьютеров и серверов. Уверенно можно сказать, что программное обеспечение поддерживается на следующих ОС: подсемейства операционной системы Windows (Windows 98/Windows XP/Windows 2000/Windows Server Edition 2003/Windows Vista/Windows 7), практически любой дистрибутив Linux (протестировано на Ubuntu 8.10, 10.4, 12.4; Debian lenny/lucid/hardy) и Mac OS X (10.5.x, 10.6.x, 10.7.4). При работе ПО нет необходимости в административных правах пользователя, так как все программное обеспечение работает только с usb-serial-устройством и сетью.

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

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

Первая лампочка накаливания появилась в 1809 году благодаря англичанину Деларю, в ней стояла платиновая спираль и легко догадаться, что в таком варианте до наших времен она не дожила. С вольфрамовыми нитями лампочка накаливания появилась в 1890 году благодаря профессору А. Н. Лодыгину. «Лампочки Ильича» используются и в наше время, но они уже давно уступают по экономичности люминесцентным лампам: лампочка накаливания имеет максимальный срок службы как правило всего 1000 часов против 2000-10000 часов у люминесцентных ламп, низкий КПД -- люминесцентная лампа 20 Вт дает освещенность как лампа накаливания 100 Вт. Но эти лампы во-первых, не утилизируются, во-вторых, внутри наполнены инертным газом и вредными парами ртути, в-третьих, для подключения необходимы изменения в электрической схеме, в четвертых, «лампочки Ильича» они не заменяют. Время идет, промышленность развивается и на свет появляются т. н. «Компактные люминесцентные лампы», которые помимо уменьшения размеров получают интегрированный электронный дроссель, могут вкручиваться вместо обычных ламп накаливания (цоколи E27, E14) и первыми начали называться «энергосберегающими». Срок службы таких ламп так же увеличился и стал от 3000 до 15000 часов. Могут иметь любой цвет свечения, а также для медицинских учереждений изготавливают ультрафиолетовые лампы. По энергоэффективности они в 5-8 раз превосходят лампы накаливания. Но технологии развиваются и наступает время когда компактные люминесцентные лампы по габаритам, энергоэффективности и сроку службы проигрывают светодиодным лампам. Потому как светодиодное освещение на данный момент это одно из самых перспективных направлений технологий искусственного освещения, основанное на использовании светодиодов в качестве источника света. На данный момент использование светдиодных ламп в освещении занимает не менее 21% рынка (по данным 2009 года). Стоимость светодиодных ламп на момент написания работы по сравнению с 2009 годом уменьшилась более, чем в 14 раз. Средняя стоимость светодиодной лампы на 7 Вт, которая заменяет лампу накаливания 60-75 Вт составляет 800 рублей при заявленной работе в 40000-60000 часов.

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

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

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

3. Техническое задание

1. Цель и назначение разработки.

1.1. Цель разработки.

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

1.2. Назначение разработки

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

2. Этапы разработки

1. Анализ требований к разработке

2. Анализ решений конкурентов

3. Проектирование комплекса

li class="c33 c1">Выбор и тестирование аппаратных компонентов

4. Разработка и тестирование аппаратного комплекса

5. Разработка и тестирование программного комплекса

6. Проектирование и разработка веб-интерфейса

7. Написание документации

8. Внедрение комплекса на объект

3. Основные требования к программному обеспечению

3.1. Общие положения

3.1.1 Требования к программным решениям
Программное обеспечение (далее ПО) должно разрабатываться по модульному принципу и представлять собой набор функционально законченных и независимых друг от друга программ.
Для хранения информации, анализа, построения отчетов необходимо использовать надежную СУБД, которая помимо этого, будет легко расширяемая. В дальнейшем развитии комплекса как одна из функциональностей особенностей будет возможность хранить все данные в “Облаке”, не имея при этом дома управляющего модуля. В качестве СУБД мы используем NoSQL решение - MongoDB[10], которая после проведения синтетических тестов показала себя с лучшей стороны. Помимо этого MongoDB[10] расширяема, кластеризуема и отказоустойчива.
При разработке указанного комплекса было использовано только свободно-распространяемое ПО с лицензиями GPL, GSPL.

3.1.2 Требования к программному обеспечению
Разработанное ПО должно работать под операционными системами Windows/Linux/Mac OS X и представляет собой NOLAMP решение: интегрированный веб-сервер, клиент-сервер для работы пользовательских сценариев, клиент-сервер для связи аппаратного обеспечения с программным, СУБД для работы системы - MongoDB[10]. В “облачной” версии какие-либо требования к ПО отсутствуют. “Облако” хранит все данные пользователя удаленно и общается с аппаратным обеспечением посредством управляющего контроллера. Для управления комплексом необходимо любое устройство, имеющее доступ к сети интернет и веб-браузер, построенный на основе WebKit (iPhone, iPad, iPod, Android) либо OperaMobile.

3.1.3 Состав программного комплекса и функциональные требования к компонентам.

Разрабатываемое ПО в локальной версии состоит из следующих компонентов:

1. nginx[11] - fastcgi/http веб-сервер;

2. MongoDB - СУБД;

3. perl - интерпретатор языка Perl;

4. USB::Serial - библиотека для работы с USB-устройствами посредством терминального доступа из языка Perl;

5. Ubic - фреймворк для работы fastcgi-приложений и сервисов;

6. PerlDancer - фреймворк для быстрой разработки веб-приложений на языке Perl;

7. Программа-демон, которая ведет диалог с мастер-устройством посредством терминального доступа через USB::Serial;

8. Программа-демон, которая выполняет пользовательские сценарии;

9. Программа-демон, осуществляющая адресацию беспроводных устройств в сети и организующая транспорт беспроводных сетей в сеть tcp/ip;

3.2 Функциональные требования к СУБД Используемая СУБД должна:

1. Обеспечивать пользователю возможность создавать базы данных, таблицы и любые другие объекты;

2. Позволять записывать, хранить, находить, редактировать и считывать данные;

3. Поддерживать хранение большого объема структурированных и не структурированных данных (для одного жилого комплекса кол-во записей может превышать 22896000 записей в год по проведенным синтетическим тестам);

4. Поддерживать модификацию таблиц/полей на лету без потери данных и просадке производительности;

5. Иметь встроенный клиент для использования удаленных хранилищ (первый этап для создания “облака”);

6. Легко масштабироваться в рамках проекта (может потребоваться в больших и сложных системах автоматизации, имеющих в эксплуатации > 5000 устройств);

Программное обеспечение СУБД не должно зависеть от национального языка текстовых и символьных данных. Текстовые и символьные данные должны храниться и обрабатываться в кодировке utf-8.

4. Основные требования к аппаратному обеспечению

Аппаратный комплекс должен включать в себя не менее 2 устройств, из которых одно является мастер-устройством и подключается к терминалу посредством USB.

Управляющие модули должны иметь минимальное потребление, находится большую часть времени в режиме “сна” и использовать аппаратные прерывания радиомодулей (CCA, WOR для модулей CCXXXX Texas Instruments, GDO0/GDO1/GDO2 для модулей A71XX Amicom). Используемый стек для радиомодулей SWAP[7] является готовой библиотекой для Arduino/AVR устройств и должен быть расширяемым (на текущий момент портирован для использования не только в CC11XX устройств, но и CC25XX).

Для функционирования локальной версии управляющего модуля необходимы следующие аппаратные требования:

Процессор: Intel/PowerPC совместимый ОС: Windows/Linux/Mac OS X

Необходимое пространство на жестком диске: не менее 150 Мб.

Общее назначение и функциональность системы “Умный дом”:

1. Регистрация и синхронизация устройств в системе;

2. Общение устройств в режиме реального времени друг с другом через “главное” устройство;

3. Выполнение пользовательских сценариев, включающих в себя такие действия, как:

1. Включение освещения при приближении пользователя;

2. Отключение освещения при уходе пользователя;

3. Принудительное отключение определенных приборов при отсутствии пользователя указанное длительное время;

4. Включение/выключение электрических приборов по заданному сценарию;

4. Управление пользовательскими сценариями;

5. Регистрация событий и выполнение пользовательских сценариев в системе;

6. Интерфейс управления устройствами;

7. Интерфейс управления пользовательскими сценариями, включающие такие сценарии, как:

1. При срабатывании события UserNear устройства D5 событийного модуля M2 выполнить метод PowerOn устройства D7 исполняющего модуля M1.

2. При срабатывании события UserLeave устройства D5 событийного модуля M2 выполнить метод PowerOff устройства D7 исполняющего модуля M1.

3. При срабатывании события SwitchOn устройства D6 событийного модуля M2 выполнить метод PowerOn устройства D7 исполняющего модуля M1.

4. При срабатывании события SwitchOff устройства D6 событийного модуля M2 выполнить метод PowerOff устройства D7 исполняющего модуля M1

M2 - событийный модуль, на котором установлены два устройства:

D5 - модуль с датчиком движения HC-SR501, вызывающий событие UserNear при приближении к нему пользователя и UserLeave при удалении от него пользователя.

D6 - модуль с аналоговой кнопкой имеющий два состояния: включена/выключена, которые вызывают события SwitchOn и SwitchOff.

M1 - испольняющий модуль, на котором установлена лампочка. Метод PowerOn соответственно включает лампочку, а метод PowerOff - выключает ее. маршрутизатор графический интерфейс программный

Система состоит из следующих подсистем:

1. Управляющий модуль. Реализуется на основе микроконтроллера Atmega328 компании Atmel Corporation, для радиосвязи использует модуль-трансивер CCXXXX компании Texas Instruments. Для передачи данных на Сетевой модуль используется Ethernet-модуль DP83848 компании Texas Instruments. Управляющий модуль осуществляет следующие функции:

1. Выполняет поиск и обнаружение новых устройств в системе, производит их регистрацию;

2. Слушает радио-канал и получает данные с переферийных устройств;

3. Передает информацию, полученную с устройств на устройство более высокого уровня через Ethernet-модуль;

2. Модули событийных периферийных устройств. Реализуются на микроконтроллере Atmega8 от компании Atmel Corporation, для радиосвязи используется модуль-трансивер CCXXXX компании Texas Instruments. В качестве периферии могут быть аналоговые кнопки, цифровые кнопки, сенсорные панели, датчики, таймеры. Модули осуществляют следующие функции:

1. Режим регистрации устройства. Необходим для регистрации устройства в сети “Умного дома 2.0” и синхронизации с “Управляющим модулем”. При регистрации каждый модуль сообщает “Управляющему модулю” информацию об устройствах, которые содержит модуль, каждое устройство имеет уникальный внутренний адрес и список методов, которые он может выполнять.

2. Режим сна. Большую часть времени устройство спит и просыпается только при задействовании периферии (кнопок, сенсорных панелей, датчиков, таймеры).

3. Режим отправки данных. При задействовании периферии (кнопок, сенсорных панелей, датчиков, таймеров) модуль отправляет данные на “Управляющий контроллер”.

4. Режим синхронизации. Раз в заданное время (по-умолчанию один раз в час) модуль передает на “Управляющий модуль” состояние всех устройств в модуле и их настройки (требуется для корректного возобновления работы системы при электрических сбоях/отключения электроэнергии).

3. Модули исполняющей периферии. Реализуются на микроконтроллере Atmega8 от компании Atmel Corporation, для радиосвязи используется модуль-трансивер CCXXXX компании Texas Instruments. В качестве исполняющих устройств могут быть любые приборы, например диодные потолочные светильники, сервоприводы жалюзи, диодные ленты. Модули осуществляют следующие функции:

1. Режим регистрации устройства. Необходим для регистрации устройства в сети “Умного дома 2.0” и синхронизации с “Управляющим модулем”. При регистрации каждый модуль сообщает “Управляющему модулю” информацию об устройствах, которые содержит модуль, каждое устройство имеет уникальный внутренний адрес и список методов, которые он может выполнять.

2. Режим сна. Большую часть времени устройство спит и просыпается только при получении пакета от “Управляющего модуля”, который переводит устройство в режим “Получения данных”.

3. Режим получения данных. При получении сигнала от “Управляющего модуля”, модуль исполняющей периферии исполняет методы указанных устройств.

4. Режим синхронизации. Раз в заданное время (по-умолчанию один раз в час) модуль передает на “Управляющий модуль” состояние всех устройств в модуле и их настройки (требуется для корректного возобновления работы системы при электрических сбоях/отключения электроэнергии).

4. Сетевой Модуль. Миниатюрный компьютер на основе ARM - Raspberry Pi. Под управлением Ubuntu 10.4 Server Edition, использует следующее ПО:

1. nginx - высокопроизводительный веб-сервер, необходимый для осуществления доступа пользователя к системе “Умный дом” посредством настольного компьютера/коммуникатора/ноутбука/планшета с веб-браузером:

2. perl - основа для backend и frontend-приложений управляющих пользовательских сценариев

3. MongoDB - основное хранилище данных для логирования событий, ошибок и для хранения настроек и состояний системы на заданный промежуток времени;

Выполняет следующие функции:

1. Получение и хранение данных с “Управляющего модуля”;

2. Создание резервных копий системы;

3. Выполнение пользовательских сценариев;

4. Управление (добавление/редактирование/удаление) пользовательских сценариев;

5. Осуществляет возможность управлять любым устройством через интернет путем создания HTTP-шлюза c REST-API;

6. Осуществляет возможность отслеживать систему через интернет.

4. Анализ предметной области

Основой любого “Умного дома” являются микроконтроллеры/миникомпьютеры, имеющий на борту любой из интерфейсов для общения с устройствами-датчиками. Мы выбираем беспроводные устройства, потому что для организации сети “Умного дома” такого типа количество операций по инсталляции оборудования в любой квартире минимально.

Все устройства-модули должны соответствовать следующими требованиям:

1. встраивается в подрозетник типоразмера 86x86;

2. легко монтируется на стену или потолок;

3. имеет небольшой размер;

4. может монтироваться в конечное устройство;

5. имеет собственный источник бесперебойного питания в виде аккумуляторной батарейки CR2050 или питается от домашней сети 220-250 В через понижающий импульсный блок питания;

6. имеет низкую цену;

7. имеет низкопотребляемые компоненты;

8. отсутствует внешняя проводка;

9. помехоустойчив при транспорте данных.

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

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

Z-Wave -- это беспроводная радио технология, разработанная специально для дистанционного управления. В отличие от Wi-Fi и других IEEE 802.11 стандартов передачи данных, предназначенных в основном для больших потоков информации, Z-Wave работает в диапазоне частот до 1 ГГц и оптимизирована для передачи простых управляющих команд (например, включить/выключить, изменить громкость, яркость и т. д.). Выбор низкого радиочастотного диапазона для Z-Wave обуславливается малым количеством потенциальных источников помех (в отличие от загруженного диапазона 2,4 ГГц, в котором приходится прибегать к мероприятиям, уменьшающим возможные помехи от работающих различных бытовых беспроводных устройств -- Wi-Fi, ZigBee, Bluetooth).

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

В мире насчитывается более 200 производителей, предлагающих товары с Z-Wave чипами или модулями. Отличительной особенностью Z-Wave является то, что все эти продукты совместимы между собой.

В основе решения Z-Wave лежит ячеистая сетевая технология mesh, в которой каждый узел или устройство может принимать и передавать управляющие сигналы другим устройствам сети, используя промежуточные соседние узлы. Mesh это самоорганизующаяся сеть с маршрутизацией, зависимой от внешних факторов -- например, при возникновении преграды между двумя ближайшими узлами сети, сигнал пойдет через другие узлы сети, находящиеся в радиусе действия.

Радиоспецификации

· Скорость: 9,6 кбит/с или 40 кбит/с, с полной совместимостью;

· Модуляция: GFSK;

· Радиус действия: приблизительно 30 метров в условиях прямой видимости; в помещении уменьшается в зависимости от формы и материала стен;

· Частотный диапазон: 908.42МГц (Соединенные Штаты); 868.42 МГц (Европа); 919.82 МГц (Гонконг); 921.42 МГц (Австралия / Новая Зеландия).

Вот типичная схема работы устройств Z-wave в сети “Умный дом”:

Итак, Z-wave подходит для нашей задачи, но имеет ряд больших минусов, по которым мы его не берем:

1. Стоимость конечных устройств. Стоимость простого радиовыключателя для света составляет 2200 рублей. Выключатель для скрытой проводки уже 2500 рублей. Встраиваемый диммер - еще 6700 рублей. Устройства Z-Wave в нашей стране особенно дороги. Чтобы оборудовать однокомнатную квартиру 4-мя выключателями и одним диммером потребуется уже 16700 рублей;

2. Ограниченность выбора устройств. Устройства представлены в готовом исполнении. Нельзя расширить функциональность устройства;

3. Невозможность расширять использование устройства. Нельзя задавать пользовательское взаимодействие устройств друг с другом;

4. Нет пользовательских сценариев;

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

6. Нет визуального представления “Умного дома”. Нет единой схемы устройств с возможностью посмотреть какое устройство в данный момент работает, в каком состоянии находится, какое энергопотребление системы.

Вторым подходящим устройствам для организации системы “умный дом” являются устройства ZigBee. ZigBee -- название набора сетевых протоколов верхнего уровня, использующих маленькие, маломощные радиопередатчики, основанные на стандарте IEEE 802.15.4. Этот стандарт описывает беспроводные персональные вычислительные сети (WPAN). ZigBee нацелена на приложения, которым требуется длительное время автономной работы от батарей и высокая безопасность передачи данных, при небольших скоростях передачи данных.

Основная особенность технологии ZigBee заключается в том, что она при относительно невысоком энергопотреблении поддерживает не только простые топологии беспроводной связи («точка-точка» и «звезда»), но и сложные беспроводные сети с ячеистой топологией с ретрансляцией и маршрутизацией сообщений.

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

ZigBee -- стандарт для набора высокоуровневых протоколов связи, использующих небольшие, маломощные цифровые трансиверы, основанный на стандарте IEEE 802.15.4-2006 для беспроводных персональных сетей, таких как, например, беспроводные наушники, соединённые с мобильными телефонами посредством радиоволн коротковолнового диапазона. Технология определяется спецификацией ZigBee, разработанной с намерением быть проще и дешевле, чем остальные персональные сети, такие как Bluetooth. ZigBee предназначен для радиочастотных устройств, где необходима длительная работа от батареек и безопасность передачи данных по сети.

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

1. Домашняя автоматизация;

2. Рациональное использование энергии (ZigBee Smart Energy 1.0/2.0);

3. Автоматизация коммерческого строительства;

4. Телекоммуникационные приложения;

5. Персональный, домашний и больничный уход;

6. Игрушки.

Сотрудничество между IEEE 802.15.4 и ZigBee подобно тому, что было между IEEE 802.11 и альянсом Wi-Fi. Спецификация ZigBee 1.0 была ратифицирована 14 декабря 2004 и доступна для членов альянса ZigBee. Сравнительно недавно, 30 октября 2007 г., была размещена спецификация ZigBee 2007. О первом профиле приложения -- «Домашняя автоматизация» ZigBee, было объявлено 2 ноября 2007. ZigBee работает в промышленных, научных и медицинских (ISM-диапазон) радиодиапазонах: 868 МГц в Европе, 915 МГц в США и в Австралии, и 2.4 ГГц в большинстве стран в мире (под большинством юрисдикций стран мира). Как правило, в продаже имеются чипы ZigBee, являющиеся объединёнными радио- и микроконтроллерами с размером Flash-памяти от 60К до 128К таких производителей, как Jennic JN5148, Freescale MC13213, Ember EM250, Texas Instruments CC2430, Samsung Electro-Mechanics ZBS240 и Atmel ATmega128RFA1. Радиомодуль также можно использовать отдельно с любым процессором и микроконтроллером. Как правило, производители радиомодулей предлагают также стек программного обеспечения ZigBee, хотя доступны и другие независимые стеки. Так как ZigBee может активироваться (то есть переходить от спящего режима к активному) за 15 миллисекунд или меньше, задержка отклика устройства может быть очень низкой, особенно по сравнению с Bluetooth, для которого задержка, образующаяся при переходе от спящего режима к активному, обычно достигает трёх секунд. Так как ZigBee большую часть времени находится в спящем режиме, уровень потребления энергии может быть очень низким, благодаря чему достигается длительная работа от батарей.

Первый выпуск стека сейчас известен под названием ZigBee 2004. Второй выпуск стека называется ZigBee 2006, и, в основном, заменяет структуру MSG/KVP, использующуюся в ZigBee 2004 вместе с «библиотекой кластеров». Стек 2004 года сейчас более или менее вышел из употребления. Реализация ZigBee 2007 в настоящее время является текущей, она содержит два профиля стека, профиль стека № 1 (который называют просто ZigBee) для домашнего и мелкого коммерческого использования, и профиль стека № 2 (который называют ZigBee Pro). ZigBee Pro предлагает больше функций, таких как широковещание, маршрутизацию вида «многие-к-одному» и высокую безопасность с использованием симметричного ключа (SKKE), в то время как ZigBee (профиль стека № 1) занимает меньше места в оперативной и Flash-памяти. Оба профиля позволяют развернуть полномасштабную сеть с ячеистой топологией и работают со всеми профилями приложений ZigBee.

ZigBee 2007 полностью совместим с устройствами ZigBee 2006. Устройство ZigBee 2007 может подключаться и работать с сетью ZigBee 2006, и наоборот. В связи с наличием различий в опциях маршрутизации, устройства ZigBee Pro могут быть только конечными устройствами (ZEDs) сетей ZigBee 2006, и наоборот, устройства ZigBee 2006 и ZigBee 2007 могут быть только конечными устройствами в сети ZigBee Pro. При этом приложения, которые запускаются на устройствах, работают одинаково, независимо от реализации профиля стека.

Существуют три различных типа устройств ZigBee.

· Координатор ZigBee (ZC) -- наиболее ответственное устройство, формирует пути древа сети и может связываться с другими сетями. В каждой сети есть один координатор ZigBee. Он и запускает сеть от начала. Он может хранить информацию о сети, включая хранилище секретных паролей производства компании Trust Centre;

· Маршрутизатор ZigBee (ZR) -- Маршрутизатор может выступать в качестве промежуточного маршрутизатора, передавая данные с других устройств. Он также может запускать функцию приложения;

· Конечное устройство ZigBee (ZED) -- его функциональная нагруженность позволяет ему обмениваться информацией с материнским узлом (или координатором, или с маршрутизатором), он не может передавать данные с других устройств. Такое отношение позволяет узлу львиную часть времени пребывать в спящем состоянии, что позволяет экономить энергоресурс батарей. ZED требует минимальное количество памяти, и поэтому может быть дешевле в производстве, чем ZR или ZC.

5. Структура системы

Структурно систему можно разбить на четыре основных узла (Рис. А.5.1):

1. Аппаратная часть - аппаратная составляющая системы:

1. Микроконтроллер - микронтроллеры компании Atmel Atmega8/16

2. Радио-модули

3. Сенсоры

4. Реле

2. Беспроводная сеть:

1. Радиостек

2. Сетевой стек SWAP

3. USB-доступ - серийный интерфейс USB со стороны Микроконтроллера и со стороны управляющего компьютера.

4. Программная часть:

1. Менеджер USB - программа, реализующая USB Serial Interface для работы с модулями посредством USB (инициализация, настройка, перепрошивка устройств).

2. Менеджер событий - программа-планировщик событий.

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

4. Программное API - HTTP Web Server (nginx), backend (perl, PerlDancer, MongoDB), прослойка между Hardware API, Serial Daemon и Events Daemon, HTTP REST API

5. Пользовательский интерфейс - клиентское приложение, использующая Программное API - организует настройку и интерфейс к устройствам в беспроводной сети.

6. Структура программного обеспечения

В данном дипломном проекте можно выделить несколько больших этапов разработки:

1. Реализация радиостека для модулей, которые мы брали в качестве радио-фронтэнда: CCXXXX, nRF24L01, A7125.

2. Реализация сетевого стека (SWAP) для модулей CC2500 и nRF24L01.

3. Реализация модуля для работы тунеля: REST API ?USB Serial ? USB Serial ? Atmega DIGITAL/ANALOG.

4. Разработка программы dancer-usb-serial, в фоновом режиме слушающего USB для принятия и отправки команд на мастер-устройство.

5. Разработка программы dancer-mongo-events, в фоновом режиме делающего запросы в MongoDB, находящего новые события и отправляющего SIG программе dancer-usb-serial.

6. Разработка бекенда системы, разработка веб-интерфейса к нему.

7. Структура данных

Идентификатор сети

SWAP использует слово синхронизации в CCXXXX чипах для идентификации беспроводной сети. Создайте несколько сетевых идентификаторов, различные устройства смогут работать в своих сетях и взаимодействовать только с устройствами своей сети. Длина идентификатора сети: 2 байта.

Функциональные коды

Есть три основных функциональных кода:

· 0x00 - пакет STATUS

· 0x01 - пакет QUERY

· 0x02 - пакет COMMAND

Все пакеты SWAP имеют одну и туже структуру (кроме пакетов запроса = 0x01, который не включает поле данных). Это делает анализ и работу с пакетами простой задачей.

Пакет STATUS (код 0x00)

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

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.