دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Коллектив авторов
سری:
ISBN (شابک) : 9785937002488
ناشر: ДМК
سال نشر: 2024
تعداد صفحات: [443]
زبان: Russian
فرمت فایل : DJVU (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 6 Mb
در صورت تبدیل فایل کتاب ESP32-C3. Беспроводное приключение: полное руководство به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب ESP32-C3. ماجراجویی بی سیم: راهنمای کامل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Оглавление Предисловие от издательства Введение Предисловие Информатизирующийся мир Почему мы написали эту книгу? Структура книги Об исходном коде Авторское примечание Как пользоваться этой книгой Часть I. Подготовка Глава 1. Введение в IoT 1.1. Архитектура интернета вещей Уровень восприятия и управления Сетевой уровень Доступ к интернету Передача данных через интернет Уровень платформы Прикладной уровень 1.2. Применение IoT в проекте «Умного дома» Глава 2. Введение в практику IoT-проектов 2.1. Введение в типовые проекты IoT 2.1.1. Базовые модули для обычных устройств IoT Сбор данных Привязка аккаунта и первоначальная настройка Управление устройством Обновление прошивки 2.1.2. Базовые модули клиентских приложений Система аккаунта и авторизации Управление устройством Уведомления Послепродажное обслуживание клиентов Рекомендуемые функции 2.1.3. Введение в общие облачные платформы IoT Доступ к устройству Управление устройствами Теневые копии устройства Эксплуатация и обслуживание (O&M) 2.2. Практика: проект Smart Light 2.2.1. Структура проекта 2.2.2. Функции проекта 2.2.3. Подготовка оборудования Умные светильники Смартфоны (Android/iOS) Wi-Fi-роутеры Компьютер (Linux/macOS/Windows) 2.2.4. Процесс разработки Аппаратный дизайн Конфигурация облачной IoT-платформы Разработка встроенного программного обеспечения для устройств IoT Разработка мобильного приложения Оптимизация IoT-устройств Тестирование серийного продукта 2.3. Резюме Глава 3. Введение в ESP RainMaker 3.1. Что такое ESP RainMaker? 3.2. Реализация ESP RainMaker 3.2.1. Служба обработки заявок 3.2.2. RainMaker Agent Подключение Обработка данных 3.2.3. Облачный сервер 3.2.4. Клиент RainMaker 3.3. Практика: ключевые моменты разработки с ESP RainMaker Служба обработки заявок Приложения для телефона Сторонние логины и голосовая интеграция 3.4. Особенности ESP RainMaker 3.4.1. Управление пользователями Регистрация и вход в систему Изменение пароля Получение пароля 3.4.2. Функции конечного пользователя 3.4.3. Функции администратора 3.5. Резюме Глава 4. Настройка среды разработки 4.1. Обзор ESP-IDF 4.1.1. Версии ESP-IDF 4.1.2. Рабочий процесс ESP-DIFF Git 4.1.3. Выбор подходящей версии 4.1.4. Обзор каталога ESP-IDF SDK 4.2. Настройка среды разработки ESP-IDF 4.2.1. Настройка среды разработки ESP-IDF в Linux 1. Установка необходимых пакетов 2. Загрузка кода репозитория ESP-IDF 3. Установка тулчейна разработки ESP-IDF 4.2.2. Настройка среды разработки ESP-IDF в Windows 1. Загрузите установщик ESP-IDF tools 2. Запустите программу установки ESP-IDF tools 4.2.3. Настройка среды разработки ESP-IDF на Mac 1. Установка зависимых пакетов 2. Загрузка кода репозитория ESP-IDF 3. Установите тулчейн разработки ESP-IDF 4.2.4. Установка VS Code 4.2.5. Знакомство со сторонними средами разработки Arduino MicroPython NodeMCU 4.3. Система компиляции ESP-IDF 4.3.1. Основные концепции системы компиляции 4.3.2. Структура файла проекта Компоненты Вход в программу main Конфигурационный файл Каталог сборки build Таблица разделов (partitions.csv) 4.3.3. Правила построения системы компиляции по умолчанию Правила переопределения компонентов с тем же именем Правила добавления общих компонентов по умолчанию Правила для переопределения элементов конфигурации 4.3.4. Введение в сценарий компиляции 4.3.5. Введение в общие команды 4.4. Практика: компиляция примера программы Blink 4.4.1. Анализ примера Исходный код 4.4.2. Компиляция программы Blink 1. Откройте новый терминал и импортируйте переменные окружения ESP-IDF 2. Перейдите в корневой каталог проекта blink 3. Установите целевое устройство компиляции на ESP32-C3 4. Настройте GPIO 5. Создайте код 4.4.3. Прошивка программы Blink 4.4.4. Анализ логов последовательного порта программы Blink Информация о загрузчике первого уровня Информация о загрузчике второго уровня Вывод из пользовательской программы 4.5. Резюме Часть II. Разработка оборудования и драйверов Глава 5. Аппаратный дизайн продуктов Smart Light на базе ESP32-C3 5.1. Характеристики и состав продуктов Smart Light 5.2. Аппаратный дизайн базовой системы ESP32-C3 5.2.1. Источник питания 5.2.2. Порядок включения питания и сброс системы 5.2.3. SPI флеш-память 5.2.4. Источник тактовых импульсов 5.2.5. Радиочастотный сигнал (RF) и антенна Тест на излучение 5.2.6. Выводы управления загрузкой ПО (Strapping Pins) 5.2.7. GPIO и ШИМ-контроллер 5.3. Практика: создание системы умного освещения с помощью ESP32-C3 5.3.1. Выбор модулей 5.3.2. Настройка ШИМ-сигналов на выводах GPIO 5.3.3. Загрузка встроенного ПО и интерфейс отладки 1. Подключите ESP32-C3 к ПК 2. Загрузите прошивку 3. Интерфейс отладки 5.3.4. Рекомендации по проектированию радиочастотой части 5.3.5. Рекомендации по проектированию источника питания 5.4. Резюме Глава 6. Разработка драйверов 6.1. Процесс разработки драйверов 6.2. Периферийные приложения ESP32-C3 Человеко-машинный интерфейс (HMI) Датчики Контроллеры 6.3. Основы построения драйверов светодиодов 6.3.1. Цветовые пространства 1. Цветовое пространство RGB 2. Цветовое пространство HSV 3. Цветовое пространство HSL 6.3.2. Светодиодный драйвер 6.3.3. Диммирование светодиодов 6.3.4. Введение в ШИМ 6.4. Разработка драйвера для регулирования светодиодов 6.4.1. Энергонезависимая память (NVS) Пары ключ–значение Пространства имен Безопасность, устойчивость к несанкционированному доступу и надежность 6.4.2. Светодиодный ШИМ-контроллер (LEDC) 6.4.3. Программирование ШИМ для светодиодов 1. Настройка таймера 2. Настройка канала 3. Настройка ШИМ-сигналов Программное изменение коэффициента заполнения ШИМ Изменение коэффициента заполнения ШИМ аппаратным способом 4. Диапазон частоты ШИМ и коэффициента заполнения 6.5. Практика: добавление драйверов в проект Smart Light 6.5.1 Драйвер кнопки 1. Добавление исходных файлов драйверов 2. Добавление исходных файлов в систему компиляции 6.5.2. Драйвер регулировки яркости светодиода 1. Компонент драйвера источника света 2. Компонент app_storage 3. Сохранение состояния светильника 4. Инициализация драйвера 5. Контроль состояния светодиода 6.6. Резюме Часть III. Беспроводная связь и управление Глава 7. Настройка Wi-Fi-соединения 7.1. Основы Wi-Fi 7.1.1. Введение в Wi-Fi 7.1.2. Эволюция IEEE 802.11 7.1.3. Концепции Wi-Fi Эталонная модель взаимодействия открытых систем (Open System Interconnection Reference Model, OSI/RM) Физические компоненты IEEE 802.11 Беспроводная среда (Wireless Medium, WM) Станции (STA) Точки доступа (AP) Система распределения (DS) Построение беспроводных сетей Независимый BSS Инфраструктурный BSS Идентификация BSS (BSSID) Идентификатор набора услуг (SSID) 7.1.4. Wi-Fi-соединение 1. Сканирование 2. Аутентификация 3. Подключение 4. Авторизация 7.2. Основы Bluetooth 7.2.1. Введение в Bluetooth Bluetooth Classic Bluetooth Low Energy 7.2.2. Концепции Bluetooth Базовая архитектура Режимы Bluetooth Режим ведущего Режим ведомого Создание Bluetooth-сетей Пикосеть Распределенная сеть (Scatternet) Ячеистая сеть (Mesh) 7.2.3. Bluetooth-соединение 1. Рассылка ведомого устройства 2. Сканирование ведущим Пассивное сканирование Активное сканирование 3. Основное соединение 7.3. Конфигурация сети Wi-Fi 7.3.1. Руководство по настройке сети Wi-Fi 7.3.2. Программная точка доступа (Soft access point, SoftAP) 1. Краткое описание 2. Конфигурация 7.3.3. SmartConfig 1. Краткое описание Широковещательный UDP Многоадресный UDP 2. Конфигурация 7.3.4. Bluetooth 1. Краткое описание 2. Конфигурация 7.3.5. Другие методы 1. Прямая настройка сети 2. Настройка маршрутизатора RouterConfig 3. ZeroConfig 4. Настройка сетевой телефонной точки доступа 7.4. Программирование Wi-Fi 7.4.1. Компоненты Wi-Fi в ESP-IDF 1. Особенности 2. API 3. Модель программирования 7.4.2. Упражнение: соединение Wi-Fi 1. Переведите ESP32-C3 в режим STA и подключитесь к точке доступа 2. Используйте компоненты ESP-IDF для подключения устройств к маршрутизаторам 7.4.3. Упражнение: интеллектуальное подключение к Wi-Fi 1. SoftAP (1) API-интерфейсы (2) Структура программы (3) Функциональная проверка 2. SmartConfig (1) API (2) Структура программы (3) Функциональная проверка 3. Bluetooth (1) API (2) Структура программы (3) Функциональная проверка 7.5. Практика: конфигурация Wi-Fi в проекте Smart Light 7.5.1 Соединение Wi-Fi в проекте Smart Light 1. Инициализация драйвера 2. Инициализация NVS 3. Инициализация Wi-Fi 4. Инициализация соединения Wi-Fi 7.5.2. Умная настройка Wi-Fi 7.6. Резюме Глава 8. Локальное управление 8.1. Введение в локальное управление 8.1.1. Применение локального управления 8.1.2. Преимущества локального управления 8.1.3. Обнаружение управляемых устройств с помощью смартфонов 8.1.4. Передача данных между смартфонами и устройствами 8.2. Общие методы локального обнаружения 8.2.1. Широковещательная передача Протокол разрешения адресов (ARP) Протокол динамической конфигурации хоста (DHCP) 1. Широковещательные адреса 2. Реализация широковещательного отправителя с использованием сокета 3. Реализация широковещательного приемника с использованием сокета 4. Результат запуска 8.2.2. Групповая передача (Multicast) 1. Групповая адресация 2. Реализация группового отправителя с использованием сокета 3. Реализация группового приемника с использованием сокета 4. Результат запуска 8.2.3. Сравнение широковещательной и групповой рассылок 8.2.4. Протокол групповых приложений mDNS для локального обнаружения 1. Введение в протокол mDNS 2. Использование компонента mDNS на основе ESP-IDF 8.3. Общие протоколы связи для локальных данных 8.3.1. Протокол управления передачей (TCP) 1. Введение в TCP 2. Создание TCP-сервера с использованием сокета 3. Создание TCP-клиента с использованием сокета 8.3.2. Протокол передачи гипертекста (HyperText Transfer Protocol, HTTP) 1. Введение в HTTP 2. Создание HTTP-сервера с использованием компонента ESP-IDF 8.3.3. Протокол пользовательских датаграмм (User Datagram Protocol, UDP) 1. Введение в UDP 2. Создание UDP-сервера с использованием сокета 3. Создание UDP-клиента с использованием сокета 8.3.4. Протокол ограниченных приложений (Constrained Application Protocol, CoAP) 1. Введение в CoAP 2. Создание сервера CoAP с использованием компонента ESP-IDF 8.3.5. Протокол Bluetooth 1. Введение в протокол Bluetooth Дескриптор атрибута UUID атрибута Значение атрибута Разрешения атрибутов 2. Создание сервера Bluetooth с помощью компонента ESP-IDF 8.3.6. Обзор протоколов передачи данных 8.4. Гарантии безопасности данных 8.4.1. Введение в безопасность транспортного уровня (TLS) 1. Что делает TLS? 2. Как работает TLS? 3. Создание сервера HTTP+TLS с помощью ESP-IDF 8.4.2. Введение в датаграмм-протокол безопасности транспортного уровня (DTLS) 1. Различия между DTLS и TLS 2. Создание сервера CoAP+DTLS с помощью ESP-IDF 8.5 Практика: локальное управление в проекте Smart Light 8.5.1. Создание локального управляющего сервера на базе Wi-Fi 8.5.2. Проверка функциональности локального управления с помощью скриптов 8.5.3. Создание локального сервера управления на базе Bluetooth 8.6. Резюме Глава 9. Управление через облако 9.1. Введение в удаленное управление 9.2. Облачные протоколы передачи данных 9.2.1. Введение в MQTT 9.2.2. Принципы MQTT 9.2.3. Формат сообщения MQTT 9.2.4. Сравнение протоколов MQTT и TCP MQTT и HTTP MQTT и CoAP 9.2.5. Настройка MQTT Broker в Linux и Windows 1. Настройка Mosquitto broker в Linux 2. Настройка Mosquitto broker в Windows 9.2.6. Настройка клиента MQTT на основе ESP-IDF 9.3. Обеспечение безопасности данных MQTT 9.3.1. Значение и функция сертификатов 1. Введение 2. Генерация сертификата 3. Функция сертификата 4. Стандарт сертификата 5. Формат сертификата 9.3.2. Локальная генерация сертификатов 1. Генерация закрытых ключей для сертификата 2. Запрос подписи для сертификата (CSR) 3. Создание сертификата CA, сертификата сервера и сертификата клиента 9.3.3. Настройка MQTT Broker 9.3.4. Настройка клиента MQTT 9.4. Практика: дистанционное управление через ESP RainMaker 9.4.1. Основы ESP RainMaker Узел (node) Атрибут узла (node attribute) Устройство (device) Атрибут устройства (device attribute) Сервис Параметр 9.4.2. Протокол связи между узлом и серверной частью облака 9.4.3. Взаимодействие между клиентом и облачным бэкендом 9.4.4. Типы пользователей Пользователь-администратор Конечный пользователь Первичный пользователь Вторичный пользователь 9.4.5. Основные сервисы 1. Служба времени и часовых поясов 2. Служба планирования 3. Услуга OTA-обновления 4. Местная служба управления 5. Системный сервис 9.4.6. Пример Smart Light 9.4.7. Приложение RainMaker и интеграция сторонних платформ (1) Типы устройств со стандартным пользовательским интерфейсом (2) Стандартные элементы пользовательского интерфейса (3) Стандартные типы параметров (4) Стандартные типы сервисов 9.5. Резюме Глава 10. Разработка приложений для смартфонов 10.1. Введение в разработку приложений для смартфонов 10.1.1. Обзор разработки приложений для смартфонов 10.1.2. Структура проекта Android Папка app Папка Gradle Scripts 10.1.3. Структура проекта iOS Папка MyRainmaker Тестовые файлы 10.1.4. Жизненный цикл Android Activity 10.1.5. Жизненный цикл iOS ViewController 10.2. Создание нового проекта приложения для смартфона 10.2.1. Подготовка к разработке под Android 10.2.2. Создание нового проекта Android 10.2.3. Добавление зависимостей для MyRainmaker 10.2.4. Запрос разрешений в Android 10.2.5. Подготовка к разработке iOS 10.2.6. Создание нового проекта iOS 10.2.7. Добавление зависимостей для MyRainmaker 10.2.8. Запрос разрешений в iOS 10.3. Анализ функциональных требований приложения 10.3.1. Анализ функциональных требований проекта 10.3.2. Анализ требований к управлению пользователями 10.3.3. Анализ требований к подготовке и привязке устройства 10.3.4. Анализ требований к удаленному управлению 10.3.5. Анализ требований к планированию 10.3.6. Анализ требований к пользовательскому центру 10.4. Разработка системы управления пользователями 10.4.1. Введение в API RainMaker 10.4.2. Инициализация связи через смартфон 10.4.3. Регистрация учетной записи 10.4.4. Вход в учетную запись 10.5. Разработка системы подготовки устройств 10.5.1. Сканирование устройств Сканирование устройств в Android Сканирование устройств в iOS 10.5.2. Подключение устройств Подключение устройств в iOS 10.5.3. Генерация секретных ключей 10.5.4. Получение идентификатора (ИД) узла Получение ИД узла в Android Получение ИД узла в iOS 10.5.5. Подготовка устройств Подготовка устройств в Android Подготовка устройств в iOS 10.6. Разработка управления устройствами 10.6.1. Привязка устройств к облачным учетным записям Привязка устройств в Android Привязка устройств в iOS 10.6.2. Получение списка устройств Получение информации об устройстве в Android Получение информации об устройстве в iOS 10.6.3. Получение статуса устройства Получение статуса устройства в Android Получение статуса устройства в iOS 10.6.4. Изменение статуса устройства Изменение статуса устройства в Android Изменение статуса устройства в iOS 10.7. Разработка расписания и пользовательского центра 10.7.1. Реализация функции планирования Реализация планирования в Android Реализация планирования в iOS 10.7.2. Реализация центра пользователей Смена пароля в Android Смена пароля в iOS 10.7.3. Дополнительные облачные API Совместное использование устройств с другими пользователями Получение онлайн/офлайн статуса устройства Создание групп устройств Добавление устройства в группу Удаление группы устройств 10.8. Резюме Глава 11. Обновление встроенного ПО и управление версиями 11.1. Обновление прошивки 11.1.1. Обзор таблицы разделов 11.1.2. Процесс загрузки прошивки 11.1.3. Обзор механизма OTA 11.2. Управление версиями прошивки 11.2.1. Маркировка прошивки 11.2.2. Откат и защита от отката 11.3. Практика: пример OTA-обновления 11.3.1. Обновление прошивки через локальный хост (1) Включение OTA-сервера (2) Включение службы HTTPS (3) Использование компонента esp_https_ota для выполнения OTA 11.3.2. Обновление прошивки через ESP RainMaker 11.4. Резюме Часть IV. Оптимизация и серийное производство Глава 12. Управление питанием и оптимизация энергопотребления 12.1. Управление питанием ESP32-C3 12.1.1. Динамическое масштабирование частоты 12.1.2. Настройка управления питанием 12.2. Режимы пониженного энергопотребления ESP32-C3 12.2.1. Режим Modem-sleep 1. Режим Wi-Fi Modem-sleep 2. Режим Bluetooth LE Modem-sleep 12.2.2. Режим Light-sleep Вход в режим Light-sleep вручную Автоматический вход в режим Light-sleep 1. Источники пробуждения в режиме Light-sleep Пробуждение от GPIO Пробуждение по таймеру Пробуждение по UART Пробуждение по Wi-Fi 2. Вход в режим Light-sleep вручную 3. Инструкция по входу в режим Light-sleep вручную 4. Автоматический переход в режим Light-sleep 5. Инструкция по автоматическому входу в режим Light-sleep 12.2.3. Режим глубокого сна Deep-sleep 1. Источники пробуждения в режиме глубокого сна Пробуждение GPIO Пробуждение по таймеру 2. Инструкция по входу в режим глубокого сна 12.2.4. Потребление тока в различных режимах питания 12.3. Управление питанием и отладка режима низкого энергопотребления 12.3.1. Отладка через логи 12.3.2. Отладка по состояниям GPIO 12.4. Практика: управление питанием в проекте Smart Light 12.4.1. Настройка функции управления питанием 12.4.2. Использование блокировки управления питанием 12.4.3. Проверка энергопотребления 12.5. Резюме Глава 13. Расширенные функции безопасности устройства 13.1. Обзор безопасности данных IoT-устройств Конфиденциальность Целостность Легитимность Данные прошивки 13.1.1. Зачем защищать данные устройств интернета вещей? 13.1.2. Основные требования к безопасности данных IoT-устройств 13.2. Защита целостности данных 13.2.1. Основы метода проверки целостности Устойчивость к коллизиям Не могут быть извлечены необработанные данные 13.2.2. Проверка целостности данных прошивки 13.2.3. Пример 13.3. Защита конфиденциальности данных 13.3.1. Введение в шифрование данных Алгоритмы симметричного шифрования Алгоритмы асимметричного шифрования 13.3.2. Введение в систему флеш-шифрования 1. Соответствующие области хранения 2. Алгоритм флеш-шифрования 13.3.3. Хранение ключей флеш-шифрования Ручной метод Автоматический метод 13.3.4. Рабочие режимы флеш-шифрования Режим разработки (Development mode) Режим реализации (Release mode) 13.3.5. Процесс флеш-шифрования 13.3.6. Введение в шифрование NVS 13.3.7. Примеры флеш-шифрования и шифрования NVS 13.4. Защита легитимности данных 13.4.1. Введение в цифровую подпись 13.4.2. Обзор системы безопасной загрузки 13.4.3. Введение в программную безопасную загрузку 13.4.4. Введение в аппаратную безопасную загрузку 13.4.5. Примеры 13.5. Практика: функции безопасности в серийном производстве 13.5.1. Флеш-шифрование и безопасная загрузка 13.5.2. Включение флеш-шифрования и безопасной загрузки с помощью инструментов пакетной прошивки 13.5.3. Включение флеш-шифрования и безопасной загрузки в проекте Smart Light 13.6. Резюме Глава 14. Запись и тестирование прошивки для серийного производства 14.1. Загрузка прошивки при серийном производстве 14.1.1. Определение разделов данных 14.1.2. Запись прошивки 14.2. Тестирование серийной продукции Метод универсального ВЧ-тестера Схема сигнальной платы 14.3. Практика: производственные данные в проекте Smart Light 14.4. Резюме Глава 15. ESP Insights: платформа удаленного мониторинга 15.1. Введение в ESP Insights Логи ошибок Логи предупреждений Пользовательские события Причина сброса Сводка дампа памяти Метрики Переменные 1. Особенности ESP Insights 2. Преимущества ESP Insights 15.2. Начало работы с ESP Insights 15.2.1. Начало работы с ESP Insights в проекте esp-insights 1. Клонируйте последнюю версию esp-RainMaker 2. Измените CMakeLists.txt в esp-RainMaker 3. Обеспечьте выполнение функций ESP Insights 4. Сборка и прошивка 5. Доступ к облачной платформе ESP RainMaker IoT Cloud 6. Войдите в панель управления ESP RainMaker 7. Загрузите сгенерированный zip-файл 15.2.2. Пример выполнения в проекте esp-insights 1. Клонируйте ESP Insights 2. Настройте ESP-IDF 3. Сборка и прошивка 15.2.3. Отчетность об информации дампа памяти 15.2.4. Настройка интересующих логов 15.2.5. Сообщение о причине перезагрузки 15.2.6. Отчетность по заданным показателям 1. Показатели кучи 2. Показатели Wi-Fi 3. Пользовательские показатели 4. Переменные Сетевые переменные Пользовательские переменные 15.3. Практика: использование ESP Insights в проекте Smart Light 15.4. Резюме