Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая. Энергопотребление.docx
Скачиваний:
29
Добавлен:
09.02.2015
Размер:
458.01 Кб
Скачать
  1. Программная часть

На веб-сервере при помощи MySql Server создаем БД с таблицей led. Таблица led содержит 2 поля – id и status. Она содержит одну запись с актуальным состоянием светодиода.

Далее пишется скрипт led.php, он вызывается с телефона и передает информацию о состоянии светодиода для базы данных.

Листинг скрипта находится в приложении.

Идея состоит в том, что программа-обработчик получает данные с устройств, подключенных к Arduino, и отправляет их в таблицы базы данных проекта. Эту информацию в дальнейшем можно просмотреть из любого места с помощью Android-устройства. Программа, которая может быть написана на том же Processing или при помощи SDK for Eclipse, контактирует с сервером и интерпретирует в удобный для пользователя графический вид.

Итак, нам нужен домашний сервер. На нем будет постоянно работать программа (можно даже назвать ее – демон), посылающая запросы к БД и при изменении находящейся там информации, посылающая на COM-порт с ардуино соответствующую команду. Программа написана на языке processing.

Листинг программы находится в приложении.

Затем необходимо написать программу для Arduino [5].

Задача ардуино состоит в прослушивании того, что программа-демон на домашнем сервере посылает на COM-порт, к которому и подключена ардуино (хотя фактически подключение идет по USB-кабелю, но компьютер распознает его как последовательный порт). После получения каких-либо данных с компьютера, контроллер по первому символу переданной информации распознает код команды. Далее в зависимости от кода и следующей за ним информации выполняется включение/выключение светодиода.

Листинг программы находится в приложении.

  1. Написание приложения для Android

Как уже говорилось ранее, приложение можно написать как на языке processing, так и в среде разработки Eclipse. Визуализацию проще делать при помощи SDK for Eclipse, а привязку к кнопкам – в processing. Но для отладки приложения в любом случае необходим SDK. Ниже представлен фрагмент кода, вызывающий скрипт led.php, управляющий светодиодом:

public void changeLED()

{

Try

{

URL url1 = new URL("http://domenID.ru/led.php");

HttpURLConnection urlConnection = (HttpURLConnection) url1.openConnection();

try

{

InputStream in = new

BufferedInputStream(urlConnection.getInputStream());

}

finally {

urlConnection.disconnect();

}

}

catch (Exception e)

{

}

}

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

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

  1. Выводы

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

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

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