ESP32-C3: Беспроводное приключение: Полное руководство по IoT
Покупка
Новинка
Тематика:
Составные элементы компьютера
Издательство:
ДМК Пресс
Перевод:
Ревич Юрий Всеволодович
Год издания: 2023
Кол-во страниц: 443
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-93700-248-8
Артикул: 856447.01.99
Эта книга демонстрирует различные приложения семейства ESP32-C3 — одноядерного микроконтроллера, представляющего собой «систему на кристалле» (SoC) с интегрированными Wi-Fi и Bluetooth 5 (LE). Он обеспечивает необходимый баланс мощности, возможностей ввода-вывода и безопасности, предлагая таким образом оптимальное экономичное решение для подключаемых устройств. Вы освоите основы разработки проектов интернета вещей (IoT) и настройки среды и выполните практические примеры вплоть до запуска изделия в серийное производство.
Издание будет полезно инженерам, разработчикам программного обеспечения, преподавателям, студентам и просто любителям оборудования для IoT.
- Полная коллекция по информатике и вычислительной технике
- Аппаратное обеспечение
- ДМК пресс. Инженерные науки
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Инженерные дисциплины (сводная)
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
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