Последние комментарии
- 09.03.2023 10:51
-
25.01.2023 16:05
Спасибо. Хорошая статья. Хотелось бы увидеть как ...
-
21.01.2023 22:58
Доброго дня! Як можна замовити? І чи є схема або ...
-
05.05.2022 19:14
Спасибо автору, понял почему блинк не работал
-
21.04.2022 13:18
В моём случае он используется совместно с AGP ...
Самое читаемое
- Многофункциональный программатор на CH341A
- Переходник USB to TTL (RS232) YP-01 на чипе PL2303HX
- Знакомство с Arduino Pro mini на примере китайского аналога
- Подключаем мощную нагрузку к Arduino, через реле модуль
- Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
- Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
- Знакомство с Arduino Nano на примере китайского аналога
- Знакомство с Arduino UNO на примере китайского аналога
- Обход блокировки Одноклассников, Вконтакте, Яндекс и Маил.ру с помощью OpenVPN
- Управляем Arduino через Bluetooth HC-06, с компьютера или смартфона
ESP-01S – обзор и первое знакомство
В 2014 году, китайская компания Espressif Systems представила первые продукты на базе микроконтроллера ESP8266EX. Благодаря низкой цене и наличию Wi-Fi, они получили широкую популярность в области автоматизации, бытовой техники, систем умного дома и интернета вещей. На данный момент, существует различное множество отладочных плат от различных производителей. В данном материале я предлагаю познакомиться с ESP-01S – это минимальная плата для разработки, построенная на базе ESP8266EX. Её размер 14 x 24 мм.
Внешний вид отладочной платы ESP-01S с обоих сторон.
Минимизация платы позволила сделать её самой маленькой, как по габаритам, так и в цене. Благодаря этому, широкую популярность данный форм-фактор получил при подключении реле, датчиков (температуры, влажности, потребления энергии), OLED-дисплеев и пр.
ESP-01S пришла на замену ESP-01, среди отличий:
1. На ESP-01S увеличен объём флеш-памяти - 1Мб, на ESP-01 может быть 512Кб или 1Мб.
2. На ESP-01S установлен один синий светодиод, который подключен к GPIO2. На ESP-01 установлено два светодиода, красный сигнализирует наличие питания, синий подключен к выводу Tx (GPIO1). Светодиод на ESP-01S включается тогда, когда на GPIO2 низкий уровень. В ESP-01 если используется UART для передачи данных, то светодиодом не получится управлять. Он просто будет мигать, когда передаются данные по Tx.
3. На ESP-01S добавлено два подтягивающих резистора. Один из этих резисторов подключен между выводами EN и 3v3 (VCC), второй между GPIO0 и 3v3 (VCC).
4. Изменилось строение антенны, она стала уже, что увеличило её силу.
Сам чип ESP8266EX построен на 32-bit процессоре Tensilica Lx106 с тактовой частотой 80 Мгц. Программно можно переключить в режим 160 МГц.
Объём оперативной памяти доступной пользователям - 50 КБ. Пользовательская программа хранится во внешней SPI флэш-памяти. Как уже отмечал выше, плата поставляется с флеш-памятью 1Мб. Чипы могут быть различных производителей.
Встроен IEEE 802.11 b/g/n Wi-Fi с поддержкой WEP и WPA/WPA2.
Имеется три режима энергопотребления: Аctive mode (активный режим), Sleep mode (спящий режим), Deep sleep mode (режим глубокого сна).
Из 11 возможно используемых портов ввода-вывода, в ESP-01S доступно только 4.
RXD и TXD – аппаратный UART. Эти выводы используются для прошивки, так же через них осуществляется связь со сторонним микроконтроллером. Можно использовать как порты GPIO1 и GPIO3.
GPIO0 – порт ввода/вывода, так же этот вывод может переводить ESP в режим программирования (режим FLASH).
GPIO2 – порт ввода/вывода. К этому порту подключен синий светодиод на плате.
RST – служит для перезагрузки ESP, для этого необходимо подать на него кратковременно низкий уровень.
EN – применяется для перевода ESP в энергосберегающий режим.
3V3 - Для питания микроконтроллера необходимо напряжение, в диапазоне от 3 до 3,6В. Не допустимо питание от 5 В. При связи ESP с Arduino, для питания нужно использовать отдельный источник питания и не использовать для этого вывод 3,3В Ардуино, поскольку он не способен выдать нужный ток и в таком случае ESP-01S будет работать не стабильно, может перезагружаться. Отдельный источник должен обеспечивать необходимый выходной ток, который в режиме прошивки может достигать до 800 мА.
GND – земля.
Все GPIO поддерживают ШИМ.
В ESP-01S на прямую не получится подключить аналоговые датчики, поскольку нет аналоговых портов.
Принципиальная схема ESP-01S. Контакт EN и RST подключен через резисторы 12к к питанию 3,3В.
Плата может использоваться как отдельное устройство. В таком случае, программировать прошивки можно будет на С++, JavaScript или Micropython. Так же можно использовать в связке с другим микроконтроллером, например с ATmega, на котором базируется платформа Arduino. В таком случае, общение микроконтроллера с ESP-01S будет происходить по UART, посредствам AT-команд.
ESP-01S подключение к ПК
Изначально с завода, плата запрограммирована на работу с AT-командами. Для подключения к компьютеру, достаточно любого USB-UART конвертера, на CP2102, CH340G, PL2303HX или др.
Далее, что бы плату использовать как независимое устройство, её нужно прошить соответчтвующей прошивкой. Запрограммируем с помощью Arduino IDE и загрузим первый скетч.
Добавляем ESP-01S в Arduino IDE
В Arduino IDE выбираем пункт меню "Файл" - "Настройки".
В поле "Дополнительные ссылки для Менеджера плат" пишем такую ссылку: "http://arduino.esp8266.com/stable/package_esp8266com_index.json" и нажимаем "OK".
В "Менеджере плат..."
Выбираем со всех имеющихся плат "esp8266 by ESP8266 Community" и устанавливаем.
LED_BUILTIN И ESP-01S
Загрузим скетч "Blink" в плату.
На всех платах Ардуино, пользовательский светодиод подключен к 13 контакту. Для этого в последних версиях Arduino IDE предопределена константа LED_BUILTIN. Используя её, программа подразумевает, что плата использует встроенный светодиод на 13 контакте.
Для того, что бы использовать эту константу для плат ESP, нужно в настройке "Builtin Led" выбрать соответствующий светодиод, для ESP-01 - это 1, ESP-1S - 2.
Подключив плату к ПК по вышеприведённой схеме (контакт GPOI0 замкнут на землю), выбрав плату (для ESP-01S выбираем "Generic ESP8266 Module") и порт, загружаем скетч.
Ждём, когда скомпилируется и загрузится скетч. Выключаем питание модуля, отключаем GPOI0 от земли, вновь подаём питание и убеждаемся, что светодиод мигает.
Управляем светодиодом по Wi-Fi
Поскольку чип с Wi-Fi, почему бы не управлять встроенным светодиодом по беспроводной технологии. Для этого, вначале предлагаю ознакомиться с веб-сервером и способами его организации на ESP8266.
Подробнее...