Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 23(193)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5

Библиографическое описание:
Устименко А.С. ПРИМЕР РЕАЛИЗАЦИИ WEB ИНТЕРФЕЙСА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ ОСВЕЩЕНИЯ НА БАЗЕ ARDUINO // Студенческий: электрон. научн. журн. 2022. № 23(193). URL: https://sibac.info/journal/student/193/259451 (дата обращения: 29.11.2024).

ПРИМЕР РЕАЛИЗАЦИИ WEB ИНТЕРФЕЙСА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ ОСВЕЩЕНИЯ НА БАЗЕ ARDUINO

Устименко Аркадий Станиславович

магистрант, факультет компьютерных наук, Торайгыров Университет,

РК, г. Павлодар

Потапенко Александра Олеговна

научный руководитель,

д-р PhD, доц., Торайгыров университет,

РК, г. Павлодар

АННОТАЦИЯ

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

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

 

Ключевые слова: умные устройства, web-интерфейс, дизайнерское освещение.

 

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

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

Лучшим выбором является модуль ESP8266, так как он по всем параметрам превосходит аналог от Texas Instruments, при этом стоимость в разы ниже. Конечно, для каких-то применений модуль от TI окажется лучше, но для нашего случая выбором является ESP8266.

В перспективе развитие систем интеллектуального управления освещения как частички умного дома являются расширением функциональной помощи и содействием для пользователей [6, с.288].

 

Рисунок 1. Схема подключения ESP8266

 

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

Электрическая схема соединения устройств – документ, который определяет полный состав элементов и взаимосвязи между ними и, как правило, дает полное (детальное) представление о принципах работы изделия. Схемы принципиальные необходимы для изучения принципов работы устройств, а также их наладки, контроля и ремонта [10].

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

Схема электрическая принципиальная для «Контроля бытовой техники в умном доме» представлена на рисунке 1. Перечень элементов необходим для записи данных об элементах и устройствах, изображенных на схеме. Связь между УГО и перечнем элементов осуществляется через позиционные обозначения.

Разработка и написание web интерфейса в Arduino IDE

Плата NodeMCU работает в режиме точки доступа и выполняет функцию сервера, а приложение на Андроид - работает как клиентская часть.

Для начала работы с NodeMCU нужно установить подключение к компьютеру посредством USB кабеля. При необходимости установить драйвер виртуального COM-порта CP2102.

В версии Windows не ниже 10, драйвер сам загрузится при наличии подключениия к сети. На Linux-подобных операционных системах драйвер не понадобится, но будет необходимо проследить чтобы текущий пользователь был членом группы “dialout”, иначе будет отказано в доступе к порту. Чтобы добавить пользователя в эту группу, достаточно указать в терминале команду

sudo usermod -a -G dialout <username>,

где <username> - имя пользователя, и ввести пароль администратора.

Компиляцию прошивки удобнее всего провести в среде Arduino Ide, но сперва необходимо настроить ее для работы с контроллером ESP8266, на котором базируется отладочная плата NodeMCU. Для этого нужно найти в меню «Файл» пункт «Настройки» и в окно ввода «дополнительные ссылки для менеджера плат» вставить ссылку: http://arduino.esp8266.com/stable/package_esp8266com_index.json рисунок 2.

 

Рисунок 2. Настройка контроллера

 

После этого в меню «Инструменты» — «Плата» «Менеджер плат» выбрать «esp8266» и установить последнюю версию. После проделанных действий в меню «Инструменты» — «Плата» нужно найти NodeMCU рисунок 3.

 

Рисунок 3. Установка последней версии «esp8266»

 

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

#include <ESP8266WiFi.h>

#include <ESP8266WebServer.h>

#include <WiFiUdp.h>

#include <EEPROM.h>

Библиотека WiFiUdp.h будет использоваться для программирования UDP-функционала. Стандартная EEPROM.h предназначена для работы с энергонезависимой памятью (запись данных, их чтение).

#define DEV_COUNT 4

#define interruptPin 0

Данный фрагмент листинга используется для определения или ссылки на тип структуры.

typedef struct ADDRESS {

char flag;

char ssid[32];

char password[32];};

ADDRESS address;

Следующим шагом является установка имени точки доступа и пароля входа в неё.

const char* ssid = "R_Lab";

const char* password = "54237890";

В следующем фрагменте запускаем сервер на порту 80.

ESP8266WebServer server(80);

Ниже указываем на каких пинах контроллера будут находится наши реле.

int devices[DEV_COUNT] = {D5, D6, D7, D8};

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

String getState() {

String result = "";

for (int i = 0; i < DEV_COUNT; i++)

result += String(digitalRead(devices[i]));

return result;}

void setup() {

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

     pinMode(interruptPin, INPUT_PULLUP);

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

attachInterrupt(digitalPinToInterrupt(interruptPin), handleInterrupt, CHANGE);

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

for (int i = 0; i < DEV_COUNT; i++) {

pinMode(devices[i], OUTPUT);

digitalWrite(devices[i], LOW);       }

Устанавливаем скорость передачи данных серийного порта для вывода отладочной информации.

Serial.begin(115200);

Serial.println();

Serial.print("Start as AccessPoint: ");

В этом фрагменте листинга указываем серверу режим работы - точка доступа.

WiFi.mode(WIFI_AP);

Serial.println("OK");

Выводим полученный IP для подключения.

IPAddress apip = WiFi.softAPIP();

Serial.print("Visit: \n");

Serial.println(apip); }

В данной части скетча используется обработчик входящего сообщения – установка логических уровней.

server.on("/set", []() {

int device = server.arg("device").toInt();

int state = (server.arg("state") == "on") ? HIGH : LOW;

Serial.println( "Device: " + server.arg("device") );

Serial.println( "State: " + server.arg("state") );

Serial.println( "------" );

digitalWrite(devices[device - 1], state);

server.send(200, "text/plain", "OK. Device " + server.arg(device) + " state: " + server.arg("state"));       });

server.on("/get", []() {

server.send(200, "text/plain", getState());  });

server.onNotFound([]() {

server.send(404, "text/plain", "Not Found\n\n");      });

И, наконец, стартуем сервер.

server.begin(); }

В главном цикле просто заставляем сервер обрабатывать входящие сообщения.

void loop() {

server.handleClient();

Далее идём Инструменты/Плата:/Менеджер плат, находим там «esp8266 by ESP8266 Community» и устанавливаем последнюю версию. Все теперь можно прошивать модуль ESP8266 с Wi-Fi модулем.

Дальше скачиваем библиотеку WS2812FX по ссылке (https://github.com/kitesurfer1404/WS2812FX). В Arduino IDE подключаем Скетч, который содержится в библиотеках от Arduino IDE. Теперь при написание web интерфейса нужно задать пароль и название сети, то есть в нем SSID и пароль для подключения к вашему роутеру будет так как мы его назовем.

#define WIFI_SSID "esp2812" #define WIFI_PASSWORD "123456789" показано на рисунке 4

Тем самым мы настраиваем web интерфейс освещения.

 

Рисунок 4. Задание пароля и названия сети

 

Таким образом, определена структура связей внутренних назначенных компонентов системы управления освещением с применением стандарта IEEE 802.15 и спецификации беспроводной локальной сети IEEE 802.11 Wi-Fi для получения удаленного доступа к осветительному устройству через web интерфейс.

Определена составляющая комплектная основа аппаратной части системы управления освещением на основании программной и аппаратной совместимости компонентов и основная стоимость на рынке.

 

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

  1. Авдеев А. С. Разработка систем автоматизации жилых и офисных помещений «Умный Дом»: сб. науч. тр. / «Катановские чтения» - 2017». 2017. С. 142-143
  2. Авдеев А.С., Герасимова А.И. Основные проблемы программирования систем «Умного Дома»: сб. науч. тр. / Перспективы науки. - 2018. 62-65 С.
  3. Блум Дж. Изучаем Arduino: инструменты и методы технического волшебства. СПб.: БХВ-Петербург, 2016. 336 с.
  4. Шаров Ю.В., Хорольский В.Я. Электроэнергетика: учебное пособие. М.: Инфра-М, 2016. 384 с.
  5. Кашкаров А. Умный дом своими руками. М.: ДМК-Пресс, 2015. 256 с.
  6. Кнорринг Г.М. Осветительные установки. Л.: Изд-во Энергоиздат, 2016. 288 с.Ревинская О. Г. Основы программирования в MatLab: учеб. Пособие. СПб.: БВХ-Петербург, 2016. 209 с.
  7. URL: https://www.arduino.cc/
  8. https://github.com/arduino/Arduino/

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

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