Рассмотрен 31 проект на основе микроконтроллерной платы Arduino, в которых показано, как сделать, чтобы электронные устройства могли обмениваться между собой данными и реагировать на команды. Показано, как изменить настройки домашнего кондиционера, «позвонив ему» со своего смартфона; как создавать собственные игровые и видеоконтроллеры, взаимодействующие по сети; как использовать устройства Wi-Fi, Bluetooth, LoRa и инфракрасное излучение для получения информации от датчиков и организации взаимодействия объектов. Рассмотрена работа с четырьмя программными платформами и библиотеками с открытым исходным кодом: Arduino IDE 1.8, Processing, node.js и p5.js.
В третьем издании добавлены новые проекты, описано использование в проектах не только Arduino Uno, но и Arduino 101, Arduino MKR1000, ESP32, ESP8266 и Raspberry Pi, а также уделено внимание вопросам безопасности.
Глава 1. Средства
Все начинается с прикосновения
Несколько слов об импульсах
Компьютеры всех видов и размеров
Обзаведитесь хорошими привычками
Инструментарий
Создаем первые программы для микроконтроллера
Одноплатные компьютеры
Как выбрать правильную плату?
Работа с осциллографом
Прикосновением все и завершается
Глава 2. Простейшая сеть
Компоненты для проектов этой главы
Уровни согласования
Устанавливаем соединение: нижние уровни
Отправка сообщений: уровень приложений
Проект 1. Управление яркостью трехцветного светодиода с клавиатуры
Усложняем задачу
Проект 2. Мартышкин пинг-понг (Monski Pong)
Управление потоком данных
Проект 3. Беспроводной мартышкин пинг-понг
Проект 4. Arduino-совместимая плата своими руками
Глава 3. Более сложная сеть
Компоненты для проекта этой главы
Сетевые топологии и сетевые адреса
Клиенты, серверы и протоколы управления связью
Проект 5. Сетевой кот
Глава 4. «Глянь, мама, здесь нет компьютера!»
Микроконтроллеры в Интернете
Компоненты для проектов этой главы
Введение в сетевые модули
Проект 6. Привет, Интернет!
Приложение встроенного сетевого клиента
Проект 7. Сетевой измеритель качества воздуха
Форматы данных
Принцип REST и интерфейсы API для Сети
Инструменты для программирования и диагностирования встроенных модулей
Глава 5. Связь в режиме реального (почти) времени
Компоненты для проектов этой главы
Интерактивные системы и цепи обратной связи
Протокол TCP: сокеты и сеансы
Проект 8. Управление воспроизведением видео на основе сокетов TCP
Клиент пульта управления
Проект 9. Управление воспроизведением видео на основе протокола WebSocket
Сервер и клиент браузера
Клиент пульта управления WebSocket
Глава 6. Беспроводная связь
Компоненты для проектов этой главы
Почему не вся связь беспроводная?
Два типа беспроводной связи: инфракрасная и радио
Проект 10. Инфракрасное управление цифровой фотокамерой
Принцип работы радио
Радиосети
Выбор и приобретение радиоустройств
Проект 11. Дуплексная радиосвязь
Проект 12. Управление фотокамерой с помощью Bluetooth LE
Глава 7. Бессеансовые сети и двоичные протоколы
Компоненты для проектов этой главы
Сеансы или сообщения?
Широковещательные сообщения или направленные?
Проект 13. Сетевые светильники
XBee: еще один протокол на основе сообщений
Глава 8. Как узнать местонахождение (почти) чего угодно?
Компоненты для проектов этой главы
Сетевое местонахождение и физическое
Определение расстояния
Проект 15. Инфракрасный дальномер
Проект 16. Ультразвуковой дальномер
Проект 17. Определение уровня принимаемого сигнала
Определение местонахождения методом трилатерации
Проект 18. Геолокационные службы и протокол NMEA
Определение направления и положения в пространстве
Проект 19. Определение направления с помощью цифрового компаса
Проект 20. Определение положения в пространстве
Глава 9. Идентификация
Компоненты для проектов этой главы
Физическая идентификация
Проект 21. Распознавание цветов с помощью веб-камеры
Проект 22. Обнаружение лиц с помощью веб-камеры
Проект 23. Распознавание двумерных штрихкодов с помощью веб-камеры
Радиочастотная идентификация (RFID) и ближняя бесконтактная связь (NFC)
Проект 24. Чтение меток RFID
Проект 25. Чтение и запись сообщений NDEF
Проект 26. NFC и бытовая автоматизация
Безопасность устройств сетевой связи
Проект 27. Двухфакторная идентификация с использованием NFC
Сетевая идентификация
Проект 28. Геолокация по IP-адресу
Глава 10. Сети мобильной телефонной связи и физический мир
Компоненты для проектов этой главы
Одна большая сеть
Проект 29. Возвращение сетевого кота
Проект 30. Звоним термостату
Интерфейсы на основе текстовых сообщений
Микроконтроллеры в мобильных телефонных сетях
Приложения для операционных систем мобильных телефонов
Проект 31. Мобильный регистратор личных биометрических данных
- Приложение. Где брать компоненты и прочее?
- Компоненты
- Поставщики аппаратных компонентов
- Программное обеспечение