ISO БПИ – БГПА - БНТУ

Университет

Одно окно

Услуги

Обучение иностранных граждан

Работодателям

Вакансии

УНИВЕРСИТЕТ

Новости - Конференция МИДО

Антоник Д.В., Сидорович А.В. ИСПОЛЬЗОВАНИЕ АППАРАТНО-ВЫЧИСЛИТЕЛЬНОЙ ПЛАТФОРМЫ ARDUINO ДЛЯ ОРГАНИЗАЦИИ СИСТЕМЫ «УМНЫЙ ДОМ»

 

УДК 004.35+004.42

 

ИСПОЛЬЗОВАНИЕ аппаратно-вычислительной платформы arduino ДЛЯ ОРГАНИЗАЦИИ СИСТЕМЫ «УМНЫЙ ДОМ»

Антоник Д.В., Сидорович А.В.

Учреждение образования «Гродненский государственный университет имени Янки Купалы», Гродно, Беларусь, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

В статье описывается реализация системы «умный дом», на основе платформы Arduino, предназначенной для обеспечения комфорта и безопасности. Охватываются аспекты реализации аппаратного и программного обеспечения, связанные со считыванием и обработкой показаний датчиков. Описывается архитектура разрабатываемой системы «умный дом».

Термин «Умный Дом» появился сравнительно недавно, но уже успел завоевать популярность среди потребителей и специалистов. «Умный Дом» – это одно из направлений в автоматизации зданий, которое представляет собой комплекс систем, объединенных единым интеллектуальным управлением, с помощью которого реализуется комфортная среда обитания с учетом индивидуальных требований человека [1-5]. Как правило, система «Умный Дом» направлена на частный сектор (жилые дома, квартиры) и предназначена для автоматизации и управления различными устройствами и обработки данных различных сенсоров, которые могут размещаться в домах и квартирах. Данный комплекс интеллектуального управления способен объединять различные инженерные системы жилого дома под единым центральным управлением (рисунок 1).

 

Рисунок 1 – Проектируемая система «Умный дом» на основе платформы Arduino

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

Аппаратно-вычислительная платформа Arduino представляет собой совокупность аппаратных средств и программной среды разработки, основными компонентами которой являются простая плата ввода-вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных устройств, так и подключаться к компьютерам и другим устройствам для использования стороннего программного обеспечения.

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

Общие подходы к созданию платформы «Умный дом». За основу была взята Arduino Mega 2560. Arduino Mega построена на AVR микроконтроллере Atmega2560. Плата содержит 54 цифровых входа/выходов (14 из которых могут использоваться как выходы ШИМ), 16 аналоговых входов, 4 последовательных порта UART, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Также использовались датчики DS18B20, DHT 22, BMP085, pir sensor HC-SR501, YL-38, MQ-7, геркон, звуковой пьезодинамик. Все датчики в виде готовых модулей для платформы Arduino.

Разработка программного обеспечения для Arduino велась в бесплатной среде разработки Arduino IDE на языках программирования Processing/Wiring, C++. Кроме того, использовались следующие дополнительные библиотеки: Wire – библиотека позволяет общаться с другими устройствами по протоколу I2C / TWI; OneWire – библиотека позволяет общаться с другими устройствами по протоколу 1-Wire; BMP085 – библиотека позволяет работать с датчиком bmp085; DHT – библиотека позволяет работать с датчиком dht11, dht22, am2302; DallasTemperature – библиотека для работы с датчиками температуры производства Dallas Semiconductor.

Разработка программного обеспечения для компьютера велась в среде разработки Visual Studio 2013 Ultimate, на языке программирования C#, c дополнительными библиотеками MySQL .Net Connector – для работы с базой данных MySQL и с Newton Json.net – Json-сериализатор. Кроме того, было использовано также api от smsc.ru для отправки смс оповещений на мобильный телефон.

Взаимодействие датчиков и arduino производится через интерфейсы 1-wire и I2C. Датчики работают через интерфейы: DS18B20 - 1-wire; BMP085 - I2C; DHT22 - SingeWire. Почти все датчики подключены к цифровым портам ввода/вывода Arduino, за исключением датчика присутствия газов MQ-9, он подключен через аналоговый порт ввода/вывода.

Взаимодействие Arduino и компьютера происходит через последовательный порт. Для этого в visual studio есть готовый класс SerialPort, который работает с последовательным портом. Arduino отсылает данные вида * XX XX XX XX XX XX XX XX XX XX # (где XX- показания датчиков) в последовательный порт, программное обеспечение по таймеру проверяет входной буфер последовательного порта и принимает данные. Затем проверяет данные на целостность и после этого обрабатывает их.

В приложение для компьютера можно наблюдать (рисунок 2) текущее значение метеорологических датчиков, статус отправленных метеорологических данных на сайт narodmon.ru cо временем последней отправки. Статус освещения (On, Off, Auto), а также кнопки управления им. Кроме того, также отображается информация об охранной системе безопасности (On, Off) и о состоянии датчиков, дате и времени срабатывания, а также кнопки включения/выключения охранной системы. Пожарная сигнализация отображает только информацию о своем состоянии (0-1000), если значение датчика >250, она срабатывает, оповещая при этом звуковым сигналом и смс-сообщением.

Рисунок 2 – Приложение для компьютера

Основные возможности разработанной системы умный дом (рисунок 1).

1. Сбор информации с метеорологических датчиков и с последующей отправкой на narodmon.ru:

  • DS18b20 – температурный датчик;
  • DHT22 – датчик позволяет измерять температуру и влажность воздуха;
  • BMP085 – измеряет температуру, атмосферное давление.

Функция метеостанции включает в себя 3 датчика (DS18B20, DHT22, BMP085) и получает значения температур воздуха с каждого датчика, а также влажность воздуха(DHT22), давление воздуха(BMP085). Метеостанция работает все время, можно только отключить функцию передачи метеоданных на сайт narodmon.ru. При отправке метеоданных на сайт narodmon.ru в приложении отображается дата и время последних отравленных метеоданных. Также все метеоданные сохраняются в базу данных mysql, в дальнейшем планируется реализовать просмотр архивных данных метеостанции.

2. Пожарная безопасность, в том числе утечки газа:

  • MQ-9 – датчик позволяет обнаруживать наличие в окружающем воздухе углеводородных газов (пропан, метан, н-бутан) и угарного газа (CO).

Функция пожарной безопасности работает на основе датчика присутствия газов MQ-9. Датчик подключен к аналоговому порту ввода/вывода arduino. Опрос датчика происходит один раз в секунду, датчик возвращает нам значения от 0 до 1000, если датчик вернул нам значение больше 250, то срабатывает пожарная сигнализация, а именно включается свет, включается звуковая сигнализация и отправляется смс сообщение на телефон хозяина.

Охранная безопасность:

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

Функция охранной сигнализации включает в себя 2 датчика (датчик движения HC-SR501, датчик окон). Функция работает таким образом, что если происходит движение или открывается дверь, то датчик шлет логическую единицу Arduino. Тогда Arduino включает свет (эффект присутствия хозяев), включает звуковую сигнализацию, а так же отправляет оповещение на компьютер (который отправит смс оповещение хозяину дома). Функцию смс оповещения можно включить/выключить в приложении.

4. Автоматическое освещение:

  • YL-38 – датчик освещения.

Функция автоматического освещения работает на основе датчика освещенности (фоторезистора). Сам датчик подключен к цифровому порту и при слабом освещении шлет в порт логическую единицу, в это время Arduino включает светодиод (имитация включения полезной нагрузки) на 13 порту. Если освещенность достаточная, то датчик отсылает Arduino логический ноль, тогда Arduino отключает нагрузку.

Информирование:

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

Таким образом, предлагаемая система «Умный дом» представляет собой совокупность устройств, предназначенных для обеспечения комфорта, безопасности, а также ресурсосбережения дома. Система позволяет легко наращивать функционал аппаратной части, а также быстро модифицировать программную составляющую, что является, несомненно, положительными аспектами, при построении систем такого рода. Кроме того, к плюсам системы относится ее относительно малая стоимость по сравнению с профессиональными коммерческими аналогами. Также в будущем планируется реализовать автоматическое проветривание помещений на основе датчиков присутствия газов MQ-9 и сервоприводов для открытия/закрытия окон, если в помещении поднимается концентрация углекислого газа, то сервопривод открывает окно, когда уровень концентрации углекислого газа приходит в норму, тогда сервопривод закрывает окно. В планах также реализация функции оповещения при протечке воды, что в многоэтажных домах будет эффективно работать, при затоплениях.

Список литературы

1. Что такое Умный дом? [Электронный ресурс]. – Режим доступа: http://www.dom-electro.ru/что-такое-умный-дом/. – Дата доступа: 24.04.2013.

2. Arduino [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Arduino – Дата доступа: 24.04.2013.

3. Бюджетный "умный дом" - от теории к практике. [Электронный ресурс]. – Режим доступа: http://forum.ixbt.com/topic.cgi?id=82:103-126 – Дата доступа: 24.04.2013.

4. Умный дом [Электронный ресурс]. – Режим доступа: http://www.ibcsol.ru/services/smart-home.html – Дата доступа: 24.04.2013.

5. Делаем систему «Умный дом» на Arduino [Электронный ресурс]. – Режим доступа: http://forum.amperka.ru/threads/делаем-систему-умный-дом-на-arduino.1388/ – Дата доступа: 24.04.2013.