Интернет вещей для начинающих. Визуальное программирование микроконтроллеров семейства ESP8266
Покупка
Основная коллекция
Тематика:
Программирование и алгоритмизация
Издательство:
Инфра-Инженерия
Автор:
Шамин Алексей Алексеевич
Год издания: 2023
Кол-во страниц: 120
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-9729-1167-7
Артикул: 811707.02.99
Представлены азы создания «умных вещей» и «умного дома». На примерах показано, как создаются устройства, позволяющие собирать информацию с датчиков, управлять исполнительными механизмами и создавать алгоритмы работы умных вещей. Все практические примеры не требуют глубоких знаний по программированию и электронике. Даются пояснения из области электроники, информатики, физики и других необходимых для понимания материала областей знания. Для широкого круга читателей, интересующихся созданием «умных» вещей.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
kkbÈäÒÓ
jspcsp{pupq
iÐsk jskujt
{ÒÏÈãĉӺ˹¯ºĄ¯ÈääÒ¯ºmÈÓÒË
äÒ}¯º}ºÓ¯ºãã˯ºm
°ËäË®°mÈ(63
lº°}mÈ{ºãºĄąÈ
½jÓÁ¯ÈjÓÎËÓ˯ҫ
УДК 004.42 ББК 32.973 Ш19 Р е ц е н з е н т ы : зам. директора по развитию ИШИТР ТПУ, к. т. н., доцент, доцент ОИТ ИШИТР ТПУ Дёмин Антон Юрьевич; к. т. н., доцент ОИТ ИШИТР ТПУ Погребной Александр Владимирович Шамин, А. А. Ш19 Интернет вещей для начинающих. Визуальное программирование микроконтроллеров семейства ESP8266 / А. А. Шамин. – Москва ; Вологда : ИнфраИнженерия, 2023. – 120 с. : ил., табл. ISBN 978-5-9729-1167-7 Представлены азы создания «умных вещей» и «умного дома». На примерах показано, как создаются устройства, позволяющие собирать информацию с датчиков, управлять исполнительными механизмами и создавать алгоритмы работы умных вещей. Все практические примеры не требуют глубоких знаний по программированию и электронике. Даются пояснения из области электроники, информатики, физики и других необходимых для понимания материала областей знания. Для широкого круга читателей, интересующихся созданием «умных» вещей. УДК 004.42 ББК 32.973 ISBN 978-5-9729-1167-7 © Шамин А. А., 2023 Издательство «Инфра-Инженерия», 2023 Оформление. Издательство «Инфра-Инженерия», 2023
|k{psjp
Введение
...............................................................................................................................5
О чём эта книга ...............................................................................................................5
Чего нет в этой книге......................................................................................................8
1. Микроконтроллеры семейства ESP8266 и модули ESP-XX
.....................................10
2. Контроллер ShIoTiny.....................................................................................................19
3. Что нужно для работы" ................................................................................................21
4. Как попасть на страницу контроллера ShIoTiny ........................................................24
5. Мы попали на страницу ShIoTiny ...............................................................................28
6. Первая программа .........................................................................................................29
7. Усложняем задачу..........................................................................................................32
8. Монитор .........................................................................................................................34
9. Наигрались" Теперь давайте по порядку
....................................................................35
9.1. Узлы, связи и события ...........................................................................................35
9.2. Какие бывают входы и выходы"
...........................................................................36
9.3. События: что это такое и с чем их подают к столу.............................................37
10. Описание узлов (нод) ..................................................................................................41
10.1. Просто комментарий ...........................................................................................41
10.2. Базовая логика (Basic logic) ................................................................................41
10.3. Бинарные входы и выходы для управления внешними устройствами
...........43
10.3.1. Сказ про «сухие контакты» .........................................................................43
10.3.2. Сказание о реле ............................................................................................46
10.4. Аналого-цифровой преобразователь..................................................................53
10.5. Технология MQTT ...............................................................................................59
10.5.1. Настройка подключения MQTT-брокеру
...................................................61
10.5.2. Префикс MQTT-параметров........................................................................63
10.5.3. Безопасность (SSL) ......................................................................................63
10.5.4. Пример работы по протоколу MQTT .........................................................64
10.6. Технология и протокол Rlink UDP .....................................................................68
10.7. Датчики температуры и влажности ...................................................................72
10.8. Математические функции
...................................................................................75
10.9. Функции отсчёта времени...................................................................................77
10.10. Функции управления прохождением событий ...............................................82
10.11. Функции сетевого сервиса ................................................................................83
10.12. Функции сохранения параметров в энергонезависимую память
..................83
10.13. Функции работы с календарём и синхронизации времени ...........................85
10.14. Системные функции ..........................................................................................87
10.15. Шина I2C ............................................................................................................87
10.16. Модуль индикации на базе микросхемы TM1637
..........................................91
11. Примеры устройств .....................................................................................................94
11.1. Простая комнатная метеостанция ......................................................................94
11.2. Комнатная метеостанция посложнее
.................................................................96
11.3. Система управления освещением ......................................................................98
Заключение .......................................................................................................................105 Полезные ссылки .............................................................................................................106 Приложение А. Страница состояния ShIoTiny (ShIoTiny info page) ..........................107 Приложение Б. Вкладка настройки сети и режимов работы ShIoTiny (Networking) .....................................................................................................109 Приложение В. Работа с редактором ElDraw ................................................................ 111 Приложение Г. Установка программного обеспечения ShIoTiny ................................ 115
{{pipsjp
|ć̘äªÈ}ÓÒĄÈ
Словосочетания «умные вещи», «умный дом» и «интернет вещей»
сейчас встречаются буквально на каждом шагу.
Но что же стоит за этими красивыми словами" Как это работает"
И можно ли самому реализовать свои идеи по управлению какими-то домашними делами"
Об этом и рассказывает эта книга на простых примерах, доступных
даже начинающим.
Разумеется, окружающее нас изобилие «умных вещей» и возможность объединения их в «интернет вещей» появилось не сразу. Поэтому
позволим себе небольшой обзорный экскурс в историю автоматизации,
концепций «умных вещей», «умного дома» и «интернета вещей».
Есть такая избитая фраза – «лень – двигатель прогресса». И это во
многом правда.
С давних пор человек стремится избавить себя от рутинной работы.
Ветряная и водяная мельница – это пример того, как человек приспособил силы природы, чтобы не крутить самому тяжёлые жернова. С тех пор
прошли века. И человек придумывал всё новые и новые способы облегчить себе жизнь. Были придуманы паровое и водяное отопление, ткацкие
станки и автомобили, трактора и самолёты и многое другое. Впрочем, по
истории техники уже написаны толстые книги, которые читатель может
найти и прочитать самостоятельно.
Одно из свойств прогресса состоит в том, что по мере усложнения
технических устройств всё большее значение приобретало развитие такого направления человеческой мысли, как автоматизация технологических процессов. То есть, переводя с научной терминологии на язык
начальной школы – «как сделать так, чтобы оно само работало"».
Автоматизация технологических процессов началась задолго до появления электроники. Например, та же паровая машина, по сути, является
автоматической системой с обратной связью. Ткацкий станок, который
использовал перфокарты ещё в XIX веке – это фактически машина с программным управлением.
Бурное развитие автоматизации технологических процессов началось с появлением электротехники и электроники.
Изобретение даже таких несложных устройств, как электромагнитные реле дало толчок к появлению простых и эффективных систем автоматизации станков, автомобилей, телефонных станций и других механизмов, машин и некоторых производств.
Прогресс в области автоматизации двигался по мере развития электроники, теории управления, автоматики, а затем информатики и компьютерных наук. С появлением дешёвой и доступной электроники различные приборы автоматизации начали всё шире проникать из «большой» промышленности в сферу домашнего быта. Первые «умные вещи» с электронной начинкой (то есть вещи, которые автоматизируют функции, для которых они предназначены) появились более полувека назад. Как пример можно привести автоматы включения освещения или различные устройства вентиляции и подогрева помещений. Из-за дороговизны электронной компонентной базы того времени и некоторых других причин, в быту подобные вещи тогда не получили большого распространения. Сейчас уже никого не удивишь автоматическим включением света в подъезде или комнате. Привычными стали бытовые системы кондиционирования воздуха и создания микроклимата в помещении. Даже такие простые бытовые вещи как печь или чайник обзавелись некоторым «интеллектом», позволяя их счастливому хозяину вскипятить воду к заданному времени или разогреть еду до желаемой температуры. Следующим этапом развития «умных вещей» стала возможность обмена данными между ними, что породило концепцию «умного дома». В данном случае, слово «дом» стоит понимать не как жилой дом или квартиру, а как «здание». «Умный дом» – это такое здание, все функции обеспечения жизнедеятельности которого имеют единый центр управления, из которого можно как видеть текущее состояние аппаратуры «умного дома» и управлять ей. Например, у вас есть жилой дом с несколькими комнатами, двором, гаражом и садом. В каждой комнате дома, в гараже и в саду есть датчики температуры, освещённости, влажности, движения и т. д., данные от которых постоянно передаются в некий центр управления, например, в персональный компьютер. В зависимости от заданных параметров, этот компьютер может включать в той или иной комнате вентиляцию или подогрев. Может включать и выключать освещение в зависимости от времени суток и освещённости в помещении. Может включать и отключать освещение в саду, которое может быть основным и дежурным. В общем, может делать то, что вы сделали бы сами в тех же условиях. Разумеется, что такие подходы можно применить не только к жилому дому, но и к офису или к магазину или иному зданию. И, наконец, широкое распространение глобальной сети Интернет позволило не только соединить «умные вещи» в пределах одного здания,
но и в пределах практически всего земного шара. Эта возможность и породила концепцию «интернета вещей». «Интернет вещей» предполагает обмен информацией между вещами в глобальном масштабе. То есть, подключение «умного дома» к интернету позволяет управлять своим домом из любой точки мира, где есть доступ в интернет, включать-выключать свет, температуру в комнате или установить «умную камеру» наблюдения, которая при обнаружении движения в заданном секторе произведёт съёмку и поместит видео в интернет и многое другое. Сейчас уже говорят об «умных холодильниках», которые сами определяют, каких продуктов не хватает и в соответствии со вкусами хозяина посылают заказ в магазин. На сегодняшний день на рынке имеется масса «умных вещей» – от простейших, вроде автомата управления освещением до сложных комплексных решений для управления жилыми домами и предприятиями. Казалось бы – покупай и используй. Но тяга к творчеству у многих людей неиссякаема, поэтому появляются всё новые и новые самоделки. Эта книга призвана помочь начинающим узнать на некоторых примерах азы создания «умных вещей», «умного дома» и «интернета вещей». Сегодня одна и та же «умная вещь» часто может использоваться сама по себе или в составе «умного дома» или подключаться к «интернету вещей». Поэтому все три концепции – «умных вещей», «умного дома» и «интернета вещей» – слились по сути в одну концепцию, которой хорошо подходит название «малая автоматизация». В дальнейшем мы будем использовать этот термин. В современном мире практически все электронные устройства, обладающие хоть сколько-нибудь развитым функционалом, содержат в своём составе управляющий элемент – микроконтроллер или микропроцессор, являющийся «мозгом устройства». Почти любое бытовое устройство можно снабдить «интеллектом», который позволит использовать его с большим комфортом для хозяина. Но даже если у ваc есть идея, как улучшить то или иное устройство, то не всегда удаётся реализовать её на практике: недостаточные знания электроники и программирования служат непреодолимым барьером. Чтобы облегчить жизнь тем, у кого есть идеи, но не достаточно знаний в указанных областях, было разработано множество аппаратных и программных средств, позволяющих реализовать достаточно сложные функции без глубоких знаний в электронике и программировании. В этой книге описано одно из таких средств: система визуального программирования контроллеров ShIoTiny. Эта система работает на популярных WiFi-микроконтроллерах семейства ESP8266 и не требует для своей работы ничего, кроме точки доступа WiFi и WEB-бразера.
Для программирования в системе визуального программирования ShIoTiny не требуется глубоко знать какие-то языки программирования: алгоритмы рисуются в виде схем. Контроллер семейства ESP8266 с установленной на него системой визуального программирования ShIoTiny ниже будет называться сокращённо «контроллер ShIoTiny» или просто «ShIoTiny». ËĄºÓËmªº®}ÓÒĄË Каждая книга имеет ограничения по объёму и количеству затрагиваемых вопросов. Не является исключением и эта книга. Предполагается, что читатель знаком с основами электротехники и в общих чертах представляет, что такое резистор, конденсатор, реле, светодиод, транзистор, а также умеет читать простые электронные схемы. Если это не так, то читателю рекомендуется обратиться к литературе, ставшей уже классикой изучения электротехники и электроники. Перечислим некоторые их этих бестселлеров. Во-первых, это многократно переизданная книга Свореня Рудольфа Анатольевича «Электроника шаг за шагом». На этой книге выросли уже несколько поколений радиолюбителей-самодельщиков, и её по праву можно считать «курсом электроники для самых маленьких». В ней вы найдёте ответы на вопросы, что такое электрическая цепь, как работает реле и транзистор, а также различные варианты практических схем. Во-вторых, это книга Отряшенкова Юрия Михайловича «Юный кибернетик», посвящённая автоматам и роботам. Книга издана ещё в 70-е годы XX века, но там есть большая часть, посвящённая истории возникновения автоматов (тогда не было ещё термина «умная вещь») и роботов. Кроме того, там показаны примеры практических схем на реле и транзисторах, которые могут быть собраны на современной элементной базе. Также там есть немало идей разных самодельных автоматов. В-третьих, это классический трёхтомник Пауля Хоровиц и Уинфилда Хилла «Искусство схемотехники», ставший библией начинающих инженеров. Он также многократно переиздавался на русском языке. В этом трёхтомнике читатель найдёт массу ответов на вопросы по работе аналоговых и цифровых схем, а также немало практических примеров схем и устройств. Замечу, что я назвал только те книги, которые стали классикой, широко доступной как в печатном, так и в электронном виде. На самом деле книг по электронике во много раз больше и вы, при необходимости, без труда найдёте их в сети Интернет.
Кстати, о сети Интернет. Не стесняйтесь задавать вопросы поисковым системам. Особенно, если вопрос конкретный и практический. На- пример, если вам недостаточно приведённой информации по программированию модулей на базе ESP8266 с помощью утилиты esptool, то просто напишите в поисковой строке браузера «Как пользоваться esptool примеры» и тут же получите более 2000 результатов поиска, где найдёте инструкции и примеры на все случаи жизни. На запрос «Как подключить реле к esp8266» получено более 21ௗ000 результатов поиска. По тексту автор будет отсылать к Интернету по мере необходимости. Не стесняйтесь учиться сами – тогда всё у вас получится
lÒ}¯º}ºÓ¯ºãã˯©°ËäË®°mÈ(63 ÒäºąãÒ(63;; Микроконтроллер – это «мозг» современной электроники, в том числе и «умных вещей». Микроконтроллер – это практически законченный компьютер, выполненный в виде одной микросхемы. В одном кристалле находятся микропроцессор, память программ, память данных, таймеры, интерфейсы и многое другое. Раньше вместо слова «микроконтроллер» использовался термин ОЭВМ – однокристалльная электронно-вычислительная машина. Но этот термин очень долго выговаривать, поэтому сейчас чаще говорят просто «микроконтроллер». Действительно, на многие микроконтроллеры достаточно подать питание – и он готов к работе. Сам по себе микроконтроллер может не очень много. Чтобы его использовать, надо как-то ввести в него данные – например, с помощью кнопки и каким-то образом получить результат – например, с помощью светодиодов или реле. Но об этом ниже. Ассортимент микроконтроллеров, предлагаемых современной промышленностью просто огромен, как огромно и различие в цене и возможностях этих микроконтроллеров. Обзор всех особенностей выпускаемых микроконтроллеров выходит далеко за рамки этой книги. В качестве основы устройств в этой книге был выбран микроконтроллер семейства ESP8266. На базе этого очень дешёвого микроконтроллера выпускаются доступные и дешёвые модули ESP-07, ESP-12 и другие, которые отличаются, в основном, объёмом памяти программ. Почему именно это семейство микроконтроллеров было выбрано" Во-первых, модули на базе ESP8266 доступны почти в любом магазине радиодеталей, в любом интернет-магазине. Во-вторых, цена этих модулей составляет сотни рублей (а в популярном магазине AliExpress – менее 100 руб. за модуль ESP-07). Такая цена делает модули доступными любому желающему. В-третьих, для модуля на базе ESP8266 имеется ряд средств разработки, не требующих специальных знаний. Одна из таких бесплатных сред разработки простых «умных устройств» – ShIoTiny – описана ниже и используется в наших примерах. В-четвёртых, несмотря на низкую цену, модули на базе ESP8266 имеют встроенный интерфейс беспроводной связи WiFi, позволяющий программировать их с помощью браузера (кроме начальной установки программного обеспечения). Позволяют объединять контроллеры в сети,