Site logo

Developer Blog

Pavel Koltyshev

Обзор ESP-01

Содержание

ESP-01 миниатюрный и недорогой модуль с Wi-Fi от компании Expressif, который может использоваться в устройствах умного дома.

Модуль не обязательно использовать совместно с Arduino, намного лучше использовать его как самостоятельное устройство.

ESP-01

Технические характеристики

СвойствоЗначение
МикроконтроллерESP-8266EX
Питание платы3.0 - 3.6 V (только через стабилизатор)
Рабочее напряжение3.3 V
Кол-во цифровых контактов ввода-вывода2
Кол-во ШИМ контактов0
UART1
SPI-
I2C1 (для работы нужна настройка пинов)
Кол-во аналоговых входов1
Внешние прерывания-
Постоянный ток на контактах ввода-вывода-
Флеш память (для записи программ)1 Mb
SRAM-
EEPROM-
Тактовая частота80/160 MHz

Питание

ESP-01 очень прихотлив к питанию, и в среднем потребляет ток 140-200 mA при работе.

При недостаточном напряжении модуль начинает зависать и сильно нагреваться, а при слишком высоком напряжении (больше 3.6 V) может сгореть и выйти из строя.

Один из возможных вариантов питания ESP-01 при использовании совместно с аккамуляторной батареей это линейный стабилизатор напряжения. У линейного стабиллизатора напряжения не очень большое КПД, зато простое устройство, минимум обвязки и низкий ток потребления при бездействии.

Для работы с ESP-01 подойдут следующие линейные стабилизаторы:

Режим работыПотребление тока
Wi-Fi off15 mA
LIGHT_SLEEP15 mA
// Режим Wi-Fi off
WiFi.mode(WIFI_OFF);
delay(1000 * 60 * 10); // Ждем 10 минут (в миллисекундах)

// 15 mA, через 30 секунд 70 mA
WiFi.mode(WIFI_STA);
WiFi.forceSleepBegin();

delay(1000 * 30); // Ждем 30 секунд (в миллисекундах)

WiFi.forceSleepWake();

// Режим

Работа в режиме глубокого сна (Deep sleep)

В режиме глубокого сна ESP-01 потребляет около 0.01 mA.

Контакты ввода - вывода

ESP-01

PinОписание
TXTXD (UART)
RXRXD (UART)
CH_PDВключение модуля
RSTСброс
VCCПитание 3.3 V
GNDЗемля
GPIO0IO / SCL (I2C)
GPIO2IO / SDA (I2C)

Для использования контактов GPIO0 и GPIO2 в качестве I2C необходимо будет добавить в код программы переопределение этих портов для работы с I2C.

#include <Wire.h>

void setup() {
  Wire.begin(2, 0); // Setup I2C (SDA = GPIO2, SCL = GPIO0)
}

ESP-01

Добавление поддержки платы Wemos D1 mini в Arduino IDE

  1. Запустить Arduino IDE;
  2. Arduino -> Preferences -> Доп. ссылки для менеджера плат;
  3. Добавить новую ссылку на плату https://arduino.esp8266.com/stable/package_esp8266com_index.json;
  4. Инструменты -> Плата -> Менеджер плат -> Ввести “esp8266”;
  5. Установить плату esp8266;

Подробнее документация - Arduino core for ESP8266 WiFi chip.

Моргаем встроенным светодиодом на Wemos D1 mini

Создать новый скетч в Arduino IDE с текстом программы:

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

void loop() {
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
}

Выбрать нужную плату: Инструменты -> Плата -> ESP8266 Boards -> LOLIN (WEMOS) D1 mini (clone).

Загрузить скетч в Wemos D1 mini.

Обновление сайта

Обновить сайт и перезагрузить страницу?