Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

ESP32-C3: Беспроводное приключение: Полное руководство по IoT

Покупка
Новинка
Артикул: 856447.01.99
Доступ онлайн
1 599 ₽
В корзину
Эта книга демонстрирует различные приложения семейства ESP32-C3 — одноядерного микроконтроллера, представляющего собой «систему на кристалле» (SoC) с интегрированными Wi-Fi и Bluetooth 5 (LE). Он обеспечивает необходимый баланс мощности, возможностей ввода-вывода и безопасности, предлагая таким образом оптимальное экономичное решение для подключаемых устройств. Вы освоите основы разработки проектов интернета вещей (IoT) и настройки среды и выполните практические примеры вплоть до запуска изделия в серийное производство. Издание будет полезно инженерам, разработчикам программного обеспечения, преподавателям, студентам и просто любителям оборудования для IoT.
ESP32-C3: Беспроводное приключение: Полное руководство по IoT : практическое руководство / пер. с англ. Ю. В. Ревича. – Москва : ДМК Пресс, 2023. - 443 с. – ISBN 978-5-93700-248-8. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2205041 (дата обращения: 16.04.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
ESP32-C3:  
Беспроводное приключение
Полное руководство по IoT


ESP32-C3 Wireless 
Adventure
A Comprehensive Guide to IoT


ESP32-C3:  
Беспроводное приключение
Полное руководство по IoT
Москва, 2023


УДК 004.75
ББК  32.81
Э41
Э41	 ESP32-C3: Беспроводное приключение: Полное руководство по IoT / 
пер. с англ. Ю. В. Ревича. – М.: ДМК Пресс, 2023. – 442 с.: ил.
ISBN 978-5-93700-248-8
Эта книга демонстрирует различные приложения семейства ESP32-C3  – 
одноядерного микроконтроллера, представляющего собой «систему на кристалле» (SoC) с интегрированными Wi-Fi и Bluetooth 5 (LE). Он обеспечивает 
необходимый баланс мощности, возможностей ввода-вывода и безопасности, 
предлагая таким образом оптимальное экономичное решение для подключаемых устройств. Вы освоите основы разработки проектов интернета вещей (IoT) 
и настройки среды и выполните практические примеры вплоть до запуска изделия в серийное производство. 
УДК 004.75
ББК 32.81
Copyright title of the English-language edition: ‘ESP32-C3 Wireless Adventrue: A Comprehensive Guide to IoT’ published by Expressif Systems.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой 
бы то ни было форме и какими бы то ни было средствами без письменного разрешения 
владельцев авторских прав.
Copyright © Expressif Systems
©  Оформление, издание, перевод, ДМК Пресс, 2023
ISBN 978-5-93700-248-8
Издание будет полезно инженерам, разработ
ния, преподавателям, студентам и просто любителям оборудования для IoT.
чикам программного обеспече
  Оглавление  5
Оглавление
Предисловие от издательства......................................................... 13
Введение ............................................................................................ 14
Предисловие....................................................................................... 15
ЧАСТЬ I. ПОДГОТОВКА.........................................................21
Глава 1. Введение в IoT..................................................................... 23
1.1. Архитектура интернета вещей............................................................23
Уровень восприятия и управления......................................................23
Сетевой уровень....................................................................................24
Уровень платформы..............................................................................25
Прикладной уровень.............................................................................26
1.2. Применение IoT в проекте «Умного дома».........................................26
Глава 2. Введение в практику IoT-проектов.................................. 29
2.1. Введение в типовые проекты IoT........................................................29
2.1.1. Базовые модули для обычных устройств IoT.............................29
2.1.2. Базовые модули клиентских приложений.................................30
2.1.3. Введение в общие облачные платформы IoT............................31
2.2. Практика: проект Smart Light..............................................................32
2.2.1. Структура проекта.......................................................................33
2.2.2. Функции проекта.........................................................................33
2.2.3. Подготовка оборудования...........................................................34
2.2.4. Процесс разработки.....................................................................36
2.3. Резюме...................................................................................................37
Глава 3. Введение в ESP RainMaker................................................ 38
3.1. Что такое ESP RainMaker?.....................................................................39
3.2. Реализация ESP RainMaker...................................................................40
3.2.1. Служба обработки заявок............................................................41
3.2.2. RainMaker Agent...........................................................................42
3.2.3. Облачный сервер.........................................................................43
3.2.4. Клиент RainMaker.........................................................................44
3.3. Практика: ключевые моменты разработки с ESP RainMaker.............44
3.4. Особенности ESP RainMaker.................................................................46


6    Оглавление
3.4.1. Управление пользователями.......................................................46
3.4.2. Функции конечного пользователя..............................................47
3.4.3. Функции администратора...........................................................48
3.5. Резюме...................................................................................................48
Глава 4. Настройка среды разработки........................................... 50
4.1. Обзор ESP-IDF ......................................................................................50
4.1.1. Версии ESP-IDF............................................................................51
4.1.2. Рабочий процесс ESP-DIFF Git....................................................52
4.1.3. Выбор подходящей версии..........................................................53
4.1.4. Обзор каталога ESP-IDF SDK.......................................................53
4.2. Настройка среды разработки ESP-IDF.................................................58
4.2.1. Настройка среды разработки ESP-IDF в Linux...........................58
4.2.2. Настройка среды разработки  
ESP-IDF в Windows.................................................................................60
4.2.3. Настройка среды разработки ESP-IDF на Mac...........................66
4.2.4. Установка VS Code........................................................................67
4.2.5. Знакомство со сторонними средами разработки......................67
4.3. Система компиляции ESP-IDF.............................................................68
4.3.1. Основные концепции системы компиляции.............................68
4.3.2. Структура файла проекта............................................................69
4.3.3. Правила построения системы компиляции по умолчанию.....71
4.3.4. Введение в сценарий компиляции.............................................72
4.3.5. Введение в общие команды........................................................73
4.4. Практика: компиляция примера программы Blink............................74
4.4.1. Анализ примера...........................................................................74
4.4.2. Компиляция программы Blink....................................................77
4.4.3. Прошивка программы Blink........................................................81
4.4.4. Анализ логов последовательного порта программы Blink.......82
4.5. Резюме...................................................................................................85
ЧАСТЬ II. РАЗРАБОТКА ОБОРУДОВАНИЯ  
И ДРАЙВЕРОВ.........................................................87
Глав 5. Аппаратный дизайн продуктов Smart Light на базе 
ESP32-C3............................................................................ 89
5.1. Характеристики и состав продуктов Smart Light................................89
5.2. Аппаратный дизайн базовой системы ESP32-C3...............................93
5.2.1. Источник питания.......................................................................97
5.2.2. Порядок включения питания и сброс системы.........................97
5.2.3. SPI флеш-память..........................................................................98
5.2.4. Источник тактовых импульсов...................................................98
5.2.5. Радиочастотный сигнал (RF) и антенна.....................................99
5.2.6. Выводы управления загрузкой ПО (Strapping Pins)................102
5.2.7. GPIO и ШИМ-контроллер...........................................................102


  Оглавление  7
5.3. Практика: создание системы умного освещения с помощью 
ESP32-C3.....................................................................................................103
5.3.1. Выбор модулей...........................................................................103
5.3.2. Настройка ШИМ-сигналов на выводах GPIO...........................105
5.3.3. Загрузка встроенного ПО и интерфейс отладки......................105
5.3.4. Рекомендации по проектированию радиочастотой части.....108
5.3.5. Рекомендации по проектированию источника питания........109
5.4. Резюме.................................................................................................109
Глава 6. Разработка драйверов.....................................................111
6.1. Процесс разработки драйверов.........................................................111
6.2. Периферийные приложения ESP32-C3.............................................112
6.3. Основы построения драйверов светодиодов....................................113
6.3.1. Цветовые пространства.............................................................114
6.3.2. Светодиодный драйвер.............................................................118
6.3.3. Диммирование светодиодов.....................................................119
6.3.4. Введение в ШИМ........................................................................120
6.4. Разработка драйвера для регулирования светодиодов....................122
6.4.1. Энергонезависимая память (NVS)............................................122
6.4.2. Светодиодный ШИМ-контроллер (LEDC).................................123
6.4.3. Программирование ШИМ для светодиодов.............................125
6.5. Практика: добавление драйверов в проект Smart Light...................128
6.5.1 Драйвер кнопки..........................................................................128
6.5.2. Драйвер регулировки яркости светодиода..............................130
6.6. Резюме.................................................................................................134
ЧАСТЬ III. БЕСПРОВОДНАЯ СВЯЗЬ  
И УПРАВЛЕНИЕ.....................................................135
Глава 7. Настройка Wi-Fi-соединения...........................................137
7.1. Основы Wi-Fi.......................................................................................137
7.1.1. Введение в Wi-Fi.........................................................................137
7.1.2. Эволюция IEEE 802.11................................................................138
7.1.3. Концепции Wi-Fi........................................................................139
7.1.4. Wi-Fi-соединение.......................................................................141
7.2. Основы Bluetooth................................................................................149
7.2.1. Введение в Bluetooth..................................................................149
7.2.2. Концепции Bluetooth.................................................................150
7.2.3. Bluetooth-соединение................................................................154
7.3. Конфигурация сети Wi-Fi...................................................................158
7.3.1. Руководство по настройке сети Wi-Fi.......................................158
7.3.2. Программная точка доступа (Soft access point, SoftAP)...........158
7.3.3. SmartConfig.................................................................................159
7.3.4. Bluetooth.....................................................................................162
7.3.5. Другие методы............................................................................164


8    Оглавление
7.4. Программирование Wi-Fi...................................................................166
7.4.1. Компоненты Wi-Fi в ESP-IDF.....................................................166
7.4.2. Упражнение: соединение Wi-Fi.................................................168
7.4.3. Упражнение: интеллектуальное подключение к Wi-Fi...........172
7.5. Практика: конфигурация Wi-Fi в проекте Smart Light.....................184
7.5.1 Соединение Wi-Fi в проекте Smart Light...................................184
7.5.2. Умная настройка Wi-Fi..............................................................185
7.6. Резюме.................................................................................................186
Глава 8. Локальное управление.....................................................187
8.1. Введение в локальное управление....................................................187
8.1.1. Применение локального управления.......................................189
8.1.2. Преимущества локального управления...................................189
8.1.3. Обнаружение управляемых устройств  
с помощью смартфонов......................................................................189
8.1.4. Передача данных между смартфонами и устройствами........190
8.2. Общие методы локального обнаружения.........................................190
8.2.1. Широковещательная передача.................................................191
8.2.2. Групповая передача (Multicast).................................................197
8.2.3. Сравнение широковещательной и групповой рассылок........202
8.2.4. Протокол групповых приложений mDNS  
для локального обнаружения.............................................................203
8.3. Общие протоколы связи для локальных данных.............................206
8.3.1. Протокол управления передачей (TCP)....................................206
8.3.2. Протокол передачи гипертекста  
(HyperText Transfer Protocol, HTTP)....................................................211
8.3.3. Протокол пользовательских датаграмм  
(User Datagram Protocol, UDP).............................................................214
8.3.4. Протокол ограниченных приложений  
(Constrained Application Protocol, CoAP)............................................218
8.3.5. Протокол Bluetooth....................................................................222
8.3.6. Обзор протоколов передачи данных........................................228
8.4. Гарантии безопасности данных.........................................................230
8.4.1. Введение в безопасность транспортного уровня (TLS)...........232
8.4.2. Введение в датаграмм-протокол безопасности  
транспортного уровня (DTLS).............................................................238
8.5. Практика: локальное управление в проекте Smart Light.................241
8.5.1. Создание локального управляющего сервера на базе Wi-Fi...... 241
8.5.2. Проверка функциональности локального управления  
с помощью скриптов...........................................................................245
8.5.3. Создание локального сервера управления на базе Bluetooth......246
8.6. Резюме.................................................................................................248
Глава 9. Управление через облако................................................250
9.1. Введение в удаленное управление....................................................250
9.2. Облачные протоколы передачи данных...........................................251
9.2.1. Введение в MQTT.......................................................................251


  Оглавление  9
9.2.2. Принципы MQTT........................................................................252
9.2.3. Формат сообщения MQTT.........................................................254
9.2.4. Сравнение протоколов..............................................................258
9.2.5. Настройка MQTT Broker в Linux и Windows.............................259
9.2.6. Настройка клиента MQTT на основе ESP-IDF..........................260
9.3. Обеспечение безопасности данных MQTT........................................262
9.3.1. Значение и функция сертификатов..........................................262
9.3.2. Локальная генерация сертификатов........................................263
9.3.3. Настройка MQTT Broker.............................................................266
9.3.4. Настройка клиента MQTT..........................................................266
9.4. Практика: дистанционное управление через ESP RainMaker..........268
9.4.1. Основы ESP RainMaker...............................................................268
9.4.2. Протокол связи между узлом и серверной частью облака......269
9.4.3. Взаимодействие между клиентом и облачным бэкендом......274
9.4.4. Типы пользователей..................................................................277
9.4.5. Основные сервисы.....................................................................278
9.4.6. Пример Smart Light....................................................................280
9.4.7. Приложение RainMaker и интеграция сторонних платформ..... 286
9.5. Резюме.................................................................................................293
Глава 10. Разработка приложений для смартфонов..................295
10.1. Введение в разработку приложений для смартфонов...................295
10.1.1. Обзор разработки приложений для смартфонов..................296
10.1.2. Структура проекта Android......................................................296
10.1.3. Структура проекта iOS.............................................................297
10.1.4. Жизненный цикл Android Activity..........................................298
10.1.5. Жизненный цикл iOS ViewController......................................299
10.2. Создание нового проекта приложения для смартфона.................301
10.2.1. Подготовка к разработке под Android....................................301
10.2.2. Создание нового проекта Android..........................................301
10.2.3. Добавление зависимостей для MyRainmaker.........................302
10.2.4. Запрос разрешений в Android.................................................303
10.2.5. Подготовка к разработке iOS...................................................304
10.2.6. Создание нового проекта iOS..................................................304
10.2.7. Добавление зависимостей для MyRainmaker.........................305
10.2.8. Запрос разрешений в iOS........................................................307
10.3. Анализ функциональных требований приложения.......................307
10.3.1. Анализ функциональных требований проекта.....................307
10.3.2. Анализ требований к управлению пользователями.............308
10.3.3. Анализ требований к подготовке и привязке устройства.....309
10.3.4. Анализ требований к удаленному  
управлению..........................................................................................310
10.3.5. Анализ требований к планированию.....................................311
10.3.6. Анализ требований к пользовательскому центру.......................312
10.4. Разработка системы управления пользователями.........................312
10.4.1. Введение в API RainMaker........................................................312
10.4.2. Инициализация связи через смартфон..................................313


10    Оглавление
10.4.3. Регистрация учетной записи...................................................313
10.4.4. Вход в учетную запись.............................................................316
10.5. Разработка системы подготовки устройств....................................319
10.5.1. Сканирование устройств.........................................................320
10.5.2. Подключение устройств..........................................................321
10.5.3. Генерация секретных ключей.................................................324
10.5.4. Получение идентификатора (ИД) узла...................................324
10.5.5. Подготовка устройств..............................................................326
10.6. Разработка управления устройствами............................................328
10.6.1. Привязка устройств к облачным учетным записям..............328
10.6.2. Получение списка устройств...................................................330
10.6.3. Получение статуса устройства................................................333
10.6.4. Изменение статуса устройства...............................................336
10.7. Разработка расписания и пользовательского центра.....................338
10.7.1. Реализация функции планирования......................................338
10.7.2. Реализация центра пользователей.........................................340
10.7.3. Дополнительные облачные API...............................................343
10.8. Резюме...............................................................................................344
Глава 11. Обновление встроенного ПО и управление  
версиями..........................................................................345
11.1. Обновление прошивки.....................................................................345
11.1.1. Обзор таблицы разделов.........................................................346
11.1.2. Процесс загрузки прошивки...................................................348
11.1.3. Обзор механизма OTA.............................................................350
11.2. Управление версиями прошивки.....................................................353
11.2.1. Маркировка прошивки............................................................353
11.2.2. Откат и защита от отката........................................................354
11.3. Практика: пример OTA-обновления................................................355
11.3.1. Обновление прошивки через локальный хост.......................355
11.3.2. Обновление прошивки через ESP RainMaker.........................358
11.4. Резюме...............................................................................................364
ЧАСТЬ IV. ОПТИМИЗАЦИЯ И СЕРИЙНОЕ  
ПРОИЗВОДСТВО..................................................365
Глава 12. Управление питанием и оптимизация 
энергопотребления........................................................367
12.1. Управление питанием ESP32-C3......................................................367
12.1.1. Динамическое масштабирование частоты............................368
12.1.2. Настройка управления питанием...........................................370
12.2. Режимы пониженного энергопотребления ESP32-C3....................370
12.2.1. Режим Modem-sleep.................................................................371
12.2.2. Режим Light-sleep.....................................................................373
12.2.3. Режим глубокого сна Deep-sleep ............................................378
12.2.4. Потребление тока в различных режимах питания................380


Похожие

Доступ онлайн
1 599 ₽
В корзину