Курмаев Р.А.

Гр.218

 

Тема «Радиосеть управления освещением с использованием технологии Wifi (esp8266)»

Основная задача курсовой работы: разработка модуля управления RGB светодиодной лентой по технологии Wi-Fi и практическая демонстрация его функциональных возможностей.  Разработка веб - интерфейса взаимодействия пользователя с устройством.

Часть 1.

 

Введение:

В настоящие время мы все чаще слышим выражение «Интернет вещей». Первое  что приходит в голову, когда слышишь эту фразу: « Вещи, которые имеют выход в интернет».    Если развивать эту мысль дальше появляется много вытекающих вопросов.  Как? Зачем это нужно? Что это нам дает?

Если рассматривать англоязычную формулировку  (Internet of Things) становиться немного понятнее т.к. можно перевести как сеть вещей. А сеть подразумевает обмен информацией между ее участниками.  Теперь ответить на вопросы «Зачем это нужно?» и «Что это нам дает?» стало проще.  Если вещи обмениваются между собой информацией, то они могут выполнять некоторые действия за нас. Например, человек каждое утро встает по будильнику, пьет чай и едет на машине на работу. Человек встает, идет на кухню, включает чайник, ждет закипания воды в чайнике, ждет пока  вода остынет до нужной температуры, пьет чай, собирается на работу, заводит машину и ждет пока она прогреется.  IoT позволяет упростить утро этого человека. Получив информацию от будильника, чайник включился, аналогично через некоторое время завилась машина.  Как минимум это экономит время и делает нашу жизнь проще.  

IOT — концепция пространства, в котором все из аналогового и цифрового миров может быть совмещено – это переопределит наши отношения с объектами, а также свойства и суть самих объектов. © Роб Ван Краненбург.[2] 

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

Открытым остается вопрос «Как?». А именно «Как это реализовать?»  в данной курсовой работе я попытаюсь ответить на данный вопрос на примере модуля управления светодиодной лентой.

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

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

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

Сеть, в которой будет работать разрабатываемое устройство можно представить на следующем рисунке (рис.1).

 

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

Модуль управления – реализует веб интерфейс для взаимодействия с пользователем, выполняет отправку и прием сообщений от устройства по технологии Wi-Fi.

Терминал RGB – управляет свечением светодиодной ленты, получает команды от Модуля управления и посылает в ответ сообщения по технологии Wi-Fi.

RGB LED – непосредственно светодиодная лента управляемая Терминалом RGB.

Описание команд управления:

Управление  свечением светодиодной ленты (рис.2) происходит посредством изменения напряжения на ее контактах.


Рисунок 2. Светодиодная лента.

 

Чем выше напряжение, тем ярче свечение. Максимальное напряжение, на которое рассчитана светодиодная лента  12 V.  Задача управления уровнем яркости свечения сводиться к изменению уровня напряжения на контактах R G B. Данная задача решается посредством использования ШИМ (широтно-импульсная модуляция - процесс управления мощностью, подводимой к нагрузке, путём изменения скважности импульсов, при постоянной частоте) (рис . 3).


Рисунок 3. ШИМ 

Увеличивая величину ШИМ (уменьшая скважность), мы увеличиваем среднее за период напряжение, тем самым увеличивая яркость свечения ленты (рис.4). Для соответствия величины ШИМ таблице цветов, величину ШИМ разделяют на 255 уровней (A/T = 0 - Уровень 0 , A/T= 1 – Уровень 255).


Рисунок 4. Иллюстрация работы ШИМ.

Однако данный способ управления имеет существенный недостаток. При малых значениях ШИМ возможны мерцания светодиодной ленты. Это происходит, потому что уровень нуля перелается дольше, чем  1/24 = 0,0416 сек. Данный интервал заметин для человеческого глаза, что вызывает дискомфорт. Поэтому необходимо использовать ШИМ с высокой частотой.

Итак, для задания цвета и уровня яркости светодиодной ленты  терминал должен получить  от модуля управления  3 уровня ШИМ а так же коэффициент яркости.

Уровни ШИМ принимают  значение  от 0 до 255.

Коэффициент яркости принимает значение от 0 до 1 .

Примеры (Таблица 1):

Название цвета

Код цвета R,G,B

LightCoral

240, 128, 128

GreenYellow

173, 255, 47

HotPink

255, 105, 180

Gold

255, 215, 0

SkyBlue

135, 206, 235

Таблица 1. Коды цветов RGB.

Каждое значение уровня ШИМ умножается на коэффициент яркости, с округлением до целого,  тем самым регулируя яркость свечения ленты но, не меняя цвета.

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

Обращение к устройствам в сети осуществляется посредствам IP адреса устройства.

Пример команды:

http://192.168.0.101/?r=240&g=128&b=128&br=0.8.

Где 192.168.0.101 - адрес устройства, которому предназначена команда,

r=240&g=128&b=128&br=0.8 –  Уровни ШИМ и Коэффициент яркости.

Пример ответа:

http://192.168.0.100/?addr=192.168.0.101&st=ОК.

Где 192.168.0.100 – адрес модуля управления.

addr=192.168.0.101 – адрес терминала RGB.

st = ок  –  индикатор  выполнения полученной команды.

 

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

Модуль управления:

Отправка  HTTP запросов на терминал  RGB;

Получение ответов терминалов RGB;

Взаимодействие с пользователем посредствам Веб интерфейса (HTTP сервер);

Выдача IP адресов терминалам в сети (DHCP сервер);

Передача данных посредствам Wi-Fi. (Точка доступа AP).

Изобразим диаграмму состояний модуля управления (Рис.5).


Рисунок 5. Диаграмму состояний модуля управления.

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

Получение/ передача сообщения/команды – отправка команды Терминалу RGB/ Получение сообщения от терминала RGB посредством Wi-Fi.

Регистрация нового терминала RGB – получив от пользователя MAC – адрес  терминала RGB, модуль управления выдает ему IP адрес,  тем самым регистрируя его в сети.

Ожидание команды пользователя(IDLE) -  переводит Wi-Fi модуль в режим экономии энергии, предварительно оповестив об этом все терминалы RGB.

 

Терминал RGB:

Получение HTTP запросов от модуля управления;

Отправка сообщений на  Модуль управления;

Передача данных посредствам Wi-Fi (Client);

Управление светодиодной лентой посредствам ШИМ.

Изобразим диаграмму состояний терминала RGB (Рис.6).

 

Рисунок 6. Диаграмму состояний терминала RGB.

Регистрация в сети – получение IP адреса от модуля управления.

Ожидание команды IDLE – ожидание команды от модуля управления.

Выполнение команды – изменение яркости/цвета светодиодной ленты.

Получение/ передача команды/сообщения – получение команды от модуля управления/ передача сообщения модулю управления.

 

 

 

 

Адресация в сети:

IP Адрес : 192.168.0.x;

Маска подсети: 255.255.255.0;

Основной шлюз: 192.168.0.100.

Распределение адресов в сети в зависимости от MAC -адреса:

192.168.0.100 – зарезервированный адрес модуля управления;

192.168.0.255 – широковещательный адрес;

192.168.0.101-192.168.0.254 - адреса терминалов RGB;

192.168.0.1 – 192.168.0.99 – адреса устройств пользователя;

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

Исходя из всего вышеизложенного   можно перечислить службы необходимые для работы сети.

Модуль управления:

HTTP Server;

DHCP Server;

Wi-Fi AP;

Терминал RGB:

HTTP Client;

Wi-Fi Client;

GPIO control service.

Используемая литература:

1  .  Бакке А.В. "Лекции по курсу: «Стандарты и технологии подвижной связи»;

     2. Роб ван Краненбург: Что такое IoT?  http://internetofthings.ru/78-blog/21-rob-van-kranenburg-chto-takoe-iot.