Разработка комплекса "Умная Розетка"

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 20.10.2016
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

В ходе выполнения данной работы была осуществлена разработка комплекса "Умная Розетка". Причина реализации данного комплекса - современная и развивающаяся технология - Интернет Вещей, которая стала весьма актуальна в последние пару лет. Разработка состроит из двух элементов: модифицированной бытовой розетки, которой можно управлять дистанционно и второй элемент - мобильное приложения с помощью, которого пользователь может менять состояния.

Для реализации взаимодействия элементов используется беспроводное соединение по технологии Wi-Fi, из-за большого радиуса действия. Для взаимодействия программ используются сокеты, которые позволяют обмениваться информацией напрямую.

Также в работе описан принцип работы комплекса в целом, а также каждого элемента отдельно. При реализации Розетки был сделан упор на простоту и надежность, а реализация мобильного приложения - удобство использования и эффективную работу кода.

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

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

1. Интернет Вещей

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

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

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

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

2. Принцип взаимодействия элементов Умной Розетки

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

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

Из всех видов беспроводных необходимо выделить Bluetooth и Wi-Fi. Оба стандартам широко распространены, находятся почти в каждом смартфоне, планшете и смартфоне, и при этом используются для разных вещей. Wi-Fi используется для подключения одного или многих устройств к Интернету, или создания локальной беспроводную сеть, которая может связать несколько устройств. Наиболее типичным сценарием использования Wi-Fi для потребителей является беспроводной маршрутизатор установлен дома или в офисе. Эта центральная базовая станция, маршрутизатор, в лабораторных условиях распространяет сигнал на расстояние около 100 метров, на практике это число уменьшается до 35 метров из-за толстых стен и помех от других приборов.

Bluetooth же, как правило, имеет меньший радиус действия - около 20 метров, но при этом обладает меньшим энергопотреблением. Bluetooth является технологией устройство-устройство и поэтому требует, чтобы бы сначала два устройства были связаны между собой (как правило, это заключается в наборе номера, который генерируется другим устройством из пары). Wi-Fi не имеет такого требования нет спаривания, но для успешного получения доступа к частной сети Wi-Fi все так же требуется корректно введенный пароль. Он редко включает в себя получение на Интернет, и не зависит от какого-либо центрального устройства, как маршрутизатор. Это почти всегда используется для соединения двух устройств друг с другом в какой-то полезным способом.

В связи с развитием технологий сегодня радиусы действия Wi-Fi и Bluetooth 4.х не сильно отличаются, и любая технология обеспечит устойчивый сигнал в пределах квартиры (не учитывая сложные ситуации со значительными помехами, которые создает внешняя среда). Однако возможность подключения сразу нескольких устройств и возможность подключения являются достаточным основанием для выбора Wi-Fi в качестве основной технологии передачи сигнала между Умной Розеткой и мобильным приложением. Поэтому одним из требований к микрокомпьютеру, который будет управлять устройством, будет поддержка Wi-Fi стандарта.

Сетевое взаимодействие Умной Розетки и Мобильного приложения будет клиент-сервер:

1) Розетка всегда включена и ожидает инициализации соединения от любых мобильных устройств.

2) Клиентское приложение отправляет запрос на авторизацию, в котором указывает пароль

3) Умная Розетка в случае неверного пароля или превышения числа активных пользователей разрывает соединение. Если эти проблемы не возникают, то в ответном сообщении Умная Розетка отправляет свое текущее состояние

4) На этом этапе работа происходит по одному сценарию: Смартфон отправляет сигнал на смену состояние, Розетка отправляет каждому клиенту (из списка установленным соединением) новое состояние, Смартфон получает сигнал о завершении операции переключения состояния

5) Для завершения сессии необходимо закрыть приложение.

3. Серверная Часть Розетки

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

Реализация сетевой части будет на языке высокого уровня - Си. Этот язык имеет следующие преимущества:

1. компилируемый язык

2. портируемый язык

3. весьма прост и понятен даже для студентов

4. самых эффективный язык (не считая ассемблера)

5. существует большое число открытых библиотек

Из минусов можно отметить: отсутствие ран тайм проверок, не выполнение парадигмы ООП, отсутствие проверки типов; однако эти минусы компенсируются эффективностью кода

Для достижения высокой эффективности сетевой части комплекса используются Сокеты. Сокеты позволяют осуществлять передачу между двумя разными процессами на одной или разных машинах. Для общения с компьютером используйся стандартные unix дескрипторы, которые нужны для осуществления операции записи или чтения. Сокет представляет собой целое, которое проассоциированно с открытым файлом, который в свою очередь может быт текстовым файлом, сетевым подключением или любым другим. Для программиста сокет выглядит низкоуровневым дескриптором файла, потому что синтаксис операций над сокетом схож с синтаксисом для работы с потоками и файлами (read() и write()). Таким образом сокеты чаще всего используются в клиент-серверных фреймворках, что является разрабатываемым случаем.

Как было сказано выше требование к серверу поддержка нескольких одновременных соединений, для этого каждый клиент должен обрабатываться параллельно от остальных. Данной независимости можно достичь, если при появлении нового подключения создавать новый поток, который будет "работать" с данным клиентом. Потоки создаются функцией pthread_create(3), которая написана в <pthread.h>

Код сетевой части приложения состоит из следующих шагов:

1) создание сокета функцией socket(). В случае ошибки функция возвращает -1.

2) задание параметров сокета (такие как номер порта)

3) получение дескриптора сокета через bind(). С этого момента программа становится доступна по указанному адресу

4) запуск сервера для ожидание соединений осуществляется listen()

5) сервер работает и устанавливает соединения через функцию accept(). В случае установления сеанса создается новый поток с помощью pthread_create(). Этот поток читает recv() входящее сообщение, обрабатывает его и отправляет результат обработки всем клиентам

4. Реализации Розетки

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

В качестве “мозгов” устройства выбран микрокомпьютер Black Swift(BS). Из группы подобных устройств (таких как Intel Edison, Raspberry Pi) его выделяют следующие пункты:

1) небольшой размер - 25Ч35Ч4 мм, и при этом для начала работы платы не требуется внешняя обвязка, а также присутствуют два micro-USB выхода, Wi-Fi (необходимый для беспроводной передачи данных) и большое количество GPIO, которые позволяют подать сигнал от процессора к окружающим элементам

2) умеренная производительность: 32-битное процессорное ядро с архитектурой MIPS 24K и частотой 400 МГц, 64 МБ DDR2-памяти и 16 МБ флэш-памяти

3) гибкость работы: BS может работать как в связке с другими устройствами, так и независимо от них; простота разработки и загрузки программного кода на устройство, конечно есть поддержка языка Си;

Кроме того, цена менее 20$ является еще одним фактором выбора BS.

5. Схематическое устройство Умной Розетки

Рис.1. Конструкция устройства. МДУ - модуль дистанционного управления, 220v - бытовая электросеть, Ш1 - розетка, работающая напрямую, Ш2 - дистанционно управляемая розетка

Модуль дистанционного управления отвечает за включение-выключения дистанционной розетки, подробно изображен на рис. 2.

Рис.2 Составные части модуля дистанционного управления (МДУ), ИБП - Импульсный блок питания, БР - Блок реле, BS - Black Swift

Умная Розетка посредством соединительной вилки подключается к бытовой электросети. Импульсный блок питания (ИБП) подает питающее напряжение на модуль Black Swift(BS) и Блок Реле(БР), 5 и 12 Вольт соответственно.

При получении внешнего сигнала по беспроводному каналу, BS в начинает/прекращает подать на свой разъёма GPIO-20 напряжение равное 3 Вольта. Подключенный к этому разъему БР во включено состоянии коммутирует розетку Ш2.

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

Рис. 3. а - корпус Умной Розетки снаружи, б - корпус Умной Розетки изнутри

Для того что бы процессор подавал сигнал на нужный выход, в программу (к сетевой серверной части) добавлен код, который этим управляет. Функция gpioSetup() выполняет начальную установку GPIO; gpioDirection() - устанавливает направление (вход/выход); gpioSet() - меняет значение на выходе, именно это функция отвечает за включение розетки.

6. Программа для мобильного устройства

Как видно из скриншота интерфейс программы - весьма интуитивен и прост. Под большим пальцем находится кнопка Включения/Выключения. Выше кнопки статусбар, который информирует об актуальном состоянии розетки. В верхнем правом углу кнопка "Обновить", при нажатии на нее произойдет разрыв текущего соединения и инициализация нового соединения; она присутствует для выхода из состояния, когда розетка долго отвечает (возможно по причине неудачного разрыва беспроводного соединения).

Рис. 4. Скриншоты приложения. a - ожидание ответа Розетки. б - "статус Розетки - включена"

При нажатии на кнопку - статусбар отображает обработку запроса, кнопка Включения/Выключения становится недоступной для нажатия, и на переднем плане появляется индикатор загрузки (рис. 5.а)

При запуске приложения создается сокет. Этот сокет на адрес Розетки отправляет запрос на авторизацию. При успешной авторизации сокет в ответ получает строку - текущее состояние розетки; при этом соединение не разрывается. Когда пользователь нажимает кнопку Включения/Выключения, формируется запрос на установке нового состояния; сокет его оправляет, и после в соответсвии с ответом сохраняется значение, переданное розеткой как текущее. Соединение не разрывается, потому что одновременно пользоваться Умной Розеткой могут несколько пользователей; и благодаря активности всех соединений Розетка может оповестить всех мобильных клиентов об изменении своего состояния.

Программа для мобильных устройств на операционной системе iOS полностью написано на языке Swift. Это относительно молодой язык, который разработала компания Apple, специально для создания программ под iOS устройства. Благодаря высокой степени интеграции софтверной и хардверной частей программы на этом языке выполняются наиболее эффективно.

7. Тестирование устройства

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

Прежде всего проверяется запуск устройств и подключение мобильного приложения к приложению, запущенному в Розетке. Данный тест был успешно пройден. После проверке подверглись: отправка сообщения мобильным приложением, успешное получение-обработка его Розеткой, отправка Розеткой ответного сообщения. Тоже успешно пройден. Затем проверяется подача напряжения для включения блока реле. Тоже успешно пройден. Таким образом устройство первичную задачу выполняет.

Следующий этап тестирования - проверка "общения" Розетки с разными пользователями. На тестовом образце, при отправки мобильным клиентом неверного кода авторизации, соединение разрывалось. При одновременном подключении нескольких мобильных клиентов, отправление сообщения одним из клиентов приводила к получению ответа всеми подключенными мобильными устройствами. Обработка Розеткой запроса на смену состояния происходит за доли секунды в пределах устойчивого сигнала Wi-Fi.

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

Заключение

интернет вычислительный умный розетка

По результатам выполнения данной работы стал успешно разработанный комплекс - Умная Розетка, из чего можно сделать следующие выводы:

1) Была реализованная Розетка, работа которой контролируется микрокомпьютером;

2) Написано приложение для дистанционного управления с мобильных устройств разработанной Розеткой;

3) Произведено ознакомление с технологией Интернет Вещей; и изучение потребительского аспекта данной технологии;

4) Изучение механизма поиска оптимальных технологий для реализации каждого из этапов разработки устройства.

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

1) Технология Интернета Вещей "сформировалась" еще не до конца, то есть нет единого стандарта, который принят всеми разработчиками устройств для ИВ. Однако делаются шаги для укрепления позиций ИВ, например, в 2018 году будет сертифицирован стандарт Wi-Fi с более низким энергопотребление, поэтому необходимо более полное погружение в быстроизменяющуюся структуру взаимодействия устройств ИВ.

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

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

Таким образом поставленная задач полностью выполнена; был реализован комплекс из друг элементов: Розетки и Мобильного приложения, которые вместе позволяют в домах автоматизировать бытовые устройства.

Список использованных источников

1 Silver Moon, Server and client example with C sockets on Linux. URL: http://www.binarytides.com/server-client-example-c-sockets-linux/

2 Unix Socket - Server Examples. URL: http://www.tutorialspoint.com/unix_sockets/socket_server_example.htm

3 What is a Socket. URL: http://www.tutorialspoint.com/unix_sockets/what_is_socket.htm

4 Андрей Боровский, Сокеты. URL: http://citforum.ru/programming/unix/sockets/

5 Дмитрий Жеребков, Black Swift - Интернет вещей. URL: http://www.black-swift.ru/?id=17

6 Анатолий Ализар, Raspberry Pi 3. URL: https://geektimes.ru/post/271808/

7 «Умная» розетка своими руками. URL: https://geektimes.ru/post/258754/

Приложение 1

Код Розетки

Приложение 2

Код мобильного приложения

Размещено на Allbest.ru


Подобные документы

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

    практическая работа [230,8 K], добавлен 25.03.2015

  • Разработка динамической модели мехатронного устройства. Классификация захватных устройств. Составление уравнений движения мехатронного устройства в виде уравнений Лагранжа второго рода. Конструктивные особенности схвата мехатронного устройства.

    дипломная работа [448,2 K], добавлен 27.06.2012

  • Структура Android-приложений. Особенности игрового движка. Алгоритмизация и программирование. Список игровых состояний. Настройка, отладка и тестирование программы. Разработка руководства пользователя. Тестирование инсталляции и отображения элементов.

    дипломная работа [4,5 M], добавлен 19.01.2017

  • Разработка нового технического оборудования. Изготовление и эксплуатация цифровых устройств. Модель элемента дискретного устройства. Алгоритм загрузки логического элемента из файла и процедуры моделирования. Используемые методы, процедуры и функции.

    курсовая работа [306,1 K], добавлен 24.06.2012

  • Иерархия запоминающих устройств ЭВМ. Микросхемы и системы памяти. Оперативные запоминающие устройства. Принцип работы запоминающего устройства. Предельно допустимые режимы эксплуатации. Увеличение объема памяти, разрядности и числа хранимых слов.

    курсовая работа [882,6 K], добавлен 14.12.2012

  • Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.

    дипломная работа [5,8 M], добавлен 28.09.2015

  • Актуальность задачи. Разработка функциональной схемы устройства. Радиолокационная установка (РЛУ). Микропроцессорная часть. Обоснование алгоритма работы устройства. Разработка управляющей программы устройства. Схема алгоритма. Пояснения к программе.

    курсовая работа [193,9 K], добавлен 18.10.2007

  • Основные задачи контроля и диагностики электронно-вычислительных машин, необходимость, структура диагностирования ЭВМ. Описание программы производительности системы и пакета SISOFT SANDRA. Сводная информация о тестируемом компьютере, стресс-тестирование.

    курсовая работа [1,5 M], добавлен 05.05.2009

  • Основные принципы структурной и функциональной организации цифровых вычислительных машин и их главных узлов. Проектирование узлов ЭВМ и изготовление соответствующей конструкторской документации. Функциональная организация ЭВМ Единой системы (ЕС ЭВМ).

    курсовая работа [464,2 K], добавлен 17.12.2013

  • Архитектура систем интернета вещей. Модели взаимодействия устройств интернета вещей. Связи устройство-устройство, устройство-облако, устройство–шлюз. Модель передачи данных в бэк-энд. Алгоритмы обработки данных. Проведение анализа данных в маркетинге.

    дипломная работа [643,8 K], добавлен 17.06.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.