УДАЛЕННЫЙ КОНТРОЛЬ И УПРАВЛЕНИЕ ДАТЧИКАМИ СОСТОЯНИЯ ОКРУЖАЮЩЕЙ СРЕДЫ НА БАЗЕ ПЛАТФОРМЫ “ARDUINO” - Студенческий научный форум

VII Международная студенческая научная конференция Студенческий научный форум - 2015

УДАЛЕННЫЙ КОНТРОЛЬ И УПРАВЛЕНИЕ ДАТЧИКАМИ СОСТОЯНИЯ ОКРУЖАЮЩЕЙ СРЕДЫ НА БАЗЕ ПЛАТФОРМЫ “ARDUINO”

Сенина А.А. 1, Сконин К.Н. 1
1Томский Политехнический Университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Всего несколько лет назад мы не могли представить нашу жизнь без компьютера, тогда как в наше время уже становится сложностью отсутствие интернета. С его помощью мы осуществляем множество действий, связанных с дистанционным управлением и отслеживанием процессов, таких как интернет-покупки, заказ и бронирование авиабилетов, наблюдение событий, происходящих на другом конце земли в режиме реального времени. Нам предоставляется возможность, не отрываясь от неотложных дел, производить контроль и отслеживать состояние практически любых процессов. В связи с этим возникает вопрос: почему бы при помощи простой web-странички и рассылки e-mail сообщений не взять под контроль основные показатели, такие как температура, влажность, давление и т.д., и при необходимости регулировать состояние окружающей среды или даже управлять системой безопасности.

Рис. 1. Концептуальная схема «Умного дома»

Все эти и множество других проблем стали причиной создания так называемого «Умного дома». Под этим термином стоит понимать автоматизированное управление системой, связанной с комфортными условиями проживания, а также безопасностью. Целью моей работы является создание прототипа автоматизированной системы, способной к дистанционному отслеживанию показателей датчиков состояния окружающей среды посредством использования web-страницы, размещенной на web-сервере в Internet. Для создания подобной системы понадобятся плата CraftDuino, плата расширения Ethernet Shield и, конечно же, доступ к Интернету.

Arduino – это платформа для быстрой разработки электронных устройств, подходящих как для начинающих, так и для профессионалов. Процесс непосредственного программирования системы происходит в среде Arduino-0021 на языке C++, адаптированным под управление реальными физическими процессами. Данная аппаратно-вычислительная платформа интегрирует с расширением платы Ethernet Shield, обеспечивающей подключение Arduino к интернету. В работе я задействовала услуги бесплатного хостинга www.hostinger.ru, где и был размещен сайт и произведено подключение к базе данных MySQL средствами phpMyAdmin.

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

Кратко рассмотрим алгоритм работы системы. Web-клиент посредством связи с web-сервером получает информацию о показаниях датчиков с последующей их корректировкой. Это значит, что, при изменении состояния хотя бы одного датчика на сайт (сервер) отсылается GET-запрос, параметрами которого являются состояния всех датчиков. Он имеет следующий вид: ard-proj.hol.es/?in1=0&in2=0&in3=0&in4=0&in5=0&in6=0&in7=0&in8=0

, где in1,…,in8 – параметры, хранящие состояния восьми датчиков. Значения этих параметров средствами функции php извлекаются из строки запроса и присваиваются переменным следующим образом:

$n1=$_GET['in1'];

Функция $_GET['имя'] применяется с целью поиска в полученном URL-адресе переменной с именем, указанном в аргументе функции, и возвращает значение этой переменной.

Сервер, обработав запрос, обращается к базе данных MySQL, состоящей из единственной таблицы, в состав которой входят поля состояния датчиков (in1-in8), дата и время записи (DateTime).

Рис. 2. Структура таблицы Report.

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

$arr=mysql_fetch_array(mysql_query("SELECT in1,in2,in3,in4,in5,in6,in7,in8 FROM `Report` WHERE id = (SELECT MAX( id ) FROM Report )",$dbh));

В массив $arr записываются значения восьми показателей, полученных в предыдущий раз. Работа с массивом в php предельно проста, так что не составляет большого труда извлечь эти значения из него.

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

mail($to, $title, $mess);

Вышеописанная функция предназначена для отправки сообщения на электронную почту и содержит три параметра, в нашем случае переменные: $to – адрес получателя, $title – тема отправляемого письма и $mess – строка, содержащая текст сообщения.

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

Рис.3. Интерфейс web-страницы

В дополнение ко всему, на почту приходит email-уведомление о происшедших изменениях.

При проектировании «Умного дома» и подборе средств была учтена экономическая целесообразность использования платы Arduino и ее расширений, а именно их общедоступность и дешевизна.

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

Литература:

  1. Соммер, Улли. Программирование микроконтроллерных плат Arduino/Freeduino : пер. с нем. / У. Соммер. — СПб.: БХВ-Петербург, 2012. — 244 с.

  2. Мазуркевич, Александр Михайлович. РНР: настольная книга программиста / А. М. Мазуркевич, Д. С. Еловой. — М.: Новое знание, 2004. — 479 с.

Просмотров работы: 1544