Интернет вещей для начинающих. Визуальное программирование микроконтроллеров семейства 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, позволяющий программировать их с помощью браузера (кроме начальной установки программного обеспечения). Позволяют объединять контроллеры в сети,