Отправляем температуру и влажность в приложение blynk (wemos d1 mini pro)

Распиновка платы WeMos D1 mini

Как пример — ниже предлагаем вашему вниманию распиновку (входы-выходы) пока самой популярной платы WeMos. Ниже на рисунке распиновка (pinout) ESP8266 WeMos D1 mini:

ESP8266 WeMos D1 mini

Будьте внимательны, как видно на схеме — максимальное напряжение для платы 3,3 Вольт. Также мы хотели расписать на схеме основные входы/выходы, USB и другие функциональные вещи:

Немного по схеме:

  • Digital GPIO — это выводы GPIO, т.е. это «входы / выходы общего назначения».
  • Reset button — Кнопка сброса
  • USB Prog Inerface — вывод подключения USB

На этом сегодня всё. Статьи о платах серии WeMos читайте в нашей рубрике здесь.

RTC + SD card reader module

  •  RTC + SD card reader module для платы Wemos D1 mini (ESP8266) или MH ET Live Minikit (ESP32):
    • RTC на чипе DS1307. Напряжение питания чипа 5 V.
    • Слот Micro SD карты для логирования.
    • Модуль RTC использует интерфейс I2C, однако выставить на плате адрес шины нельзя.
    • Размеры модуля, мм: 28×25.
    • Батарея для питания: CR1220
    • Цена с доставкой в Россию: 1,55 USD
    • Судя по всему разработка компании RobotDyn. Там-же есть вариант модуля без SD карты.
    • В разделе документации доступны схемы.
    • Модуль доступен у большого количества поставщиков на Aliexpress.

Функционально второй модуль удобнее из-за наличия слота SD карты и возможности каскадирования («сэндвич») при использовании компактных девелоперских плат MH ET Live Minikit (ESP32) или Wemos D1 mini (ESP8266). Рассмотрю работу с этим модулем подробнее.

Схема для подключения не требуется, поскольку при стекировании девелоперских плат с Wemo D1 mini datalogger нужные пины уже состыкованы. Для подключения RTC пины:

Wemos D1 mini(ESP8266) Описание ESP32
D1 (GPIO5) SCL GPIO 22 (SCL)
D2 (GPIO4) SDA GPIO 21 (SDA)
5V 5V
3.3V 3.3V
GND GND

Ещё раз обращаю внимание, что питание чипа RTC — 5 V. Если его запитать от 3,3 V, то он работает некорректно

Не выдает ошибки при соединении, но при запросе даты — выдает некорректную.

SD карта запитывается от пина 3.3V. При подключении к ESP32 не нужно забывать подключать это напряжение.

Data logger RTC shield (Wemos D1 mini) НЕЛЬЗЯ использоваить при питании от аккумулятора 3.7 V.

Для подключения SD карты к ESP8266/ESP32:

Wemos D1 mini(ESP8266) Описание ESP32VSPI ESP32HSPI
D5 (GPIO 14) CLK/SCK GPIO18 GPIO14
D6 (GPIO 12) DO/MISO GPIO19 GPIO12
D7 (GPIO13) DI/MOSI GPIO23 GPIO13
D8 (GPIO 15) CS/SS GPIO5 GPIO15

Выводы SD карты подключаются к выводам Wemos D1 без каких-либо дополнительных схем защиты от статического электричества. Например, диодной сборкой SMF05C.

Об официальных и неофициальных платах

Команда NodeMCU опубликовала в фотографию, которая демонстрирует, как официальные платы V2 отличаются от неофициальных. Но я, честно говоря, не совсем понимаю термин «официальный». На мой взгляд, если речь об open-source, то понятия «официальные платы» просто не существует. Это может значить лишь, что Amica – это «подтвержденный» производитель, а DOIT и LoLin – нет.

Затем NodeMCU опубликовали в еще одно фото (см. ниже), где подробнее рассказали, что является официальным, а что – нет. Amica – это, по всей видимости, единственный производитель, который производит свои прототипные платы со стопроцентным соответствием с требованиями NodeMCU V2. Платы Amica не продаются на Banggood, но их можно купить на AliExpress и seeed studio.

Официальная прототипная плата NodeMCU 1.0/V2

Описание WeMos D1 R2

Плата WeMos D1, которая производится в Китае, выполнена на основе WiFi модуля ESP8266 ESP-12. На модуле имеется разъем под внешнюю WiFi антенну – благодаря этому можно расширить площадь покрытия сетью. Программирование платы осуществляется с помощью стандартной среды разработки Arduino IDE. Контроллер включает в себя процессор, периферию, оперативную память и устройства ввода/вывода. Наиболее часто микроконтроллеры применяются в компьютерной технике, бытовых приборах и других электронных устройствах. WeMos отличается дешевой стоимостью и простотой подключения и программирования.

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

  • Входное напряжение 3,3В;
  • 11 цифровых выходов;
  • Микро USB выход;
  • 4 Мб флэш-памяти;
  • Наличие WiFi модуля;
  • Частота контроллера 80МГц/160МГц;
  • Рабочие температуры от -40С до 125С.

Основными областями применения контроллеров WeMos являются температурные датчики, датчики давления и другие, зарядные устройства, пульты для управления различными бытовыми приборами, системы обработки данных, робототехника. К микроконтроллеру можно подключать дополнительные компоненты – индикаторы, сенсоры, светодиоды, которые позволяют реализовывать различные проекты и расширять их возможности.

Распиновка модуля WeMos D1

  • TX;
  • RX;
  • GND земля;
  • 5В;
  • 3v3;
  • RST – reset, кнопка сброса;
  • D0 – D8 –порты общего назначения GPIO. Все пины, кроме D0, поддерживают прерывание, ШИМ, I2C.

Шаг 4: Запускаем код

Теперь давайте рассмотрим пример для Wemos D1 Mini Pro

Обратите внимание, что есть три ключевых компонента, которые вам необходимо включить:

  1. char auth [] = «»; выбирается для вашего проекта (приложение Blynk).
  2. char ssid [] = «»; выбирается для сети к которой мы подключаемся (имя сети). Вы также можете раздавать со своего телефона.
  3. char pass [] = «»; выбирается для сети к которой мы подключаемся (пароль).
#define BLYNK_PRINT Serial
 
#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

#include <DHT.h> 

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "";
 
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";
 
#define DHTPIN D4          // What digital pin we're connected to
#define DHTTYPE DHT11     // DHT 11<p>DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
float t;
float h;

void setup()
{
  // Debug console
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  dht.begin();
  timer.setInterval(1000L, sendSensor);
}
 
void loop()
{
  Blynk.run();
  timer.run();
}
 
 
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void sendSensor()
{
  h = dht.readHumidity();
  t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
//  l = analogRead(LDR);
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, h);
  Blynk.virtualWrite(V6, t);
}

Подключение Wemos к Arduino IDE

Инструкция по настройке IDE для работы с WeMos

Чтобы начать работать с Wemos D1, нужно установить драйвер CH340 и Arduino IDE. Найти драйвер можно на официальной странице  https://www.wemos.cc/downloads.

Затем в Инструменты – Плата – менеджер плат найти esp8266 by ESP8266 Community, установить и закрыть окно.

В меню Инструменты будет добавлен микроконтроллер WeMos D1.

Перед тем, как загрузить программу, нужно установить режимы работы микроконтроллера – загрузка кода (Upload Using), задать нужную частоту (CPU frequency), выбрать размер флеш памяти (Flash Size), задать скорость передачи (Upload Speed) и выбрать нужный порт.

Для подключения версии WeMos Mini выполняются такие же шаги, как и для WeMos D1.

Можно дополнительно скачать и установить примеры кодов для микроконтроллера. Для этого скачанный файл с кодами нужно распаковать по адресу \arduino\examples\. Нужно перезагрузить Arduino IDE, и в Файл – Примеры появятся новые коды, которые можно использовать в своих проектах. Чтобы проверить, правильно ли все подключено, можно запустить скетч для мигания светодиодом.

Код программы

Для того чтобы настроить загрузку прошивок OTA, необходимо открыть скетч BasicOTA из примеров для Arduino от WeMos.

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

const char* ssid = "..........";
const char* password = "..........";

void setup() {
  Serial.begin(115200);
  Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
  }

  // Port defaults to 8266
  // ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-
  // ArduinoOTA.setHostname("myesp8266");

  // No authentication by default
  // ArduinoOTA.setPassword("admin");

  // Password can be set with it's md5 value as well
  // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
  // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");

  ArduinoOTA.onStart([]() {
    String type;
    if (ArduinoOTA.getCommand() == U_FLASH)
      type = "sketch";
    else // U_SPIFFS
      type = "filesystem";

    // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
    Serial.println("Start updating " + type);
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
  });
  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  ArduinoOTA.handle();
}

Затем настроить параметры для подключения к сети Wi-Fi, а именно имя сети и пароль доступа. Далее, загружаем скетч в устройство, отключаем его от компьютера и подключаем к внешнему источнику питания. После того как устройство с прошивкой загрузится и подключится к вашей Wi-Fi сети, то оно появится в виде сетевого устройства в меню выбора портов для взаимодействия с устройством. Дополнительно можно настроить такие параметры, как пароль доступа к устройству для обновления, номер порта и прочее.

Ну и собственно все. В дальнейшем можно встроить функциональность OTA в ваш код или же нарастить свой код используя BasicOTA как материнский контейнер. Обновление по воздуху будет работать в том случае, если будет вызываться соответствующий метод ArduinoOTA в цикле loop. Если ваша прошивка слишком сложная, содержит длительные циклы или занята какими-то сложными расчетами, то есть риск того, что обновление не будет подхватываться с первого раза. Поэтому стоит соблюдать баланс интересов в вашей прошивке.

Перечень наиболее принципиальных преимуществ

Список функциональных преимуществ микроконтроллеров WeMos следует открыть блочным строением микросхемы этого контроллера, позволяющим избежать проектирования отдельных узлов.

Справка. Блочная схема микроконтроллера WeMos дает возможность превратить каждый кристалл на плате устройства с записанной программой в полноценный функциональный модуль с низкой производственной себестоимостью. Интеграция таких модулей позволяет создавать на плате универсальное контрольное устройство с любой требуемой схемой управления.

Функциональная гибкость микроконтроллеров WeMos заключается в возможности в любой момент внести ряд изменений в программный алгоритм без изменений в архитектуре микросхемы на плате. Под новую задачу достаточно будет загрузки новой прошивки.

Помимо универсальности и гибкости в списке преимуществ микроконтроллеров WeMos находится их экономичность, базирующаяся на тотальной ценовой доступности.

Внимание! Системная плата WeMos, что называется, по карману даже непрофессионалам.

Техническая простота и универсализм позволяют заниматься с его помощью программированием пользователям с минимальным багажом знаний по языкам программирования.

Отличия

1-ое поколение / V0.9 / V1

Это 1-ая версия (уже устаревшая) NodeMCU, и она продается в виде яркой желтой (и очень широкой) платы. Ее размеры – это 47 на 31 мм, и это значит, что она покрывает собой все 10 контактов стандартной макетной платы. По этой причине пользоваться ею крайне неудобно.

Эта версия производилась, по всей видимости, в основном компанией Amica. Она оснащена модулем ESP-12 и 4 Мб flash-памяти.

Прототипная плата ESP8266 NodeMCU 1-го поколения

2-ое поколение / V1.0 / V2

Версия V2 исправляет недостатки оригинала – она получилась более узкой, а ее контакты хорошо подходят к контактам макетной платы. Чип ESP-12 был заменен на ESP-12E.

Прототипная плата ESP8266 NodeMCU 2-го поколения

V3

Окей, а что насчет V3? NodeMCU новых характеристик пока не публиковали, поэтому официально 3-е поколение еще не вышло. В результате выяснилось, что V3 – это «версия», придуманная компанией LoLin, чтобы показать небольшие улучшения относительно плат V2. Кроме того, они заявляют, что V3 может похвастаться более надежным USB-портом.

Если сравнить распиновку, то мы увидим лишь одно небольшое отличие от V2. LoLin решила использовать один из двух зарезервированных контактов для выдачи USB-питания, а второй – для дополнительной «земли».

Кроме того, V3 отличается от других плат по размеру. Плата от LoLin значительно больше, чем платы V2 от Amica и DOIT. В частности, из-за такого размера я этой платой никогда пользоваться не буду. Есть альтернативы и получше.

Какое отношение Lolin имеет к Wemos? Хороший вопрос. Распиновка на картинке выше изначально была опубликована на wemos.cc, но теперь эта ссылка – битая.

Обновления Over The Air (OTA) для WeMos D1 R2

А теперь подбираемся к самому интересному. К тому, как обновлять прошивку у устройства по воздуху используя соединение Wi-Fi. Итак, у нас есть рабочая Arduino IDE с возможностью использования плат WeMos и чипов ESP8266.

В обновлении по воздуху нет ничего сверхъестественного. В модуль загружается скетч, который подключается к Wi-Fi сети и в цикле loop, при помощи функции, слушает на определенном порту сигналы от удаленного загрузчика. Как только поступает требуемый сигнал, то в память устройства закачивается свежая прошивка, которая и загружается после рестарта.

Важно! Новая прошивка должна содержать тот же самый код по загрузке посредством OTA, что и в оригинальной, со всеми паролями, именами сетей и т.п., иначе устройство просто не сможет загрузить следующую прошивку по воздуху и придется подключить его к компьютеру кабелем.

Некоторые особенности

Поскольку платы на чипах ESP8266 и соответственно платы на их основе являются всего лишь совместимыми с Arduino, то между ними есть некоторые различия, без знания которых окунание в омут программирования может привести к гибели человеческих жертв или как минимум непонятки с неизвестно почему неработающим кодом.

Первое, что нужно уяснить, так это то, что WeMos работает с напряжением 3.3 Вольта, а большинство полноформатных плат Arduino с напряжением 5 вольт

И даже если на плате есть выход 5 вольт, то использовать это напряжение стоит с осторожностью.
Цифровые входы платы выдают напряжение в диапазоне от 1.8 и до 3.3 Вольта с пиковым током до 200 мА. Единственный аналоговый вход способен работать с напряжением в диапазоне от 3.0 и до 3.6 вольт

Возможно, что в ваших проектах потребуется согласование напряжений.
Отличается плата WeMos D1 R2 от аналога Arduino и по языку программирования, вернее, набором функций и прочими тонкостями. Например, описание пинов задаются не просто номерами, а с четким указанием цифровой это пин или нет. Так пин с номером 1 обозначается как D1.

На текущий момент (конец лета 2016) функция Serial Monitor для OTA пока не реализована в IDE. По этой причине рекомендуется использовать внешний терминал и подключить его к соответствующему сетевому порту.

Настраиваем плату WeMos D1

Всем привет, и как всегда расскажу что и как у меня тут
приключилось за последнее время. Начну с того что пришла ко мне плата WeMos D1
совестимая с Ардуино. Внешний осмотр показал что платы немного отличаются:
искал где находиться 13 контакт, и похоже что его нет и схемотехника плат все
же отличается. Чем же отличается эта плата? Первое отличие что данный вариант
со встроенным Wi-Fi. Это уже значительный прогресс. Прадва придеться еще здесь
многому учиться чтобы использовать эту новизну. Остальные технические
характеристики ниже:

Технические характеристики WeMos D1 R2

·11 цифровых входов / выходов. Все выводы  поддерживают interrupt/pwm/I2C/one-wire (за
исключением D0)

·1 аналоговый вход (максимальное входное
напряжение 3,3 В)

·Micro USB разъем

·Разъем питания (9-24 В)

·Поддержка Arduino IDE

·Микроконтроллер ESP-8266EX

·Частота микроконтроллера 80MHz/160MHz

·Flash память 4 Мб

·Программирование через Serial или OTA
(беспроводная загрузка программного кода по Wi-Fi)

·Наличие WI-FI модуля

Теперь давайте настроим Arduino IDE для работы с WeMos
D1. Первым делом нужно найти драйвер. Покопался в интернете и нашел. Драйвер
можно будет найти на моем Яндекс диске жми сюда (имя файла 

ch341ser_win.zip)

Вот что нужно
сделать:

1.Запускаем
программу Ардуино версия должна быть не ниже 1.6.7

2.Выбираем
ФАЙЛ и в раскрывающемся списке заходим в НАСТРОЙКИ

В строке “Дополнительная ссылка для Менеджера плат” вводим
URL: 
http://arduino.esp8266.com/stable/package_esp8266com_index.json и жмем
на кнопку в конце строки, чтобы убедиться, что адрес был добавлен. Все нажимаем
ОК и продолжаем настраивать…

3.Заходим в Менеджер плат через меню
Инструменты.

4.Находим в списке наш контроллер (подсказка
в самом низу он находиться, как говориться по закону….)

5.Нажимаем УСТАНОВИТЬ. И Все ждем. Ждать пришлось
долго, так что примерно на полчаса можно теперь расслабиться.

6.И вот только после установки вы можете
наконец выбрать наш микроконтроллер (появиться в общем списке).

Дальше не забудьте
указать в программе на каком порту подключена у вас плата, да и не лишним будет
проверить и остальные настройки:

Configure the Tasmota software

You can use a tool like fing or your wireless router to find the IP-address of your WeMos device.

The MAC-address starts with:

  • 5C:CF:7F for the WeMos D1 mini and
  • 60:01:94 for the WeMos D1 mini Pro

Open a browser and go to the IP-address of your WeMos device. You should be greeted with the familiar Tasmota configuration screen.

Set the device to «WeMos D1 mini» in the Configuration and save the configuration.
The device will reset, just wait for it to return.

WeMos pins vs ESP8266 pins

The WeMos boards have a different pin layout than the ESP8266 layout used in the Tasmota software. The table below shows the correlation:

WeMos Pin Function ESP-8266 Pin
TX TXD TXD
RX RXD RXD
A0 Analog input, max 3.3V input A0
D0 IO GPIO16
D1 IO, SCL GPIO5
D2 IO, SDA GPIO4
D3 IO, 10k Pull-up GPIO0
D4 IO, 10k Pull-up, BUILTIN_LED GPIO2
D5 IO, SCK GPIO14
D6 IO, MISO GPIO12
D7 IO, MOSI GPIO13
D8 IO, 10k Pull-down, SS GPIO15
G Ground GND
5V 5V
3V3 3.3V 3.3V
RST Reset RST

WeMos DHT11 Shield

To configure the DHT11 shield we return to the Configuration screen. The DHT11 uses D4 on the WeMos and therefore GPIO2 on the ESP8266.

Set GPIO2 to DHT11 like below:

After saving the configuration and the required reset we should see the following screen:

WeMos Relay and Button Shield

To configure the Relay and Button shield go to the Configuration screen. The Relay uses D1 on the WeMos and therefore GPIO5 on the ESP8266. The Button uses D3 on the WeMos, GPIO0 on the ESP8266.

Set GPIO5 to Relay and the GPIO0 to the Button:

Both the webinterface and the button can now be used to toggle the relais on and off.

Альтернативы

Wemos D1 mini

На конец 2015 года самой лучшей альтернативой видится WeMos D1 mini. У него та же ширина, что и у NodeMCU V2, но длина (34,2 мм) короче примерно на треть. Он оснащен микроконтроллером ESP-8266EX с 4 Мб flash-памяти. Кроме того, у него имеется 9 GPIO-контактов, благодаря которым D1 mini применим во множестве IoT-проектов. Он поддерживает и Arduino, и NodeMCU.

WeMos D1 mini, альтернатива NodeMCU

WeMos, помимо прочего, продает несколько шилдов, которые крепятся поверх D1 mini и добавляют ему новые функции.

Единственный недостаток (для многих) в том, что контакты придется паять самому. В комплекте с каждым D1 mini идет 3 вида гребешков, и каждого вида – по 2 штуки (т.е. всего 6 гребешков). Во-первых, гребешок, у которого с одной стороны длинные штырьки, а с другой – полые контакты. Во-вторых, гребешок, у которого с одной стороны средние штырьки, а с другой – короткие штырьки. И в третьих, гребешок, у которого с одной стороны короткие штырьки, а с другой – полые контакты.

В интернете есть сообщения о том, что для чипа CH34x, служащего на D1 mini конвертером USB-Serial, трудно найти корректные драйверы. Это тот же чип, который используется в некоторых дешевых клонах Arduino.

Кроме того, у него меньше контактов, чем у плат NodeMCU (подробнее смотрите в распиновке на картинке ниже) – из-за укороченной длины. С другой стороны, у D1 mini есть контакт для 5 вольт (как у LoLin V3).

Распиновка WeMos D1 mini

И гвоздь программы… на AliExpress WeMos D1 mini продается всего за 4 доллара!

WiFiMCU

Еще одну альтернативу смастерила компания DOIT/SmartArduino. Этот продукт оснащен той же платой, что и NodeMCU, но вместо чипа ESP8266 укомплектован Cortex-44.

Adafruit/SparkFun

Плата Adafruit HUZZAH ESP8266 Breakout

Среди других альтернатив, приходящих на ум – SparkFun ESP8266 Thing и Adafruit HUZZAH ESP8266 Breakout. У меня нет ни одной из них, но плата Adafruit, как и прочие продукты от этой компании, выглядит симпатично. Она чуть меньше, чем NodeMCU, но вместо стандартного USB-кабеля вам понадобится кабель USB-TTL.

Прототипная плата ESP8285

Прототипная плата ESP8285 с конвертером USB-Serial (FTDI FT230X), литий-полимерной батареей MAX1555 и 11 GPIO-контактами

Ответы на вопросы

Не получается установка платы-при вводе URL адреса, кликаю и никакой реакции плата не установлена.

Чтобы «URL» появился в разделе плат, нужно предварительно прошить в модуль прошивку с OTA и не забыть в цикле крутить обработчик прошивки по воздуху. Разумеется, плата должна быть подключена к той же самой сети, что и компьютер. Т.е. сначала нужно установить библиотеки для ESP в систему, потом сконфигурировать и прописать скетч в саму плату, после этого она появляется как «порт» для прошивки.

После загрузки по воздуху в IDE выдаётся сообщение «: No Result!», но при этом скетч загружается нормально и работает. Почему так происходит?

Такое бывает. Можно попробовать обновить: IDE, утилиты для загрузки по воздуху, библиотеку Arduino для ESP. IDE не получает ответ от загрузчика о том, что загрузка произошла.

Зачем ставить Питон?

На питоне работает, как минимум компонент обновления и, скорее всего, компонент загрузки OTA.

Автор Владислав Кравченко

ESP8266EX и WeMos

Чип EPS8266 от китайской компании Espressif появился на рынке в 2014 году и сразу же привлек внимание общественности. С одной стороны, EPS8266 — чип максимально интегрировавший обвязку и позволяющий создавать очень простые платы с минимум элементов, да еще и со встроенным современным Wi-Fi

А с другой стороны, стоимость чипа неимоверно низкая (к 2016 году цена опустилась вдвое).

По этой причине множество производителей принялись, с неистощимым энтузиазмом, выпускать новые платы, на основе чипа от Espresiff. Хотя, при мало-мальском умении использовать в своих проектах можно и голый чип ESP8266, благо самая нужная обвязка встроена сразу в него. Что неимоверно удобно.

Espresiff создала свой чип с прицелом на «Интернет вещей», поэтому он обладает весьма скромными размерами, вместительной памятью, способностью к разгону и нескольким режимам энергосбережения. К слову, в ESP8266 реализован даже суперэкономичный режим, в котором устройство потребляет самый мизерный мизер энергии, но при этом не отключается от сети Wi-Fi. У разработчиков открывается невероятная возможность по реализации первоклассных проектов с питанием от батарей.

Несмотря на то что EPS8266 можно использовать как самостоятельное изделие, многие производители наладили выпуск плат совместимых с линейкой Arduino. Что еще больше повысило популярность чипа, но уже среди энтузиастов сделать что-то своими руками да в единичном экземпляре. Возможность использования EPS8266 в Arduino-совместимых проектах стало возможным благодаря характеристикам чипа.

Большой объем памяти, и внятная архитектура позволили не только сделать его совместимым с Arduino и NodeMCU, но и с множеством других программно-аппаратных экосистем. Компании и индивидуальные разработчики к настоящему моменту уже навыпускали великое множество прошивок, предназначенных для различных целей. Существуют даже варианты реализации, позволяющие программировать устройство через браузер . Согласитесь, что функционал богатый и устройство нашло широкий отклик среди масс.

Что же до компании Wemos. Получить внятную информацию о самой компании мне так и не удалось. Известно только, что она китайская, продает свою продукцию, в том числе, и через фирменный магазин на AliExpress, зарегистрирована на GitHub в 2014 году, аккурат в момент выпуска описываемого чипа. По слухам, какая-то команда разработчиков, учувствовавшая в другом проекте, организовала WeMos и наладила выпуск плат. Но какого-либо подтверждения я так найти и не смог. В общем — полная анонимность J, даже номера телефона на сайте нет.

Кстати, многие называют чип EPS8266 именно так, но в спецификации он обзывается как EPS8266EX. Два это разные чипа или просто называются безалаберно непонятно. Ни поиск по форумам, ни чтение спецификаций производителя, не помогли мне разобраться в этом вопросе. Посему будем считать, что оба названия обозначают одно и то же.

В моем распоряжении оказалась плата Wemos D1 R2. Приведу ее некоторые характеристики:

  • 80 MHz 32-bit процессор Tensilica Xtensa L106 . Возможен негарантированный разгон до 160 МГц.
  • IEEE 802.11 b/g/n Wi-Fi. Поддерживается WEPи WPA/WPA
  • 16 портов ввода/вывода, SPI, I2 C, I2 S, UART, 10-bit АЦП.
  • Питание 3,0–3,6 В. Среднее потребление 80 мА. Потребление до 170 мА в режиме передачи, 60 мА в режиме приема, пиковое потребление возможно до 500 мА. Присутствует режим пониженного потребления с сохранением соединения с точкой доступа ~1 мА.
  • Установлена Flash память объемом 4 Мб.

Дополнительно необходимо заметить, что сам чип работает при температурах от -40С и до +125С, что соответствуют лучшим технологическим стандартам. Хотя, я лично сомневаюсь, что готовая плата будет работать при температуре в 125 градусов, ведь все остальные элементы обвязки тоже нужно подбирать под столь высокие температурные стандарты, а на такой подвиг согласятся далеко не все производители.

Преимущества микроконтроллеров WeMos

Преимущества микроконтроллеров WeMos становятся заметны с самого начала их использования. Блочное строение избавляет от необходимости проектирования отдельных деталей. На одном кристалле можно создать законченный блок, ограничившись нетрудоемким написанием программы.

Унификация привела к снижению стоимости микроконтроллеров и сделала их универсальными. Теперь для создания многих устройств требуется одна и та же схема. Меняется лишь программное обеспечение. Предусмотрен набор стандартных блоков. Научившись пользоваться ими, можно построить любую систему.

Вемос (Wemos)

Микроконтроллеры WeMos обладают гибкостью. Чтобы внести изменения в алгоритм, не требуется менять порядок соединения элементов, исключать их из системы и добавлять другие. Достаточно загрузить новую прошивку.

Микроконтроллеры данной марки доступны всем. Их можно приобрести без затруднений по доступной цене и использовать в разных целях. Они хорошо подходят для смелых экспериментов непрофессионалами.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий