WLAN на Arduino - подключите ESP8266-01 к Arduino и управляйте NodeMCU Amica удаленно со своего смартфона
Видео по теме: (May 2024).
Arduino - одна из самых известных плат разработчиков. К сожалению, стандартные модели не имеют установленного чипа Wi-Fi. Этот практический совет показывает, как подключить модуль WLAN ESP8266-01 к Arduino и как вы можете удаленно управлять NodeMCU Amica со своего смартфона.
Управляйте NodeMCU Amica со своего смартфона
NodeMCU Amica имеет множество контактов, а также встроенный чип ESP8266 Wi-Fi и разъем microUSB. Следовательно, имеет смысл использовать устройство скорее как самостоятельное устройство. Как подключить «классическую» плату ESP8266 к Arduino, описано далее в статье.
- Чтобы иметь возможность программировать микросхемы ESP, вы должны сначала загрузить и установить драйверы для всех микросхем CP210er от Silicon Labs. К счастью, это происходит относительно быстро.
- Затем откройте Arduino IDE и перейдите в Настройки. Добавьте URL «//arduino.esp8266.com/stable/package_esp8266com_index.json» (без кавычек) к дополнительным URL-адресам администратора форума. Затем запустите администратор конференции, введите «ESP8266» и установите пакет.
- Также зайдите в менеджер библиотек, введите «Blynk» и установите последнюю версию. Все необходимые компоненты теперь установлены.
- Вам необходимо приложение Blynk для управления NodeMCU с помощью смартфона. Если это еще не сделано, создайте новую учетную запись здесь или войдите с существующей. Затем создайте новый проект и выберите NodeMCU в качестве платы.
- С примерами кодов в Arduino IDE вы также можете найти код для Blynk (→ "Boards_WiFi") в NodeMCU. Просто введите токен Blynk вашего проекта, который вы автоматически отправили по электронной почте. Также введите свой SSID и пароль.
- Чтобы загрузить код на доску, вы, конечно, должны выбрать его на вкладке «Инструменты». В нашем случае нужно было выбрать «NodeMCU 1.0 (модуль ESP12E)», частоту 80 МГц, объем памяти «4M (3M SPIFFS)» и скорость передачи 115200 бод. Тем не менее, обратите внимание, что информация может отличаться в зависимости от модели.
- Затем вы можете просто загрузить код на доску и управлять им с помощью приложения Blynk. Здесь вы можете легко создавать различные виджеты и, например, управлять светодиодом с помощью кнопки.
Подключите WiFi на Arduino - ESP8266-01 к Arduino
Далее мы хотим подключить и использовать модуль ESP8266-01 с Arduino.
- Если вы поворачиваете плату так, чтобы она была направлена вниз с золотой антенной, вы можете найти вывод VCC в левом верхнем углу, который, конечно, должен быть установлен на ВЫСОКИЙ. Справа находится вывод RST, который обычно не требуется использовать. Вывод CH_PD рядом с ним также должен быть снова установлен на HIGH. Справа вверху есть вывод TXD, который выводит сигналы, а слева внизу - вывод RXD, который принимает сигналы, конечно. У нас также есть GPIO0 и GPIO2, а также классический вывод заземления, который расположен внизу справа.
- Чтобы иметь возможность использовать модуль на Arduino, имеет смысл использовать SoftwareSerial, поскольку HardwareSerial в основном используется для связи между Arduino и ПК. В нашем случае, однако, модуль использует 115200 в качестве скорости передачи, что означает, что связь между ESP и Arduino через SoftwareSerial невозможна.
- Чтобы изменить скорость передачи, многие пользователи просто прошивают новую прошивку, которая обеспечивает другую скорость передачи. Однако это не является абсолютно необходимым, поскольку скорость передачи данных также можно изменить с помощью команды. Эта команда "AT + UART_DEF". Другие команды, такие как «AT + IPR» или «AT + CIOBAUD», также можно найти в Интернете, но это нежелательно, поскольку, в частности, «AT + IPR» также может вызвать сбой модуля.
- Чтобы отправить команду модулю, рекомендуется подключить ее к ПК с помощью USB-адаптера, который обычно предоставляется бесплатно или его можно найти в Интернете примерно за один евро. Если у вас нет USB-адаптера, вы можете либо заказать один онлайн, что настоятельно рекомендуется, либо использовать универсальный FTDI-адаптер, который является довольно сложным и часто не работает должным образом. Альтернативно, есть другой вариант, который будет объяснен позже.
- Если вы подключили модуль с адаптером к ПК, вы можете отправить команду «AT + UART_DEF = 9600, 8, 1, 0, 0» со скоростью передачи 115200 и CR + LF. Затем вы можете повторно подключить модуль и отправлять команды со скоростью 9600 бод.
- Далее вы должны запрограммировать Arduino. Код относительно прост. Сначала мы определяем пустую строку с помощью команды »String s =" ";«, импортируем SoftwareSerial (»#include«) и создаем новый объект SoftwareSerial (»SoftwareSerial Serial_ESP (2, 3);«). В способе настройки запускается подключение к ESP (»Serial_ESP.begin (9600);«) и подключение к ПК (»Serial.begin (9600);«). Если ESP отправляет сигнал, он добавляется к строке, а затем строка выводится на последовательный монитор (»while (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s) ! = "") {Serial.println (s); s = "";} «). И наоборот, сигналы, посылаемые последовательным монитором, то есть ПК, также передаются в ESP («while (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}»). Однако очень важно, чтобы все это было преобразовано в символ, так как ESP отправляет числа обратно. Вы также можете найти код снова в галерее изображений в конце статьи.
- После того, как вы загрузили код на Arduino, вам нужно подключить ESP. Внимание! ESP использует 3, 3 вольт вместо 5В. 5V сломать это полностью. Однако, поскольку Arduino работает с 5-вольтовой логикой, напряжение должно быть соответствующим образом отрегулировано.
- Теоретически, вы можете использовать делитель напряжения с резисторами, но на практике все это довольно неточно и может быть легко нарушено. Поэтому вам нужно переключить преобразователь логического уровня между Arduino и ESP.
- Соедините вывод 5 В Arduino с ВН, то есть высоковольтный вывод на преобразователе, а вывод НН преобразователя с выводом VCC ESP. Также подключите вывод LV параллельно к выводу CH_PD ESP, чтобы чип также был включен. Кроме того, чтобы получить достаточный ток, вы должны подключить контакт 3.3V Arduino к выводу LV преобразователя, следовательно, к VCC и CH_PD ESP. Теперь соедините контакт TX от SoftwareSerial - в нашем случае контакт 3 на Arduino - с HV 1, 2, 3 или 4 и противоположный контакт LV с контактом RXD на ESP. Повторите этот шаг и для RX-контакта Arduino.
- Наконец, вы должны подключить землю. Для этого подключите заземление Arduino к заземлению на стороне высокого напряжения преобразователя. Затем подключите заземление на стороне низкого напряжения к заземлению ESP. Наконец, вы должны соединить землю ВН и землю НН.
- Теперь вы можете легко отправлять AT-команды с вашего ПК на ESP через Arduino. Вы можете легко подключить Arduino к вашему WiFi, создать веб-сервер и многое другое. Просто добавьте соответствующие AT-команды к коду Arduino (в методе настройки), которые должны быть отправлены в ESP, который также можно найти в «AT Instruction Set».
- Если у вас нет готового USB-адаптера, вы также можете отправить команду на изменение скорости передачи через HardwareSerial, используя ту же схему, используя контакты TX и RX Arduino, то есть 0 и 1. Однако не забудьте соответствующим образом настроить скорость передачи в коде.
В следующем практическом совете мы познакомим вас с языком программирования Java.