Новые возможности Arduino, ESP, Raspberry Pi в проектах IoT

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Рассмотрено создание простых устройств в рамках концепции Интернета вещей (IoT) на базе традиционных (Arduino Uno) и новых плат Arduino (MKR, Nano 33), плат ESP и микрокомпьютера Raspberry Pi. Приведены примеры подключения плат с помощью технологий Ethernet, WiFi, GPRS, BLE, LoRa к сети Интернет и другим устройствам. Описаны протоколы HTTP и MQTT. Рассмотрен обмен данными с облачными платформами Arduino IoT Cloud, Narodmon, ThingSpeak, Blynk и открытой LoRaWAN-сетью The Things Network (TTN). Большая часть книги посвящена созданию практических проектов: собственный MQTT-сервер, табло на матрице для отображения биржевых котировок в реальном времени, GPS-трекер и онлайн-сервис поиска стоянок с использование Яндекс.Карт, сканер штрих-кода с отправкой результатов в облако, IoT-принтер для печати курсов валют, бесконтактный измеритель температуры с отправкой данных в облако, предсказатель погоды на основе данных, поступающих в сервис ThingSpeak, проекты с элементами машинного обучения на платформе TinyML и др. На сайте издательства размещен архив с исходными кодами программ и библиотек.

Author(s): Виктор Петин
Series: Электроника
Edition: 1
Publisher: БХВ-Петербург
Year: 2022

Language: Russian
Pages: 320
City: СПб.
Tags: Wi-Fi; Internet of Things; Raspberry Pi; Arduino; ESP32; MQTT; Do-It-Yourself; ThingSpeak; narodmon.ru; Blynk

Глава 1. Вместо введения: что такое Интернет вещей?
Глава 2. Аппаратные платформы для создания устройств Интернета вещей
2.1. Arduino Uno — традиционная плата для моделирования
2.2. Семейство плат Arduino MKR
2.2.1. Arduino MKR1000 — с поддержкой Wi-Fi
2.2.2. Arduino MKR1010 — с поддержкой Wi-Fi и Bluetooth
2.2.3. Arduino MKR GSM 1400 — с поддержкой GSM-связи
2.3. Семейство плат Arduino Nano 33
2.3.1. Arduino Nano 33 IoT — с поддержкой Wi-Fi и Bluetooth BLE
2.3.2. Arduino Nano 33 BLE, Arduino Nano 33 BLE Sence — для создания носимых устройств с минимальным электропотреблением
2.4. ESP32 — серия недорогих микроконтроллеров с интегрированными модулями Wi-Fi и Bluetooth
2.5. Raspberry Pi Zero W — полноценный микрокомпьютер с добавлением поддержки Wi-Fi и Bluetooth
Глава 3. Организация связи для устройств Интернета вещей
3.1. Подключение к Интернету платы Arduino Uno
3.1.1. Подключение к Интернету по сетевому кабелю
3.1.2. Подключение к Интернету по Wi-Fi
3.2. Подключение по Wi-Fi плат Arduino MKR и Nano 33 IoT
3.2.1. Подключение по Wi-Fi платы Arduino MKR1000 WiFi
3.2.2. Подключение no Wi-Fi платы Arduino Nano 33 IoT
3.3. Использование сотовой связи для доступа в Интернет устройств на Arduino
3.3.1. Arduino Uno и GSM/GPRS Shield SIM900
3.3.2. Подключение к Интернету платы Arduino MKR GSM 1400
3.4. Подключение по Wi-Fi платы ESP32
3.5. Подключение к Интернету микрокомпьютера Raspberry Pi Zero W к сети
3.5.1. Установка операционной системы Raspbian
3.5.2. Подключение Raspberry Pi Zero W к сети
3.6. Подключение устройств Bluetooth Low Energy (BLE)
3.6.1. Bluetooth Low Energy (BLE)
3.6.2. Подключение платы Arduino Nano 33 BLE Sence
3.6.3. Отправка no BLE данных с датчиков платы Arduino Nano 33 BLE Sence
3.7. BLE-связь Arduino Nano 33 BLE Sence и Raspberry Pi Zero W
Глава 4. Протоколы Интернета вещей
4.1. Использование протокола HTTP для связи устройств 1оТ
4.2. MQTT — протокол для сетей с низкой пропускной способностью
4.2.1. Отправка данных по протоколу MQTT
4.2.2. Получение данных по протоколу MQTT
Глава 5. Облачные платформы для устройств Интернета вещей
5.1. Arduino IoT Cloud
5.1.1. Регистрация и подключение устройств к Arduino IoT Cloud
5.1.2. Отправка данных с устройства в Arduino IoT Cloud
5.1.3. Отправка данных из Arduino IoT Cloud на устройство
5.2. Сервис «Народный мониторинг»
5.2.1. Подготовка платы Arduino+WiFi
5.2.2. Подключение устройства к сервису «Народный мониторинг»
5.2.3. Отправка данных датчиков домашней метеостанции на сервис «Народный мониторинг»
5.2.4. Прием на устройстве команд, отправленных из сервиса «Народный мониторинг»
5.2.5. Обработка и исполнение команд, полученных от сервиса «Народный мониторинг»
5.3. Сервис ThingSpeak
5.3.1. Подготовка устройства IoT на плате Arduino Nano 33 IoT для подключения к сервису ThingSpeak
5.3.2. Отправка данных в сервис ThingSpeak по протоколам HTTP GET и POST
5.3.3. Отправка данных в сервис ThingSpeak по протоколу MQTT
5.3.4. Добавление виджетов в канал ThingSpeak
5.3.5. Преобразование и визуализация данных, поступивших в ThingSpeak
5.3.6. Визуализация данных: MATLAB Visualization
5.3.7. Чтение данных из канала ThingSpeak
5.3.8. Отображение данных из канала ThingSpeak на дисплее светодиодной матрицы
5.4. Проект Blynk: управление с планшета
5.4.1. Начало работы
5.4.2. Создание интерфейса на планшете. Добавление виджетов
Виджет Button
Виджеты Slider и Vertical Slider
Виджет Value Display
Виджет Gauge
Виджет Timer
Виджет Eventor
Виджет Webhook
Виджет SuperChart
5.4.3. Создание скетчей на Arduino для устройства IoT Blynk
5.5. The Things Network (TTN) — открытая LoRaWAN сеть
5.5.1. Шлюз The Things IndoorGateway
Активация шлюза
Подключение к сервису The Things Network
5.5.2. Регистрация устройства на основе платы The Things Uno в сервисе TTN
5.5.3. Отправка данных в сервис The Things Network
Глава 6. Проекты Интернета вещей
6.1. Подключение устройств 1оТ к серверу MQTT на Raspberry Pi
6.1.1. Создание сервера MQTT на Raspberry Pi Zero W
6.1.2. Создание устройства IoT для отправки данных на MQTT-сервер на Raspberry Pi
6.1.3. Создание устройства IoT для получения данных от MQTT-сервера на Raspberry Pi
6.2. Табло на матрице 32x64 для отображения биржевых котировок в реальном времени
6.2.1. RGB-матрица HUB75
6.2.2. Драйвер RGB-матриц доя Raspberry Pi
6.2.3. Установка на Raspberry Pi программного обеспечения для работы с RGB-матрицей
6.2.4. Написание скрипта на языке Python
6.3. MQTT-чат доя нескольких устройств IoT
6.3.1. Создание IoT-устройства на микроконтроллере ESP32 и дисплее Nextion
6.3.2. Создание интерфейса пользователя на дисплее Nextion
6.3.3. Получение данных, поступающих с дисплея Nextion, и отправка данных на дисплей
6.3.4. Отправка и получение данных с MQTT-сервера
6.4. Получение и печать курса валют на термопринтере в проекте IoT
6.5. GPS-трекер и онлайн-сервис поиска стоянок
6.5.1. Подключение GPS-модуля к плате Arduino
6.5.2. Отправка данных по GPRS на сервер
6.5.3. Создание веб-страницы с использованием API Яндекс.Карт
6.6. IoT-сканер штрих-кодов с отправкой результатов в облако
6.6.1. Сканер штрих-кодов GM65
6.6.2. Подключение и настройка сканера штрих-кодов GM65
6.6.3. Подключение дисплея Nextion
6.6.4. Получение данных на сервере с занесением в базу данных
6.7. Бесконтактное измерение температуры персонала с отправкой данных в облако LoRaWAN
6.7.1. Инфракрасный датчик MLX90614
6.7.2. Подключение к плате The Things Uno модуля считывателя RFID RC522
6.7.3. Подключение к плате The Things Uno дисплея и реле
6.7.4. Отправка данных из платы The Things Uno по сети LoRaWAN в службу The Things Network и перенаправление их на сторонний сервер
6.7.5. Создание базы данных сотрудников на сайте компании доя сбора ежедневных показаний температуры на входе
6.7.6. Страница для удаленного просмотра данных о температуре тела сотрудников
6.8. «Умная гантеля» для автоматического подсчета числа упражнений с использованием TinyML и Edge Impulse
6.8.1. Установка программного обеспечения
6.8.2. Сбор данных, тренировка и создание модели ML на платформе Edge Impulse
Сбор данных
6.8.3. Создание скетча для отправки данных с платы Arduino Nano 33 BLE Sense no BLE
6.8.4. Создание программы для смартфона
6.9. Предсказатель погоды на основе данных, поступающих в сервис ThingSpeak
6.9.1. Отправка данных атмосферного давления в сервис ThingSpeak
6.9.2. Преобразование данных в MATLAB
6.9.3. Добавление виджета
Заключение
Приложение. Описание электронного архива
Предметный указатель