Основи роботи ESP8266 та Arduino

WIFI, Bluetooth, RF, Кодові дистанційні замки. Використання Інтернету та управління СМС повідомленнями, створення систем управління через інтернет
Відповісти
Аватар користувача
Arduino
Site Admin
Повідомлень: 98
З нами з: 16 травня 2017 18:18

Основи роботи ESP8266 та Arduino

Повідомлення Arduino » 01 квітня 2018 10:43

Що таке ESP8266?
ESP8266 (технічно ESP8266EX) - це модуль WiFi, що базується на 32-розрядному MCU Cadence Tensilica L106. ESP8266 SoC містить повністю функціональний стек Wi-Fi та TCP/IP, який дозволяє будь-якому мікроконтроллеру підключатися до мережі Wi-Fi.

За допомогою комплекту програмного забезпечення (SDK) ви можете безпосередньо програмувати мікроконтроллер мікроконтролера ESP8266, не потребуючи зовнішнього мікроконтролера так само як Arduino.

Виходячи з ESP8266 SoC, деякі виробники виробляють індивідуальні плати. Перша плата, виготовлена ​​компанією Ai-Thinker, - це ESP-01 (яка є тією ж платою, що використовується в цьому проекті), і вона с- досить популярна.

На підставі успіху модуля ESP-01 декілька інших модулів, таких як ESP-02, ESP-07, ESP-12 тощо, були випущені Ai-Thinker. Всі ці плдати засновані на ESP8266 SoC, але основна відмінність - кількість GPIN Pins.

Існують і інші модулі, такі як ESP-WROOM від Espressif Systems, NodeMCU, WeMOS, SparkFun ESP8266 та ін.

ESP8266 ESP-01

У цьому проекті ми будемо використовувати модуль ESP-01 Ai-Thinker. Він містить 8 штифтів, а на наступному зображенні показані різні компоненти плати.
ESP8266-Arduino-Image-1.jpg
ESP8266-Arduino-Image-2.jpg
Pin Опис модуля ESP-8266 ESP-01

VCC : це сигнал, через який подається 3.3 В.
GND : це земля шпилька.
TX : Цей контакт використовується для передачі послідовних даних на інші пристрої.
RX : ПІК RX використовується для отримання серійних даних з інших пристроїв.
RST : Це Pin Reset Pin, і це активна LOW Pin. (ESP8266 скине, якщо RST-штифт отримає сигнал LOW).
CH_PD : це пік включення чіпа, і це активний високий контакт. Зазвичай він підключений до 3,3 В.
GPIO0 : гвинт GPIO0 (General Purpose I / O) Pin має подвійні функції - один для звичайного режиму GPIO Operation та інший для активації режиму програмування ESP8266.
GPIO2 : це гніздо GPIO.
ВАЖЛИВЕ ПРИМІТКА : ESP8266 не сумісний з 5В, а модуль ESP-01 не має регуляторів напруги на борту. Переконайтеся, що джерело живлення до ESP8266 становить 3,3 В, переважно від спеціального джерела живлення, а не від патрона 3.3 В з Arduino.

Інтерфейс Arduino ESP8266

Перш ніж побачити інтерфейс Arduino ESP8266, вам потрібно знати кілька речей про модуль ESP8266. Модуль WiFi ESP8266 поставляється з прошивкою за замовчуванням, що підтримує команди AT.

Після взаємодії модуля Wi-Fi ESP8266 з Arduino та завантаженням власної програми оригінальна прошивка буде стерта. Ми побачимо в окремому проекті про те, як інтерфейс модуля ESP8266 для AT-команд, а також про те, як спалахнути оригінальне прошивку за допомогою Arduino.

Тепер ми побачимо, як програмувати ESP8266 за допомогою Arduino та отримати доступ до її контактів GPIO. По-перше, ми побачимо схему інтерфейсу.

Діаграма схеми інтерфейсу Arduino ESP8266
ESP8266-Image-3_1.jpg
Програма Arduino IDE готова для програмування ESP8266!

Модуль WiFi ESP8266 можна запрограмувати за допомогою IDE Arduino, і для цього вам потрібно внести кілька змін до IDE Arduino. Спочатку перейдіть до розділу Файл -> Параметри в IDE Arduino та у розділі URL додатків диспетчерів додатків, введіть таку URL-адресу.
http://arduino.esp8266.com/stable/packa ... index.json
далі
ESP8266-Arduino-Image-7.jpg
ПРИМІТКА . Ви можете додати багато таких URL-адрес, але вони повинні бути розділені комами.

Тепер перейдіть до Інструменти -> Дошка -> Менеджер дощок і знайдіть ESP8266 у полі пошуку. Виберіть ESP8266 спільнотою ESP8266 та натисніть "Встановити".
ESP8266-Arduino-Image-8.jpg
ПРИМІТКА . Ця можливість додавання сторонніх платівок через диспетчер дошки доступна для Arduino IDE версії 1.6.4 і вище. Отже, переконайтеся, що ви маєте останню версію IDE Arduino.

Програмування ESP8266

Для того, щоб програмувати ESP8266 Module, потрібно підключити його до комп'ютера. Оскільки послідовний зв'язок є єдиним доступним повідомленням на модулі ESP-8266 ESP-01, нам потрібен USB-послідовний адаптер, такий як FTDI, CH340 або FT232RL.

Якщо у вас немає спеціального USB-послідовного адаптера, не хвилюйтеся. Arduino UNO має вбудований адаптер USB для послідовного інтерфейсу (який використовується для програмування Arduino). Ми будемо використовувати це для програмування ESP8266.

Ми будемо використовувати TX і RX Pins Arduino для підключення до модуля ESP8266, а для того, щоб переконатися, що Arduino не використовує ці шпильки, ми можемо завантажити мінімальний ескіз до Arduino.

ПРИМІТКА . Незначний мінімальний ескіз складається з функцій налаштування та циклу без будь-яких даних у них.

У моєму випадку, у мене є додатковий Правління UNDO Arduino з непрацюючою ATmega328p IC. Отже, я зняв IC Microcontroller з Arduino UNO і почав використовувати його як USB для послідовного конвертера.

Схема для програмування ESP8266 за допомогою Arduino
Ви вже бачили необхідні компоненти та схему проекту. Тепер спробуємо зрозуміти дизайн схеми.

Перш за все, модуль ESP8266 працює на блоці живлення 3.3 В, і щось більше, ніж, наприклад, 5 В, наприклад, буде вбивати SoC. Отже, контакт VCC Pin і PIN-код CH_PD модуля ESP-8266 ESP-01 підключено до джерела живлення 3.3 В.

Наступним важливим моментом є те, що модуль WiFi ESP8266 має два режими роботи: режим програмування та нормальний режим.

У режимі програмування ви можете завантажити програму або прошивку на модуль ESP8266 і в нормальному режимі, завантажена програма або прошивка буде працювати нормально.

Щоб увімкнути Режим програмування, PIN-код GPIO0 повинен бути підключений до GND. На схемі, я підключив перемикач SPDT до контакту GPIO0. Перемикання важіль SPDT переключить ESP8266 між режимом програмування (GPIO0 підключено до GND) та нормальним режимом (GPIO0 виступає як гвинт GPIO).

Крім того, RST (Reset) відіграватиме важливу роль у активації режиму програмування. Штепсель RST є активним LOW-штифтом, і, отже, він з'єднаний з GND через кнопку Push. Таким чином, кожного разу, коли натискатиме кнопку, модуль ESP8266 буде скинуто.

Шпильки RX і TX модуля ESP8266 підключені до RX та TX Pins на платі Arduino. Оскільки ESP8266 SoC не може переносити 5 В, RX Pin Arduino з'єднується через перетворювач рівня, що складається з резистора від 1KΩ і 2.2KΩ.

Нарешті, PIN-код GPIO2 підключений до світлодіода для перевірки роботи програми. Нижче наведено всі необхідні підключення для ввімкнення режиму програмування в ESP8266.

VCC - -> 3.3 Вт
GND - -> GND
- 3.3 Вт
RST - -> нормально відкритий; GND для скидання
GPIO0 - -> GND
TX - -> TX від Arduino
RX - -> RX Arduino (через перетворювач рівня)

Робота інтерфейсу Arduino ESP8266
Переконайтеся, що всі перелічені вище підключення правильно виконані. Після підключення та настроювання ESP8266 в режимі програмування (GPIO0 підключено до GND), підключіть Arduino до системи.

Коли модуль ESP8266 увімкнено, натисніть кнопку RST та відкрийте IDE Arduino. У розділі "Правління" (Інструменти -> Рада) виберіть "Загальні ESP8266". Виберіть відповідний номер порту в IDE.
ESP8266-Arduino-Image-9.jpg
Тепер відкрийте приклад Blink та змініть LED Pin to 2. Тут 2 означає контакт GPIO2 модуля ESP8266. Перш ніж натиснути завантаження, переконайтеся, що спочатку GPIO0 підключено до GND, а потім натисніть кнопку RST.

Код: Виділити все

void setup()
{
  pinMode(2, OUTPUT);
}

void loop() 
{
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}
Натисніть кнопку завантаження, і код займе деякий час для компіляції та завантаження. Ви можете побачити прогрес у нижній частині IDE. Після успішної завантаження програми ви можете видалити GPIO0 з GND. LED, підключений до GPIO2, блиматиме.

AlexPuchkov
Повідомлень: 3
З нами з: 23 грудня 2018 14:48

Re: Основи роботи ESP8266 та Arduino

Повідомлення AlexPuchkov » 23 грудня 2018 14:55

Пример проекта на esp8266-01
Накидал на выходных...
Радио на базе esp8266
Mpc602 фильтр
Pam8403 усилитель
Lds3985 стабилизатор 3.3v 300mA
Ик пульт с фотоприемником для ардуино
Получаем..

Активация всех функций бесплатная только за фото собранного Radiosan.
Заходим 192.168.4.1/radiosan
Шлем фото и 4 кода - получаем 4 кода и наслаждаемся.
Коммерческое использование запрещено!

20 станций записано и все можно менять.
Обучение любого пульта. Но уже прописан пульт от Ардуино.
Питание от USB или 5V 1A. одна колонка и 2А если две!
Выход 2 по 3W.
Управление громкостью.
Вход и выход в вебморду по нажатию кнопки с пульта.
Выключение с памятью канала и громкости.
Авто перезагрузка при потере потока или wifi.
Код хорошо оптимизирован что позволило сделать радио очень шустрым.
Как по мне всякие календари и часы пихать в радио не вижу смысла. Так как радио должно просто играть.
При переключениях звук приглушается но только при повторении моей платы.
Светодиод красный. Фоторезистор 10к. Стоит над светодиодом нос в нос. Сверху заливается черным термоклеем.
Качественный звук с большим динамическим диапазоном.
Фильтр Баттерворта шестого порядка.
Срез фильтра -60 дбм на 44 кгц давит антиалиасный и гранулярный шум
погрешность номиналов 1% для идеальной работы но можно ставить до 5%
это лучше чем без него вовсе.

Сборка
Гербер в архиве для заказа плат https://jlcpcb.com За 2$ 10 плат!!!
и так же Лайоут для тех кому подправить что надо.

Прошивка в архиве. https://drive.google.com/file/d/18ufDH5 ... sp=sharing
Распаковать в корень диска. Запустить ESPFlashDownloadTool_v3.3.6.exe
Вот я видос делал как залить прошивку!

https://youtu.be/U1LzQ8Ff7fM

После прошивки ждем 2 мин не отключаем питание, пока происходит конфигурация и обновление списка станций.
Сканируем wifi сети и подключаемся к RADIOSAN пароль 12345678
Заходим на 192.168.4.1
Ставим галочку напротив своей сети и вводим пароль от нее.
Нажимаем на пульте кнопку вниз.
Ждем несколько секунд и вуаля ля ля ля!
Все уже настроено.

https://youtu.be/RsTEPNWsVQM

https://youtu.be/PkgUAoUCjZo

AlexPuchkov
Повідомлень: 3
З нами з: 23 грудня 2018 14:48

Re: Основи роботи ESP8266 та Arduino

Повідомлення AlexPuchkov » 24 грудня 2018 15:23

https://drive.google.com/file/d/1ftoe3H ... sp=sharing
V7
Вспомнил о единственной кнопке! Это для тех кто потерял пульт или зашил левое вместо кнопки wifi.
Пожалуйста!

AlexPuchkov
Повідомлень: 3
З нами з: 23 грудня 2018 14:48

Re: Основи роботи ESP8266 та Arduino

Повідомлення AlexPuchkov » 24 грудня 2018 20:50

Добавил кнопку входа wifi
Вкладення
RADOSAN.JPG
P81215-150009.jpg
4df692.jpg
control-remoto-infrarrojo.jpg
radiosan7.JPG

Відповісти

Повернутись до “Передача даних та Інтернет”