ВВЕДЕНИЕ 7
1 Анализ технического задания 9
1.1 Обзор существующих сетей IoT, вариантов автоматического
распознавания и конфигурирования конечных объектов и узлов 10
2 Описание используемых компонентов и протоколов 15
2.1 Микроконтроллер ESP8266 15
2.1.1 Технические характеристики ESP8266 15
2.2 Разновидности модуля ESP8266 18
2.3 Обзор прошивок модуля ESP8266 18
2.3.1 Начальная загрузка и обновление прошивки 19
2.4 Программные средства разработки 19
2.4.1 Язык программирования LUA 20
2.5 Типовые сценарии использования модуля ESP8266 21
2.6 Протоколы и стандарты связи 22
2.7 Протокол MQTT 24
2.8 Датчик температуры и влажности 26
2.9 Типы используемых реле 28
3 Разработка модуля управления электроприборами 30
3.1 Разработка электрической схемы модуля управления 30
электроприборами 30
3.2 Разработка программного обеспечения модуля 3 1
3.2.1 Выбор варианта реализации программного обеспечения и среды
разработки 31
3.2.2 Алгоритм работы устройства 34
3.2.3 Описание режимов работы 35
3.2.4 Описание модулей программного обеспечения контроллера 37
3.2.5 Описание конфигурации модуля 38
3.2.6 Описание протокола взаимодействия 38
3.3 Подготовка модуля к работе 40
3.4 Общее описание работы и взаимодействие программных 44
модулей 44
ЗАКЛЮЧЕНИЕ 46
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 47
Приложение
Во-первых, для того, чтобы подсоединить вещи к интернету, необходима простая и эффективная по затратам система передачи информации и идентификации вещей. Такую возможность и необходимый функционал предоставляют различные пассивные и активные беспроводные технологии: RFID, NFC, Wi-Fi и др.
Во-вторых, польза от собранных данных о вещах проявится, только если есть возможность отслеживать изменения в физическом статусе вещей (в пространстве и во времени). Для этого используются различные сенсорные технологии.
В-третьих, чип в любой продукт будет встраиваться уже на этапе производства, и встроенный в вещи «интеллект» («умные» вещи) позволит принимать сложные и даже независимые решения.
И наконец, миниатюризация и нанотехнологии обеспечивают все более и более мелким вещам возможность экономичной коммуникации и взаимодействия между собой.
Комбинация всех этих технологий и приведет к созданию интернета вещей, который соединит объекты окружающего нас физического и виртуального миров.
На основе Интернета вещей могут быть реализованы всевозможные «умные» (smart приложения в различных сферах деятельности и жизни человека):
«Умная планета» - человек сможет буквально «держать руку на пульсе» планеты: своевременно реагировать на упущения в планировании хозяйств, загрязнения и другие экологические проблемы, а значит, эффективно распоряжаться не возобновляемыми ресурсами.
«Умный дом» - система будет распознавать конкретные ситуации, происходящие в доме, и реагировать на них соответствующим образом, что обеспечит жильцам безопасность, комфорт и ресурсосбережение.
«Умная энергетика» - будет обеспечена надежная и качественная передача электрической энергии от источника к приемнику в нужное время и в необходимом количестве.
«Умный транспорт» - перемещение пассажиров из одной точки пространства в другую станет удобнее, быстрее и безопаснее.
«Умная медицина» - врачи и пациенты смогут получить удаленный доступ к дорогостоящему медицинскому оборудованию или к электронной истории болезни в любом месте, будет реализована система удаленного мониторинга здоровья, автоматизирована выдача лекарственных препаратов больным и многое другое.
В ходе выполнения данной работы были решены все поставленные задачи.
Результатом данной работы является внутреннее программное обеспечение модуля ESP8266 написанного на скриптовом языке LUA
ПО было протестировано с использованием локального брокера развернутого на локальном ПК (MQTT- брокер Mosquitto), MQTT - клиента в виде стандартного приложения под Android (MyMqtt) установленного на смартфон, самого модуля ESP8266, датчика температуры и влажности DHT11, контактного реле управления нагрузкой SRD-05VDC-SL-C, в виде нагрузки лампа накаливания мощностью 100 ватт напряжением 220 вольт.
Все же для реализации более сложных и многозадачных решений необходимо использовать варианты разработки программного обеспечения на языке C++ с использованием библиотек SDK, либо операционной системы с открытым исходным кодом FreeRTOS.