Интеграция Arduino Uno с ESP8266: Пошаговое руководство
Компоненты и материалы
| ESP8266 (SparkFun) | 1 |
| Arduino UNO | 1 |
| Logic Level Converter (двунаправленный) | 1 |
| Беспаечная плата | 1 |
| Перемычки | 1 |
Приложения и сервисы
- Arduino IDE
- circuito.io
- Firmware.ino (библиотека)
- SoftwareSerial
О проекте
Цель — создать библиотеку AT-команд для ESP8266 (на базе ITEAD), которая стабильно работает на SoftwareSerial на большинстве ESP8266 с прошивкой, отвечающей на AT-команды (обычно заводская).
Библиотека распространяется для тестирования — ждём фидбек и PR на GitHub.
1. Что нужно
- Arduino Uno (и Arduino IDE)
- ESP8266
- Logic Level Converter
2. Подключение
Соедините ESP8266 через SoftwareSerial с Arduino Uno через логический преобразователь уровня (схема прилагается).
3. Подключение к домашнему Wi-Fi
Откройте Firmware.ino из GitHub и введите свой SSID и пароль:
const char *SSID = "WIFI-SSID";
const char *PASSWORD = "WIFI-PASSWORD";
4. Загрузка скетча
Подключите Arduino к компьютеру и загрузите скетч.
5. Откройте Serial Monitor
Кнопка Serial Monitor в Arduino IDE (правый верхний угол). Если всё ок — увидите вывод (скриншот прилагается).
6. Решение проблем
Если нет ответа — обновите прошивку ESP на версию ниже. Нужен 3.3V FTDI-адаптер.
- Подключите ESP к FTDI
- Скачайте ESP8266Flasher
- Скачайте прошивку 1.1.1.1
- Прошейте ESP
Если частичный ответ при SoftwareSerial — увеличьте буфер:
Файл: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h
Строка 42: #define _SS_MAX_RX_BUFF 64 → #define _SS_MAX_RX_BUFF 256
Иногда при инициализации бодрейт не ставится — попробуйте сброс Arduino. Если проблемы остаются — пишите в комментариях. Улучшения — PR на GitHub.
Код должен работать для всех версий Arduino Uno + ESP8266-01.
Ваш фидбек приветствуется!
Код
GitHub репозиторий: https://github.com/Circuito-io/ESP8266_SoftwareSerial
Схемы
Схемы подключения прилагаются (3 варианта).
Производственный процесс
- Слово-часы (Word Clock) на Arduino — DIY-часы с текстовой индикацией времени
- DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
- Компактная метеостанция: Arduino Nano + ESP8266, BMP280, OLED / Nokia 5110 LCD
- Веб-сервер на Arduino Uno WiFi: управление LED через браузер
- Pixie: DIY-наручные часы на Arduino Pro Mini и NeoPixel — стильный светодиодный тахометр времени
- Простой калькулятор на Arduino UNO — базовый проект для начинающих
- Сборка портативного дисплея на основе эффекта сохранения изображения с Arduino UNO и ATtiny85
- Простой секундомер на Arduino с кнопкой и EEPROM
- Переносная система видеонаблюдения: робот с камерой на Raspberry Pi и Arduino
- Умная перчатка для перевода жестов в текст (язык жестов)