Как правильно подключить и настроить ESP8266. Какое оборудование потребуется для работы с ESP8266. Как установить драйвера и прошивку на ESP8266. Как подключить ESP8266 к Arduino IDE и начать программирование.
Что такое ESP8266 и зачем он нужен?
ESP8266 — это недорогой Wi-Fi модуль, который позволяет добавить беспроводное подключение практически к любому микроконтроллерному проекту. Благодаря своей низкой стоимости и высокой функциональности, ESP8266 стал очень популярен среди разработчиков IoT устройств и DIY проектов.
Основные преимущества ESP8266:
- Поддержка Wi-Fi 802.11 b/g/n
- Встроенный 32-битный микроконтроллер
- Напряжение питания 3.3В
- Низкое энергопотребление
- Небольшие размеры
- Низкая стоимость (около $2-5)
ESP8266 можно использовать как отдельный Wi-Fi модуль для подключения к другим микроконтроллерам, или как самостоятельный микроконтроллер с Wi-Fi для создания автономных устройств.
Какое оборудование потребуется для работы с ESP8266?
- Сам модуль ESP8266 (например, популярная версия ESP-01)
- USB-TTL преобразователь на 3.3В для подключения к компьютеру
- Макетная плата и провода для соединений
- Стабилизированный источник питания 3.3В
- Компьютер с USB портом
Дополнительно может потребоваться:
- Кнопка для сброса модуля
- Светодиоды и резисторы для индикации
- Преобразователь уровней, если используется 5В логика
Как правильно подключить ESP8266?
Подключение ESP8266 осуществляется следующим образом:
- Подключите VCC и CH_PD (Enable) модуля к питанию 3.3В
- Подключите GND модуля к общему проводу (земле)
- Соедините TX модуля с RX USB-TTL преобразователя
- Соедините RX модуля с TX USB-TTL преобразователя
- Подключите GPIO0 к GND для входа в режим прошивки (иначе оставьте неподключенным)
- Подключите GPIO15 к GND (для ESP-01 не требуется)
- Подключите GPIO2 к VCC через резистор 10 кОм
- Подключите RST к VCC через кнопку сброса (опционально)
Важно использовать стабильный источник питания 3.3В, так как ESP8266 чувствителен к перепадам напряжения. Не подавайте на модуль напряжение выше 3.6В!
Как установить драйвера для работы с ESP8266?
Для подключения ESP8266 к компьютеру через USB-TTL преобразователь могут потребоваться дополнительные драйвера. Порядок установки:
- Подключите USB-TTL преобразователь к компьютеру
- Если драйвер не установился автоматически, скачайте и установите драйвер для вашего преобразователя (обычно на основе чипов CP2102, CH340 или FT232)
- После установки в диспетчере устройств Windows должен появиться новый COM-порт
- Запомните номер этого COM-порта, он понадобится для подключения
Без правильно установленных драйверов компьютер не сможет распознать подключенный ESP8266 модуль.
Как прошить ESP8266 и обновить прошивку?
Для прошивки ESP8266 выполните следующие шаги:
- Скачайте последнюю версию прошивки с официального сайта
- Скачайте утилиту для прошивки (например, ESP8266Flasher или esptool)
- Подключите ESP8266 к компьютеру, замкнув GPIO0 на землю
- Запустите утилиту прошивки и выберите COM-порт
- Укажите путь к файлу прошивки
- Нажмите кнопку «Flash» или «Upload» для начала прошивки
- Дождитесь завершения процесса
- Перезагрузите модуль, отключив и снова подав питание
Прошивка позволяет обновить функционал ESP8266 или установить специализированную прошивку под ваши задачи.
Как подключить ESP8266 к Arduino IDE?
Для программирования ESP8266 через популярную среду Arduino IDE нужно выполнить следующие действия:
- Установите последнюю версию Arduino IDE
- Откройте «Файл» -> «Настройки»
- В поле «Дополнительные ссылки для Менеджера плат» вставьте: http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Перейдите в «Инструменты» -> «Плата» -> «Менеджер плат»
- Найдите «esp8266» и установите последнюю версию
- Выберите вашу модель ESP8266 в меню «Инструменты» -> «Плата»
- Выберите правильный COM-порт
Теперь вы можете программировать ESP8266 как обычную Arduino плату, используя знакомую среду разработки.
Какие основные команды AT используются для управления ESP8266?
ESP8266 можно управлять с помощью AT-команд через последовательный порт. Вот некоторые базовые команды:
- AT — проверка связи
- AT+RST — перезагрузка модуля
- AT+GMR — версия прошивки
- AT+CWMODE=1 — режим клиента Wi-Fi
- AT+CWJAP=»SSID»,»password» — подключение к Wi-Fi сети
- AT+CIFSR — получение IP-адреса
- AT+CIPMUX=1 — включение многоканального режима
- AT+CIPSTART — установка TCP-соединения
- AT+CIPSEND — отправка данных
С помощью этих команд можно настроить Wi-Fi подключение и обмен данными, не прибегая к программированию.
Как отлаживать и тестировать работу ESP8266?
Для отладки ESP8266 можно использовать следующие методы:
- Мониторинг последовательного порта в Arduino IDE для вывода отладочных сообщений
- Подключение светодиодов к GPIO для визуальной индикации
- Использование логгеров и анализаторов Wi-Fi трафика
- Отправка отладочной информации на удаленный сервер
- Подключение внешнего дисплея для вывода данных
Важно настроить корректный вывод информации и тщательно проверять все этапы работы устройства на основе ESP8266.
Какие проекты можно реализовать на базе ESP8266?
ESP8266 открывает широкие возможности для создания IoT устройств. Вот несколько идей проектов:
- Удаленное управление бытовыми приборами
- Метеостанция с отправкой данных в облако
- Система «умного дома» с датчиками и актуаторами
- Беспроводной дверной звонок с уведомлениями на смартфон
- Автоматизированная система полива растений
- Wi-Fi реле для управления нагрузкой
- Трекер местоположения на основе Wi-Fi
Возможности ограничены только вашей фантазией! ESP8266 позволяет добавить подключение к интернету практически к любому устройству.
как добавить новую плату [Амперка / Вики]
Менеджер плат — это инструмент Arduino IDE для добавления управляющих платформ с разными архитектурами.
Платформы Mbed OS RP2040 Boards
Список плат
Raspberry Pi Pico (без ног)
Raspberry Pi Pico (с ногами)
Настройка
Откройте среду программирования Arduino IDE.Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку Arduino Mbed OS RP2040 Boards. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы Arduino Mbed OS RP2040 Boards.
Платформы Arduino SAMD Boards
Список плат
Arduino MKR Vidor 4000
Arduino Nano 33 IoT
Arduino MKR Zero
Arduino MKR Wi-Fi 1010
Arduino MKR GSM 1400
Arduino M0 Pro
-
Arduino M0
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку Arduino SAMD Boards. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы Arduino SAMD Boards с вычислительным ядром Cortex-M0.
Платформы Arduino SAM Boards
Список плат
Arduino Due
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку Arduino SAM Boards. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы Arduino SAM Boards с вычислительным ядром Cortex-M3.
Платформы Arduino megaAVR Boards
Список плат
Arduino Uno Wi-Fi Rev 2
Arduino Nano Every
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку Arduino megaAVR Boards. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы Arduino megaAVR Boards.
Платформы Arduino Mbed OS Nano Boards
Список плат
Arduino Nano 33 BLE
Arduino Nano 33 BLE Sense
Arduino Nano RP2040 Connect
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку Arduino Mbed OS Nano Boards.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы Arduino Mbed OS Nano Boards.
Платформы STM32 Boards
Список плат
STM32F100 Discovery
STM32F407 Discovery
STM32F746 Discovery
STM32 F401RE Nucleo
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в настройки Arduino IDE: Файл Настройки
В окне Дополнительные ссылки для менеджера плат введите адрес:
https://github.com/stm32duino/BoardManagerFiles/raw/master/package_stmicroelectronics_index. json
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку STM32 MCU based boards. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы STM32.
Платформы Amperka Iskra Boards
Список плат
Iskra Nano Pro
Iskra Nano Pro (без ног)
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в настройки Arduino IDE: Файл Настройки
В окне Дополнительные ссылки для менеджера плат введите адрес:
https://raw. githubusercontent.com/amperka/iskra-boards/master/package_amperka_index.json
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку Amperka AVR Boards. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платы Iskra Nano Pro.
Платформы на модуле ESP8266
Список плат
Wi-Fi Slot
Wi-Fi (Troyka-модуль)
ESP8266 (ESP-01)
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в настройки Arduino IDE: Файл Настройки
В окне Дополнительные ссылки для менеджера плат введите адрес:
http://arduino. esp8266.com/stable/package_esp8266com_index.json
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку ESP8266. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы с модулем ESP8266.
Платформы на модуле ESP32
Список плат
ESP32 WROOM DevKit v1
Настройка
Откройте среду программирования Arduino IDE.
Зайдите в настройки Arduino IDE: Файл Настройки
В окне Дополнительные ссылки для менеджера плат введите адрес:
https://dl. espressif.com/dl/package_esp32_index.json
Зайдите в менеджер плат: Инструменты Плата Менеджер плат
Вбейте в фильтр строку ESP32. Найдите в списке соответствующую платформу и нажмите на кнопку Установить.
Начнётся установка дополнений. Надпись INSTALLED сообщает, что дополнения успешно установлены.
Теперь вам доступны к программированию платформы с модулем ESP32.
Микроконтроллер ESP8266: подключение и настройка
Многие пользователи уже успели обратить свое внимание на чип ESP8266-12, выпущенный компанией Espressif. Стоимость его значительно дешевле по сравнению со стандартной платой Bluetooth-адаптера, да и при меньших габаритах он отличается значительно более широкими возможностями. Теперь все домашние любители получили возможность работы в сети Wi-Fi сразу в двух режимах, то есть подключать свой компьютер к каким-либо точкам доступа или же включать его в качестве такой точки.
С другой стороны, нужно правильно понимать, что такие платы представляют собой не просто шилды, предназначенные только для связи по Wi-Fi. Сам по себе ESP8266 представляет собой микроконтроллер, имеющий собственные UART, GPIO и SPI-интерфейсы, то есть его можно использовать как абсолютно автономное оборудование. Многие после выхода данного чипа назвали его самой настоящей революцией, и с течением времени такие устройства начнут встраиваться даже в самые простые виды техники, но пока устройство является сравнительно новым и какой-либо стабильной прошивки на него нет. Многие специалисты по всему миру стараются изобретать собственные прошивки, ведь заливать их в плату на самом деле не составляет особого труда, но несмотря на различные трудности, устройство уже сейчас можно назвать вполне пригодным к работе.
На данный момент рассматривается только два варианта применения данного модуля:
- Использование платы в комбинации с дополнительным микроконтроллером или же компьютером, которым будет осуществляться контроль над модулем через UART.
- Самостоятельное написание прошивки для чипа, что позволяет потом использовать его в качестве самодостаточного устройства.
Вполне естественно, что рассматривать самостоятельную прошивку в данном случае мы не будем.
Глядя на удобство использования и хорошие характеристики, многие люди среди множества микроконтроллеров отдают свое предпочтение модели ESP8266. Подключение и обновление прошивки данного устройства является предельно простым и доступным, и производится на том же железе, на котором осуществляется подключение оборудования к компьютеру. То есть так же через USB-TTL-конвертер или, если кто-то предпочитает другие варианты подключения, может осуществляться через RPi и Arduino.
Как проверить?
Для того чтобы проверить работоспособность только что купленного устройства, вам нужно будет использовать специальный источник стабилизированного напряжения, рассчитанный на 3,3 вольта. Сразу стоит отметить, что реальный диапазон напряжения питания данного модуля составляет от 3 до 3,6 вольт, а подача повышенного напряжения сразу приведет к тому, что вы просто-напросто выведете из строя свой ESP8266. Прошивка и прочее программное обеспечение после подобной ситуации может начать некорректно работать, и вам уже нужно будет ремонтировать устройство или как-то его исправлять.
Чтобы определить работоспособность данной модели микроконтроллера, нужно просто подключить три пина:
- CH_PD и VCC подключаются к питанию 3,3 вольт.
- GND подключается к земле.
Если вами используется не ESP-01, а какой-либо другой модуль, и на нем уже изначально присутствует выведенный GPIO15, то в таком случае вам и его нужно будет дополнительно подключить к земле.
Если заводская прошивка запустилась нормально, то в таком случае можно увидеть красный светодиод, а затем пару раз мигнет синий. Однако стоит отметить, что красный индикатор питания имеют не все устройства серии ESP8266. Прошивка на некоторых устройствах не предусматривает загорание красного индикатора, если в модуле он отсутствует (в частности, это относится к модели ESP-12).
После подключения в вашей беспроводной сети активируется новая точка доступа, которая будет называться ESP_XXXX, и ее можно будет обнаружить с любого устройства, имеющего доступ к Wi-Fi. В данном случае название точки доступа непосредственно зависит от производителя используемой вами прошивки, и поэтому может быть каким-нибудь другим.
Если точка действительно появляется, вы можете продолжать эксперименты, в противном случае нужно будет проводить повторную проверку питания, а также корректность подключения GND и CH_PD, а если все подключено верно, то, скорее всего, вы все-таки стараетесь использовать сломанный модуль или же на нем просто-напросто установлена прошивка с нестандартными настройками.
Как его быстро подключить?
Стандартный набор, необходимый для подключения данного модуля, включает в себя следующее:
- сам модуль;
- беспаечную макетную плату;
- полноценный набор проводов мама-папа, предназначенные для макетной платы, или же специальный кабель DUPONT M-F;
- USB-TTL конвертер на основе PL2303, FTDI или же каком-нибудь аналогичном чипе. Наиболее оптимальный вариант – если на USB-TTL адаптер также выводятся RTS и DTR, так как за счет этого можно добиться достаточно быстрой загрузки прошивки из какого-нибудь UDK, Arduino IDE или Sming, не имея даже необходимости в ручном переключении GPIO0 на землю.
Если вами используется конвертер на 5 вольт, то в таком случае нужно будет приобрести дополнительный стабилизатор питания на базе чипа 1117 или каком-либо аналогичном, а также источник питания (для стандартного 1117 вполне неплохо подойдет даже обыкновенная зарядка от смартфона на 5 вольт). Рекомендуется не использовать Arduino IDE или USB-TTL в качестве источника питания для ESP8266, а применять отдельный, так как за счет этого можно избавиться в конечном итоге от массы проблем.
Расширенный набор для обеспечения комфортной и постоянной работы с модулем предусматривает необходимость в использовании дополнительных разъемов питания, резисторах, светодиодах и DIP-переключателях. Помимо этого, можно также использовать недорогой USB монитор, который позволит вам постоянно наблюдать за количеством потребляемого тока, а также обеспечит небольшую защиту шину USB от возникновения короткого замыкания.
Что нужно делать?
В первую очередь стоит отметить тот факт, что в ESP8266 управление может быть несколько разным в зависимости от того, какая конкретно модель вами используется. Таких модулей сегодня представлено достаточно много, и первое, что будет нужно, – это провести идентификацию используемой вами модели и определиться с ее распиновкой. В данной инструкции мы будем говорить о работе с модулем ESP8266 ESP-01 V090, и если вами используется какая-то другая модель с выведенным пином GPIO15 (HSPICS, MTDO), вам нужно будет притянуть его к земле как для стандартного старта модуля, так и для использования режима прошивки.
После этого дважды убедитесь в том, что питающее напряжение для подключенного модуля составляет 3,3 вольта. Как говорилось выше, допустимый диапазон составляет от 3 до 3,6 вольт, и в случае повышения устройство выходит из строя, но при этом питающее напряжение может быть даже значительно ниже 3 вольт, которые заявлены в документах.
Если вы используете USB-TTL конвертер на 3,3 вольта, то в таком случае подключите модуль точно так же, как на левой части картинки ниже. Если же вами применяется исключительно пятивольтовый USB-TTL, то обратите внимание на правую часть рисунка. Многим может показаться, что правая схема более эффективная за счет того, что в ней применяется отдельный источник питания, но на самом деле в случае применения USB-TTL конвертера на 5 вольт крайне желательно сделать также дополнительный делитель на резисторах, чтобы обеспечить согласование трехвольтовых и пятивольтовых уровней логики, или же просто использовать модуль преобразования уровней.
Особенности подключения
На правом рисунке присутствует подключение UTXD (TX), а также URXD (RX) данного модуля к пятивольтовой логике TTL, и проведение таких процедур осуществляется только на свой страх и риск. К ESP8266 описание говорит о том, что модуль эффективно работает только с 3,3-вольтовой логикой. В преимущественном большинстве случаев даже в случае работы с пятивольтовой логикой оборудование не выходит из строя, но изредка происходят такие ситуации, поэтому подобное подключение является не рекомендованным.
Если у вас нет возможности использовать специализированный USB-TTL конвертер на 3,3 вольта, можно применить делитель на резисторах. Также стоит отметить, что на правом рисунке стабилизатор питания 1117 подключается без дополнительной обвязки, и это действительно рабочая технология, но все-таки лучше всего пользоваться схемой подключения 1117 с конденсаторной обвязкой – нужно сверить ее с ESP8266 datasheet на ваш стабилизатор или использовать уже полностью готовый модуль, основывающийся на базе 1117.
Чтобы запустить модуль, нужно разорвать цепь GPIO0-TND, после чего можно подавать питание. При этом стоит отметить, что делать все нужно именно в таком порядке, то есть сначала убедитесь в том, что GPIO0 «висит в воздухе», и только потом уже подавайте питание на CH_PD и VCC.
Как подключать правильно?
Если вы можете уделить более одного вечера тому, чтобы нормально подключить модуль ESP8266, вы можете использовать более стабильный вариант. На схеме выше вы видите вариант подключения с автоматической загрузкой прошивки.
Стоит отметить, что на изображении выше не показывается использование свободных GPIO или ADC, и их подключение будет непосредственно зависеть от того, что конкретно вы хотите реализовать, но если же вы захотите обеспечить стабильность, не забывайте притягивать все GPIO к питанию, а ADC к земле с использованием подтягивающих резисторов.
Резисторы на 10k при необходимости можно заменить на какие-либо другие в диапазоне от 4,7k до 50k, исключая GPIO15, так как его номинал должен быть не более 10k. Номинал конденсатора, сглаживающего высокочастотные пульсации, может быть несколько иным.
Соединение RESET и GPIO16 через использование резистора deep sleep на 470 Ом может стать необходимым при использовании соответствующего режима, так как для того, чтобы выйти из режима глубокого сна, модуль осуществляет полную перезагрузку, осуществляя подачу низкого уровня на GPIO16. При отсутствии данного соединения режим глубокого сна для вашего модуля будет длиться вечно.
На первый взгляд, может показаться, что GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) и GPIO15 заняты, поэтому использовать их для своих целей не получится, но на самом деле это далеко не так. Достаточно высокий уровень на GPIO0 и GPIO2, а также низкий на GPIO15 могут потребоваться только для первоначального запуска модуля, а в дальнейшем уже можно применять их на свое усмотрение. Единственное, что стоит отметить, – не забывайте обеспечивать нужные уровни до того, как осуществлять полную перезагрузку вашего оборудования.
Также можно использовать TX, RX в качестве альтернативы GPIO1 и GPIO3, но при этом не стоит забывать о том, что после старта модуля каждая прошивка начинает «дергать» ТХ, параллельно занимаясь отправкой отладочной информации в UART0 со скоростью 74480, но, после того как будет проведена успешная загрузка, их можно использовать не только в качестве UART0 для того, чтобы сделать обмен данных с другим устройством, но и в качестве стандартных GPIO.
Для модулей, у которых присутствует небольшое количество разведенных пинов (к примеру, ESP-01), не требуется подключения неразведенных пинов, то есть на ESP-01 разводятся только: GND, CH_PD, VCC, GPIO0, GPIO2 и RESET, и именно их вам нужно будет подтягивать. Нет никакой потребности в том, чтобы припаиваться непосредственно к микросхеме ESP8266EX, а затем притягивать неразведенные пины, если только это вам действительно нужно.
Такие схемы подключения использовались после большого количества экспериментов, проведенных квалифицированными специалистами и собраны из множества различной информации. При этом стоит отметить, что даже такие схемы нельзя считать идеальными, так как можно использовать целый ряд других, не менее эффективных вариантов.
Подключение через Arduino
Если у вас по какой-то причине не оказалось USB-TTL конвертера на 3,3 вольт, то в таком случае модуль WiFi ESP8266 можно подключить через Arduino со встроенным конвертером. Здесь вам нужно будет сначала обратить свое внимание на три основных элемента:
- При использовании в работе с ESP8266 Arduino Reset изначально подключен к GND, чтобы исключить возможность запуска микроконтроллера, и в данном виде он использовался в качестве прозрачного USB-TTL конвертера.
- RX и TX подключались не «на перекрест», а напрямую – RX-RX (зеленый), ТХ-ТХ (желтый).
- Все остальное подключается точно так же, как указано выше.
Что нужно учитывать
В данной схеме также требуется согласование уровней TTL 5 вольт Arduino, а также 3,3 вольта на ESP8266, но при этом неплохо может функционировать и так.
При подключении к ESP8266 Arduino может оснащаться стабилизатором питания, не выдерживающим ток, который требуется для ESP8266, вследствие чего, перед тем как его активировать, нужно свериться с даташипом на тот, который используется у вас. Не пробуйте подключать какие-то другие энергопотребляющие элементы вместе с ESP8266, так как это может привести к тому, что встроенный в Arduino стабилизатор питания просто выйдет из строя.
Также есть другая схема подключения ESP8266 и Arduino, в которой используется SoftSerial. Так как для библиотеки SoftSerial скорость порта, равная 115200, имеет слишком высокое значение и не может гарантировать стабильную работу, такой способ подключения использовать не рекомендуется, хотя есть некоторые случаи, в которых все работает вполне стабильно.
Подключение через RaspberryPi
Если вы не располагаете вообще никакими USB-TTL конвертерами, то в таком случае можно использовать RaspberryPi. В данном случае для ESP8266 программирование и подключение осуществляется практически идентично, но при этом здесь все не так удобно, а дополнительно нужно будет использовать также стабилизатор питания на 3,3 вольта.
Для начала RX, TX и GND нашего устройства подключаем к ESP8266, а GND и VCC берем со стабилизированного источника питания, рассчитанного на 3,3 вольта. Здесь отдельное внимание следует уделить тому, что нужно провести соединение всех GND устройств, то есть стабилизатора RaspberryPi и ESP8266. Если же встроенный в вашу модель устройства стабилизатор может выдерживать до 300 миллиампер дополнительной нагрузки, то в таком случае подключение ESP8266 осуществляется вполне нормально, но это все делается только на свой страх и риск.
Настраиваем параметры
Когда вы разобрались, как подключить ESP8266, нужно убедиться в том, что драйвера к вашим устройствам установлены корректно, вследствие чего в системе был добавлен новый последовательный виртуальный порт. Здесь нужно будет использовать программу – терминал последовательного порта. В принципе, утилиту можно подобрать любую на свой вкус, но при этом вы должны правильно понимать, что любая команда, которая будет отправляться вами в последовательный порт, в конце должна иметь завершающие символы CR+LF.
Достаточно широким распространением пользуются утилиты CoolTerm и ESPlorer, причем последняя позволяет не вводить ESP8266 AT команды самостоятельно, и при этом дает проще работать с lua скриптами под NodeMCU, поэтому ее можно вполне использовать в качестве стандартного терминала.
Для нормального подключения к последовательному порту придется проделать немало работы, так как прошивки для ESP8266 в большинстве своем являются разнообразными и активация может проводиться на разных скоростях. Чтобы определиться с наиболее оптимальным вариантом, вам нужно будет перебрать три основных варианта: 9600, 57600 и 115200.
Как перебирать
Для начала подключитесь в терминальной программе к последовательному виртуальному порту, выставляя параметры 9600 8N1, после чего проводите полную перезагрузку модуля, отключая CH_PD (chip enable) от питания, после чего снова активируйте его, передергивая CH_PD. Также можно провести кратковременное замыкание RESET на землю для того, чтобы перезагрузить модуль, и наблюдать за данными в терминале.
В первую очередь светодиоды устройства должны отображаться точно так же, как это показано в описании процедуры проверки. Также вы должны наблюдать в терминале набор различных символов, который будет заканчиваться строкой ready, а если ее нет, проводится переподключение к терминалу на другой скорости с последующей перезагрузкой модуля.
Когда вы увидите на одном из вариантов скорости данную строку, можно считать модуль подготовленным к работе.
Как обновлять прошивку
После того как вы установите ESP8266, подключение устройства займет всего несколько секунд, и тогда можно будет приступать к обновлению прошивки. Для установки нового программного обеспечения вам нужно сделать следующее.
Для начала скачивайте новую версию прошивки с официального сайта, а также скачивайте специальную утилиту для прошивки. Здесь отдельное внимание следует уделить тому, какая операционная система установлена на той машине, с которой работает ESP8266. Подключение устройства лучше всего проводить к системам старше Windows 7.
Для стандартных ОС Windows вполне оптимально будет использовать программу под названием XTCOM UTIL, которая особенно удобной в работе, если прошивка состоит только из одного файла. Лучшим мультиплатформенным вариантом стоит назвать утилиту esptool, которая, правда, требует python, а также необходимость указания параметров через командную строку. Помимо этого, в ESP8266 подключение основных функций позволяет удобно сделать программа Flash Download Tool, которая имеет достаточно большое количество настроек, а также удобную технологию установки прошивок из нескольких файлов.
Далее отключайте свою терминальную программу от последовательного порта, а также полностью отключайте CH_PD от питания, присоединяйте GPIO0 модуля к GND, и после этого CH_PD можно будет вернуть обратно. В конечном итоге просто запускайте программу для модульной прошивки и загружайте ее в ESP8266 реле.
В преимущественном большинстве случаев прошивка загружается в модуль со скоростью в районе 115200, но при этом специальный режим предусматривает автоматическое распределение скорости, вследствие чего прошивка может проводиться на скорости более 9600, обновляя доступные функции ESP8266. Arduino использовался для подключения или USB-TTL – здесь не играет особой роли, и здесь предельная скорость уже зависит от длины проводов, используемого конвертера и целого ряда других факторов.
Руководство по подключениюESP8266 Thing — SparkFun Learn
- Главная
- Учебники
- Руководство по подключению ESP8266 Thing
≡ Страниц
Авторы: Джимблом
Избранное Любимый 34
Существует множество сред разработки, которые можно оборудовать для программирования ESP8266. Вы можете использовать простую настройку Notepad/gcc или настроить среду Eclipse, использовать виртуальную машину, предоставляемую Espressif, или придумать что-то свое.
К счастью, замечательное сообщество ESP8266 недавно сделало шаг вперед в выборе IDE, создав надстройку для Arduino. Если вы только начинаете программировать ESP8266, мы рекомендуем начинать именно с этой среды, которую мы задокументируем в этом руководстве.
Этот аддон ESP8266 для Arduino основан на потрясающей работе Ивана Грохоткова и остальных членов сообщества ESP8266. Посетите репозиторий ESP8266 Arduino GitHub для получения дополнительной информации.
Ядро GitHub ESP8266 для Arduino
Установка надстройки с помощью диспетчера плат Arduino
С выпуском Arduino 1.6.4 добавление сторонних плат в среду разработки Arduino IDE осуществляется с помощью нового диспетчера плат. Если вы используете более старую версию Arduino (1.6.3 или более раннюю), мы рекомендуем выполнить обновление сейчас. Как всегда, вы можете скачать последнюю версию Arduino с сайта Arduino.cc.
Для начала нам нужно обновить диспетчер доски с помощью пользовательского URL-адреса. Откройте Arduino, затем перейдите в «Настройки» ( Файл > Настройки ). Затем в нижней части окна скопируйте этот URL-адрес в текстовое поле «Дополнительные URL-адреса диспетчера плат»:
http://arduino. esp8266.com/stable/package_esp8266com_index.json.
Если у вас уже есть URL-адрес и вы хотите его сохранить, вы можете разделить несколько URL-адресов, поставив между ними запятую. (В Arduino 1.6.5 добавлено расширенное текстовое поле, отдельные ссылки здесь построчно.)
Нажмите OK . Затем перейдите к диспетчеру плат, перейдя на Инструменты > Платы > Менеджер плат . В дополнение к стандартным платам Arduino должна быть пара новых записей. Найдите esp8266 . Нажмите на эту запись, затем выберите Установить .
Определения платы и инструменты для ESP8266 Thing включают совершенно новый набор gcc, g++ и других достаточно больших скомпилированных двоичных файлов, поэтому загрузка и установка может занять несколько минут (архивный файл весит ~110 МБ). После завершения установки рядом с записью появится надпись «УСТАНОВЛЕНО» синего цвета Arduino.
Выбор платы ESP8266 Thing
После установки дополнения Board все, что осталось сделать, это выбрать «ESP8266 Thing» в меню Tools > Boards .
Затем выберите номер порта FTDI в меню Tools > Port .
Приступая к работе — Руководство по программированию ESP8266 RTOS SDK, документация
Этот документ предназначен для помощи пользователям в настройке программной среды для разработки приложений с использованием оборудования на базе Espressif ESP8266EX. На простом примере мы хотели бы проиллюстрировать, как использовать ESP8266_RTOS_SDK (стиль ESP-IDF), включая настройку на основе меню, компиляцию ESP8266_RTOS_SDK и загрузку прошивки на платы ESP8266EX.
Введение
Микроконтроллер ESP8266EX включает в себя 32-разрядный RISC-процессор Tensilica L106, который обеспечивает сверхнизкое энергопотребление и максимальную тактовую частоту 160 МГц. Операционная система реального времени (RTOS) и стек Wi-Fi позволяют использовать около 80% вычислительной мощности для программирования и разработки пользовательских приложений.
Espressif предоставляет базовые аппаратные и программные ресурсы, которые помогают разработчикам приложений строить свои идеи на основе оборудования серии ESP8266EX. Среда разработки программного обеспечения от Espressif предназначена для быстрой разработки приложений Интернета вещей (IoT) с Wi-Fi, управлением питанием и некоторыми другими системными функциями.
Что вам нужно
Для разработки приложений для ESP8266EX вам необходимо:
- ПК с операционной системой Windows, Linux или Mac
- Toolchain для создания приложения для ESP8266EX
- ESP8266_RTOS_SDK , который по существу содержит API для ESP8266EX и скрипты для работы с набором инструментов
- Текстовый редактор для написания программ ( Projects ) на C, например. Затмение
- Сама плата ESP8266EX и USB-кабель для подключения к ПК
Разработка приложений для ESP8266EX
Подготовка среды разработки состоит из трех этапов:
- Настройка Toolchain
- Получение ESP8266_RTOS_SDK с GitHub
- Установка и настройка Eclipse
Вы можете пропустить последний шаг, если предпочитаете использовать другой редактор.
Настроив среду, вы готовы приступить к самой интересной части — разработке приложения. Этот процесс можно разделить на четыре шага:
- Конфигурация проекта и написание кода
- Компиляция проекта и связывание его для создания приложения
- Перепрошивка (загрузка) приложения на ESP8266EX
- Мониторинг/отладка приложения
См. приведенные ниже инструкции, которые помогут выполнить эти шаги.
Руководства
Если у вас есть одна из плат разработки ESP8266, перечисленных ниже, нажмите на предоставленные ссылки, чтобы начать работу.
- ESP8266 DevKitC
Если у вас другая плата, перейдите к разделам ниже.
Setup Toolchain
Самый быстрый способ начать разработку с помощью ESP8266EX — установить готовый набор инструментов. Выберите свою ОС ниже и следуйте предоставленным инструкциям.
Окна | Линукс | Mac OS |
Примечание
Мы используем каталог ~/esp
для установки готовой цепочки инструментов, ESP8266_RTOS_SDK и примеров приложений. Вы можете использовать другой каталог, но вам нужно настроить соответствующие команды.
В зависимости от вашего опыта и предпочтений вместо использования готовой цепочки инструментов вы можете настроить свою среду..
Когда вы закончите настройку набора инструментов, перейдите к разделу «Получить ESP8266_RTOS_SDK».
Получить ESP8266_RTOS_SDK
Помимо цепочки инструментов (которая содержит программы для компиляции и сборки приложения), вам также потребуются специальные API/библиотеки ESP8266. Они предоставлены Espressif в репозитории ESP8266_RTOS_SDK.
Чтобы получить локальную копию: откройте терминал, перейдите в каталог, в который вы хотите поместить ESP8266_RTOS_SDK, и клонируйте репозиторий, используя git clone 9. 0202 команда:
cd ~/esp git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
ESP8266_RTOS_SDK будет загружен в ~/esp/ESP8266_RTOS_SDK
.
Примечание
Эта команда клонирует основную ветку, которая имеет последнюю версию ESP8266_RTOS_SDK для разработки («передовой»). Он полностью функционален и еженедельно обновляется самыми последними функциями и исправлениями.
Примечание
Функция GitHub «Загрузить zip-файл» не работает с ESP8266_RTOS_SDK, a Требуется клон git
. В качестве запасного варианта можно установить стабильную версию без Git.
Путь установки к ESP8266_RTOS_SDK
Программы цепочки инструментов получают доступ к ESP8266_RTOS_SDK, используя переменную среды IDF_PATH
. Эта переменная должна быть установлена на вашем ПК, иначе проекты не будут собираться. Настройка может производиться вручную при каждом перезапуске ПК. Другой вариант — настроить его на постоянной основе, определив IDF_PATH
в профиле пользователя.
Установите необходимые пакеты Python
Пакеты Python, необходимые для ESP8266_RTOS_SDK, находятся в файле $IDF_PATH/requirements.txt . Вы можете установить их, запустив:
python -m pip install --user -r $IDF_PATH/requirements.txt
Примечание
Пожалуйста, вызовите ту версию интерпретатора Python, которую вы будете использовать с ESP8266_RTOS_SDK. Версия
интерпретатор можно проверить, выполнив команду python --version
, и в зависимости от результата вы можете захотеть
использовать python2
, python2.7
или аналогичный вместо python
, например:
python2.7 -m pip install --user -r $IDF_PATH/requirements.txt
Начать проект
Теперь вы готовы подготовить приложение для ESP8266. Чтобы быстро начать, мы будем использовать проект get-started/hello_world из каталога примеров в IDF.
Скопируйте get-started/hello_world в каталог ~/esp
:
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
Вы также можете найти ряд примеров проектов в каталоге примеров в ESP-IDF. Эти примеры каталогов проектов можно скопировать так же, как описано выше, чтобы начать свои собственные проекты.
Важно
Система сборки ESP8266_RTOS_SDK не поддерживает пробелы в путях к ESP8266_RTOS_SDK или к проектам.
Подключиться
Вы почти у цели. Чтобы продолжить, подключите плату ESP8266 к ПК, проверьте, через какой последовательный порт плата видна, и проверьте, работает ли последовательная связь. Запишите номер порта, так как он потребуется на следующем шаге.
Настройка
Находясь в окне терминала, перейдите в каталог приложения hello_world
, набрав cd ~/esp/hello_world
. Затем запустите утилиту настройки проекта menuconfig
:
cd ~/esp/hello_world сделать менюконфигурации
Если предыдущие шаги были выполнены правильно, появится следующее меню:
Конфигурация проекта — Главное окно
В меню перейдите к Serial flasher config
> Последовательный порт по умолчанию
для настройки последовательного порта, на который будет загружаться проект. Подтвердите выбор, нажав клавишу ввода, сохраните конфигурацию, выбрав <Сохранить>
, а затем выйдите из приложения, выбрав <Выход>
.
Примечание
В Windows последовательные порты имеют такие имена, как COM1. В MacOS они начинаются с /dev/cu.
. В Linux они начинаются с /dev/tty
.
Вот несколько советов по навигации и использованию menuconfig
:
- Используйте клавиши со стрелками вверх и вниз для навигации по меню.
- Используйте клавишу Enter, чтобы войти в подменю, клавишу Escape, чтобы выйти или выйти.
- Тип
?
, чтобы увидеть экран справки. Клавиша Enter закрывает экран справки. - Используйте клавишу «Пробел» или клавиши
Y
иN
для включения (Да) и отключения (Нет) элементов конфигурации с флажками «[*]
» - Нажатие
?
при выделении элемента конфигурации отображает справку об этом элементе. - Введите
/
для поиска элементов конфигурации.
Примечание
Если вы являетесь пользователем Arch Linux , перейдите к конфигурации инструмента SDK
и измените имя интерпретатора Python 2
с python
на python2
.
Сборка и прошивка
Теперь вы можете собрать и прошить приложение. Выполнить:
сделать прошивку
Это скомпилирует приложение и все компоненты ESP8266_RTOS_SDK, сгенерирует загрузчик, таблицу разделов и двоичные файлы приложения и запишет эти двоичные файлы на вашу плату ESP8266.
esptool.py v2.4.0 Прошивка двоичных файлов на последовательный порт /dev/ttyUSB0 (приложение по смещению 0x10000)... esptool.py v2.4.0 Подключение.... Чип ESP8266EX. Особенности: Wi-Fi MAC: эк: фа: до н. э.: 1д: 33: 2д Загрузка заглушки... Бегущая заглушка... Стаб бежит... Настройка размера флэш-памяти... Сжато 7952 байта до 5488... Записал 7952 байта (5488 сжатых) по адресу 0x00000000 за 0,5 секунды (эффективная скорость 129,9 кбит/с). .. Хэш данных проверен. Сжато 234800 байт до 162889... Записал 234800 байт (162889 сжатых) по адресу 0x00010000 за 14,4 секунды (эффективная скорость 130,6 кбит/с)... Хэш данных проверен. Сжато 3072 байта до 83... Записано 3072 байта (83 сжато) по адресу 0x00008000 за 0,0 секунды (действительно 1789 байт).0,8 кбит/с)... Хэш данных проверен. Уход... Аппаратный сброс через пин RTS...
Если проблем нет, в конце процесса сборки вы должны увидеть сообщения, описывающие ход процесса загрузки. Наконец, конечный модуль будет сброшен, и запустится приложение «hello_world».
Если вы хотите использовать Eclipse IDE вместо запуска make
, ознакомьтесь с руководством по Eclipse.
Монитор
Чтобы убедиться, что приложение «hello_world» действительно запущено, введите сделать монитор
.
$ сделать монитор МОНИТОР — idf_monitor на /dev/ttyUSB0 74880 — — Выход: Ctrl+] | Меню: Ctrl+T | Справка: Ctrl+T, затем Ctrl+H —
ets 8 января 2013, первая причина: 1, режим загрузки: (3,6)
load 0x40100000, len 4400, room 16 0x40100000: _stext в ??:?
хвост 0 контрольная сумма 0x6f загрузка 0x3ffe8408, длина 3516, комната 8 хвост 4 контрольная сумма 0x5d …
Несколькими строками ниже, после запуска и журнала диагностики, вы должны увидеть «Версия SDK: xxxxxxx», распечатанную приложением.
... Версия SDK: v3.1-dev-311-g824cd8c8-грязный
Для выхода из монитора используйте сочетание клавиш Ctrl+]
.
Примечание
Если вместо сообщений выше вы видите случайный мусор, похожий на:
e���)([email protected]�y.!��(�PW+)��Hn9a/9�! �t5��P�~�k�e�ea�5�jA ~zY��Y(1�,1�� e���)([email protected]�y.!Dr�zY(�jpi�|�+z5Ymvp
Чтобы выполнить make flash
и make monitor
за один раз, введите make flash monitor
.
Это все, что вам нужно для начала работы с ESP8266!
Теперь вы готовы попробовать другие примеры или приступить к разработке собственных приложений.
Переменные среды
Некоторые переменные среды могут быть указаны при вызове make
, позволяя пользователям переопределять аргументы без необходимости их перенастройки с помощью make menuconfig
.
Переменные | Описание и использование |
---|---|
ЭСППОРТ | Переопределяет последовательный порт, используемый во флэш-памяти |