Обзор модуля ESP-01 на чипе ESP8266
Китайская компания Espressif в 2014 году, начала продавать Wi-Fi модули, на чипах ESP8266. который сразу завоевал большую популярность у радиолюбителей из-за своей дешевизны и большими возможностями. На сегодняшний день существует большое количество различных модулей основанных на чипе ESP8266, в этой статье расскажу о ESP-01.
Технические параметры
► Напряжение питания: 3 В ~ 3.6 В
► Максимальный рабочий ток: 220 мА
► Поддержка беспроводного стандарта: 802.11 b / g / n
► Рабочая частота: 2.4 ГГц
► Режимы: P2P (клиент), soft-AP (точка доступа)
► Количество GPIO: 2.
► Flash память: 1024 кб.
► Выходная мощность в режиме 802.11b: +19.5dBm
► Поддержка беспроводного стандарта: 802.11 b / g / n
► Габариты: 24.8мм х 14.3мм х 8мм
Общие сведения о ESP-01
По сути, чип ESP8266 представляет собой миниатюрный микроконтроллер с Wi-Fi передатчиком, который может функционировать в условиях полной автономии, без дополнительной платы Arduino. С помощью модуля ESP-01 можно передавать данные о температуре, влажности, включать реле и так далее. Для удобства использования чипа ESP8266, производитель изготовил серию модулей от ESP-01 по ESP-14. Первый в этой серии, это модуль ESP-01 (существует еще ESP-01S, о нем чуть позже), являющийся одним из известным, из-за свой цены и небольшими размерами, всего 14,3 мм на 24,8 мм. Но в нем, есть два недостатка, это ограниченное количество программированных выводов GPIO и их неудобное расположение (неудобно макетировать).
Модуль ESP-01 представляет собой небольшую плату, черного цвета, на которой расположены два основных чипа, это микроконтроллером ESP8266 и flash память на 1 Мб. Рядом расположен кварцитовый резонатор и напечатанная антенна. На плате установлены два светодиода, красный и голубой. Красный светодиод, светится когда на модуле есть питание, а синий мигает при выполнении команд (в NSP-01S удален красный светодиод, из-за постоянного потребления электроэнергии). Для подключения модуля ESP-01, предусмотрено восемь выводов (два ряда по четыре вывода, шагом 2.54 мм), два из готовых являются цифровым входами-выходом, поддерживающие широтно импульсную модуляцию. Хотя модуль имеет по умолчанию два вывода GPIO, можно использовать другие доступные контакты, если у вас есть необходимый инструмент для пайки.
Назначение выводов
► GND: «-» питание модуля
► GPIO2: (Digital I / O программируемый)
► GPIO0: (Digital I / O программируемый, также используется для режимов загрузки)
► RX: UART прием
► TX: UART передача
► CH_PD: (включение / отключение питания, должны быть выведены на 3.3 В непосредственно или через резистор)
► RST: сброс, необходимо потянуть к 3.3В
► VCC: «3.3В» питание модуля
Подключение модуля
Для работы модуля ESP-01, необходим источник питания постоянного тока, который должен выдавать 3.3 В и током не менее 250 мА. К сожалению, штатный стабилизатор установленный на Arduino не способен выдать необходимой ток для работы ESP-01 (если решите все равно подключить ESP-01, ждите нестабильную работу и постоянную перезагрузку). Кроме того, логические сигнал, данного модуля, рассчитан на 3.3 В, то есть на вывод RX необходимо подавать напряжение 3.3В, а с вывода TX будет напряжение равное 3.3 В (так же и для других выводов). Если необходимо подключить модуль к Arduino или другим контроллерам, которые выдают на логический вывод 5 В, необходимо использовать резисторы или модуль логических уровней, если подключать напрямую, модуль выйдет из строя.
Внимание! ESP-01 очень капризные к питанию, необходимо использовать внешний стабилизатор напряжения на 3.3В, в качестве первого примера буду использовать адаптер USB
С таблице выше, видно, что модуль ESP-01 может работать в нескольких режимах сна, с минимальным потреблением тока, вызываются они программном путем, кроме последнего «Power Off», чтобы задействовать данный режим, необходимо установить перемычку, между GPIO16 и RST, позже приведу пример.
Установка ESP8266 в IDE Arduino
► Скачиваем с сайта arduino.cc программу IDE Arduino
► Далее, необходимо установить ESP плату в IDE Arduino, для этого запускаем программу IDE Arduino, открываем: Файл -> Настройка.
► В новом открытом окне, в поле «Дополнительные ссылки для Менеджера плат:» добавляем ссылку:
1 |
http://arduino.esp8266.com/stable/package_esp8266com_index.json |
► Нажмите кнопку «OK«, далее открываем: «Инструменты -> Платы: -> Менеджер плат..».
►В открытом окне, ищем «esp8266 by ESP8266 Community» и нажимаем «Установить«. Установка займет несколько минут, затем появиться надпись «Installed«, жмем «Закрыть«
► Нажимаем «Инструменты -> Платы -> Generis ESP8266 Module«.
► Теперь необходимо подключить модуль ESP-01 к компьютеру через специальный адаптер USB на чипе CH340G
► Настраиваем частоту процессора «CPU Frequency: «80 MHz»«, скорость «Upload Speed: «115200»» и выбираем «Порт«.
► Затем загружаем скетч, который заставит ESP8266 мигать светодиодом.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
/* Тестировалось на Arduino IDE 1.8.5 Дата тестирования 15.06.2018г. */ #define TXD 1 // GPIO1 / TXD01 void setup() { pinMode(TXD, OUTPUT); } void loop() { digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay(1000); } |
► Если все правильно подключили и настроили, светодиод на ESP8266 насчет мигать с интервалом 1 секунду.
Купить на Aliexpress
Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01)
Адаптер USB для ESP-01 (Wi-Fi, CH340G)
Купить в Самаре и области
Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01)
Адаптер USB для ESP8266 (Wi-Fi, CH340G)
не работет
Добрый день.
Можно по точнее, что именно не работает?
не работает.
Скетч использует 257696 байт (51%) памяти устройства. Всего доступно 499696 байт.
Глобальные переменные используют 26572 байт (32%) динамической памяти, оставляя 55348 байт для локальных переменных. Максимум: 81920 байт.
esptool.py v2.6
2.6
esptool.py v2.6
Serial port COM16
Connecting…….._____….._____….._____….._____….._____….._____…..____Traceback (most recent call last):
File «C:\Users\�������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2/tools/upload.py», line 25, in
esptool.main(fakeargs)
File «C:/Users/�������/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py», line 2653, in main
esp.connect(args.before)
File «C:/Users/�������/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py», line 468, in connect
raise FatalError(‘Failed to connect to %s: %s’ % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
_
Надо было пин gpio0 сажать на gnd, тем самым включая режим программирования.
У меня тоже такое было. Использую адаптер на микросхеме ch340g заказал с али(красный такой), так вот слева есть рычаг у которого 2 положения uart и prog, если у вас такой же то просто перевидите в режим prog, тогда все загрузится. Правда светодиод у меня не мигает.
Виталий, да ты же вылетел по тайм-ауту. 99% что устройство не в режиме загрузки. Каким программатором ты пользуешься? Гугли как подключить esp к твоему программатору. При подаче питания на esp контакт gpio0 должен быть притянут к земле, в этом случае, при условии что остальные условия по подключению выполнены правильно, устройство загрузится в режим загрузки и скетч зальется.
почему то не грузится и перемычка стоит, ошибку выдает esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header, использую программатор CH340G
кто знает как проверить программатор отдельно, без esp модуля?
может быть проблема в том что используется ESP — 015?
у меня тоже не работает! Сначала библиотек не было….нашел….без них не компилировалось….Я начинающий….когда посмотрел что в скетче написано понял (может и ошибаюсь)….что участвуют два контакта на esp-01s
► GPIO2: (Digital I / O программируемый)
► TX: UART передача
…..значит программатор у меня hw-305….его еще по другому называют….ну думаю поняли….на али покупал…под платой замкнул контакты и перевел его в режим программирования…..прошил….эти скетчем и тишина…..снимаю перемычку и ничего
замыкаю контакт скрепкой….да чем угодно и диод мигает……кстати на esp-01s диод один синий….как на фото красного нет(возможно схема другая и на этом esp-01s скетч не запускается)
но я нашел другой скетч и он работает на esp-01s….он оказывается есть в примерах в ардуино и называется Blink
ESP8266 Blink by Simon Peter
я уже долгов время не могу найти рабочий скетч на Реле под управлением esp-01s…..реле брал на али….одиночное
У меня заработал. ESP-01 чуствителен к напрежению.
Для esp-01s надо указывать порт №2:
«#define TXD 2»
Ну хоть кто-то заметил, что на ESP-01s нету второго светодиода, и соответственно мигать им не будет.
Ребята, а можно при помощи этого модуля подключить видеокамеру, для организации видеонаблюдения?
Спасибо
Светодиод мигает. А как соединить смартфон и реле?
Тот-же вопрос..