Микроконтроллер wemos: управляем электронными устройствами

Содержание

Распиновка USB 2.0 разъема типы A и B

Классические разъемы содержат 4 вида контактов, в мини- и микроформатах – 5 контактов. Цвета проводов в USB-кабеле 2.0:

  • +5V (красный VBUS), напряжение 5 В, максимальная сила тока 0,5 А, предназначен для питания;
  • D- (белый) Data-;
  • D+ (зеленый) Data+;
  • GND (черный), напряжение 0 В, используется для заземления.

Для формата мини: mini-USB и micro-USB:

  1. Красный VBUS (+), напряжение 5 В, сила тока 0,5 А.
  2. Белый (-), D-.
  3. Зеленый (+), D+.
  4. ID – для типа А замыкают на GND, для поддержания функции OTG, а для типа B не задействуют.
  5. Черный GND, напряжение 0 В, используется для заземления.

В большинстве кабелей имеется провод Shield, он не имеет изоляции, используется в роли экрана. Он не маркируется, и ему не присваивается номер. Универсальная шина имеет 2 вида соединителя. Они имеют обозначение M (male) и F (female). Коннектор М (папа) называют штекером, его вставляют, разъем F (мама) называется гнездо, в него вставляют.

https://youtube.com/watch?v=8EypmZdbn2E

Подключение NodeMCU к компьютеру

Для начала работы с NodeMcu нужно подключить плату к компьютеру. Первым шагом будет установка драйвера CP2102 и открытие Arduino IDE. Затем нужно найти в «Файл» – «Настройки» и в окно «дополнительные ссылки для менеджера плат» вставить ссылку http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json.

После этого в меню «документы» – «плата» «менеджер плат» выбрать «esp8266» и установить последнюю версию. После проделанных действий в меню «инструменты» – «плата» нужно найти NodeMCU.

После того, как все необходимые данные будут установлены и скопированы, можно будет начать работать.

WeMos Mini

По сравнению с Wemos D1 микроконтроллер WeMos Mini имеет меньшие габариты. Плата обладает размерами в ширину 2,5 см, а в длину 3,5 см, в то время как полная версия Wemos D1 идентична Ардуино UNO.

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

Схема платы и расположение выходов изображены на рисунке.

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

  • 11 цифровых контактов;
  • Наибольшее входное напряжение 3,2В;
  • 4 МБ памяти;
  • WiFi модуль;
  • Коннектор для внешней антенны.

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

Шилды для WeMos Mini

Существует большое количество шилдов, которые могут быть подключены WeMos D1 mini:

  • WeMos Dual Base и WeMos Tripler Base – удваивает и утраивает основу установки шилда;
  • WeMos DS18B20 – шилд с цифровым датчиком;
  • WeMos Battery – шилд для дополнительного питания от батарейки;
  • WeMos Relay – шилд, управлящий реле;
  • WeMos OLED – шилд, оснащенный экраном OLED;
  • WeMos 1-Button – модуль, оснащенный тактовой кнопкой;
  • WeMos Micro SD-Card – шилд для добавления карты памяти микро SD;
  • WeMos Motor – шилд для двигателей до 15В;
  • WeMos DHT D4, WeMos DHT I2C, WeMos SHT30 – модули, реализующие измерение давления, температуры и влажности (первый подключается через шину onewire, второй – через I2C);
  • WeMos WS2812B RGB – шилд, реализующий управление светодиодом;
  • WeMos Matrix LED – шилд для индикации, базирующийся на матрице светодиодов;
  • WeMos Buzzer – шилд для звукового излучателя;
  • WeMos ProtoBoard – макетная плата;
  • WeMos DC Power – шилд питания.

Виды HDMI разъемов

Поскольку подключаемые устройства отличаются по габаритам, в них используется интерфейс HDMI разных типов.

  1. Выделяют пять основных модификаций таких разъемов:
  2. Стандарт А. Наиболее популярное на сегодняшний день решение для подключения устройств с большими экранами, к которым прежде всего относятся телевизоры, игровые консоли, а также мониторы компьютеров. Такой разъем оснащен 19 контактами и позволяет передавать изображение разрешением 1920 × 1080.
  3. Стандарт В. Сегодня встречается редко. Такой разъем имеет 29 контактов, что позволяет передавать изображение разрешением 3840 × 2400. Как и предыдущий тип, эти устройства поддерживают протокол DVI-D.
  4. Mini-HDMI (Стандарт С). Такие разъемы предназначены для портативной техники. Для подключения к устройствам, оборудованными коннекторами типа А, используются специальные переходники.
  5. Micro-HDMI (Стандарт D). Предназначен для установки на мобильные телефоны и планшеты. Имея все те же 19 контактов, такой разъем отличается вдвое меньшим размером, чем изделия предыдущего типа.
  6. Стандарт Е. Предназначен для использования во внутренних аудио- и видеосистемах автомобилей. Отличается повышенным качеством изоляции, что обеспечивает высокую устойчивость к воздействиям вибраций, а также температурных колебаний в широком диапазоне.

Разъем HDMI распиновка на русском

HDMI — интерфейс для передачи видеосигнала высокой четкости, все современные видеокарты и телевизоры оснащены именно им, аналоговый s-video уходит в прошлое.

HDMI пришел на замену аналоговых интерфейсов скарт и rca, основное отличие HDMI и DVI в размерах, а также первый поддерживает передачу многоканальных цифровых аудиосигналов. HDMI распиновка приведена ниже.

Вывод Название Описание
1 TMDS Data2+ Видеосигнал TMDS Data2+ (пара 2)
2 TMDS Data2 SHIELD Экран видеосигнала TMDS Data2
3 TMDS Data2- Видеосигнал TMDS Data2- (пара 2)
4 TMDS Data1+ Видеосигнал TMDS Data1+ (пара 1)
5 TMDS Data1 SHIELD Экран видеосигналах TMDS Data1
6 TMDS Data1- Видеосигнал TMDS Data1- (пара 1)
7 TMDS Data0+ Видеосигнал TMDS Data0+ (пара 0)
8 TMDS Data0 SHIELD Экран видеосигнала TMDS Data0
9 TMDS Data0- Видеосигнал TMDS Data0- (пара 0)
10 TMDS Clock+ Тактовая частота видеосигнала TMDS+
11 TMDS Clock SHIELD Экран тактовой частоты видеосигнала TMDS
12 TMDS Clock- Тактовая частота видеосигнала TMDS-
13 CEC Сигнал СЕС
14 Recerved Зарезервирован (в кабеле, но не подключен к устройству)
15 SCL Сигнал SCL
16 SDA Сигнал SDA
17 DDC/CEC GND Земля для DDC и CEC
18 +5V PowerR Питание +5 В
19 Hot Plug Detect Датчик «горячего подключения»

Распиновка hdmi кабеля по сути ничем не отличается от распиновки разъема, просто получается зеркальное отображение.

Распиновка HDMI кабеля по цветам

HDMI кабель разбит на 5 групп по 3 жилы. И еще 4 жилы идут отдельно. Разъем обеспечивает коммутацию четырех групп экранированных симметричных цепей для передачи цифровых видеосигналов (экран из алюминиевой фольги), отдельных проводов служебных данных и питания.

Номер контакта Назначение Цвет провода Примечание
1 Видеосигнал 2+ Белый Красная группа
2 Видеосигнал 2 экран Экран
3 Видеосигнал 2- Красный
4 Видеосигнал 1+ Белый Зеленая группа
5 Видеосигнал 1 экран Экран
6 Видеосигнал 1- Зеленый
7 Видеосигнал 0+ Белый Синяя группа
8 Видеосигнал 0 экран Экран
9 Видеосигнал 0- Синий
10 Такт + Белый
11 Такт экран Экран
12 Такт — Коричневый
13 Служебный сигнал CEC Белый
14 Утилита Белый Желтая группа
15 Сигнал SCL асимметричной шины Оранжевый
16 Сигнал SDA асимметричной шины Желтый
17 Земля Экран Желтая группа
18 Питание +5 В Красный
19 Детектор подключения Желтый Желтая группа

Единой цветовой маркировки жил не существует и у каждого производителя кабеля может быть своя маркировка. В тестовом экземпляре HDMI кабеля использовалась именно такая.

Распиновка HDMI кабеля на звук

Звук в современных телевизорах или приставках иногда только через HDMI выходит (без обычных выходов аудио или как на наушники, то есть нет старого аудио выхода). Поэтому приходится думать как «извлечь» звуковой сигнал из ейчдимиай гнезда.

Для этого можно купить на Али специальный аудиоадаптер (600 руб.) в виде маленькой коробочки, что извлекает звук из сигнала идущего по HDMI и выводит его в аналоговом виде на два разъема RCA тюльпан или в цифровом на оптический SPDIF.

Распиновка USB 3.0 разъёмов (типы A и B)

В третьем поколении подключение периферийных устройств осуществляется по 10 (9, если нет экранирующей оплетки) проводам, соответственно, число контактов также увеличено. Однако они расположены таким образом, чтобы имелась возможность подключения устройств ранних поколений. То есть, контакты +5,0 В, GND, D+ и D-, располагаются также, как в предыдущей версии. Распайка гнезда типа А представлена на рисунке ниже.

Обозначения:

  • А — штекер.
  • В — гнездо.
  • 1, 2, 3, 4 — коннекторы полностью соответствуют распиновке штекера для версии USB 2.0 тип В, цвета проводов также совпадают.
  • 5 (SS_TХ-) и 6 (SS_ТХ+) коннекторы проводов передачи данных по протоколу SUPER_SPEED.
  • 7 — масса (GND) для сигнальных проводов.
  • 8 (SS_RX-) и 9 (SS_RX+) коннекторы проводов приема данных по протоколу SUPER_SPEED.

Цвета на рисунке соответствуют общепринятым для данного стандарта.
Как уже упоминалось выше, в гнездо данного порта можно вставить штекер более раннего образца, соответственно, пропускная способность при этом уменьшится. Что касается штекера третьего поколения универсальной шины, то всунуть его в гнезда раннего выпуска невозможно.

Возможно, вам также будет интересно, как ремонтировать жесткий диск Seagate

Теперь рассмотрим распайку контактов для USB 3.0 типа В. В отличие от предыдущего вида, такое гнездо несовместимо ни с каким штекером ранних версий.

Обозначения:

  • А и В — штекер и гнездо, соответственно.
  • Цифровые подписи к контактам соответствуют описанию предыдущего рисунка.
  • Цвет максимально приближен к цветовой маркировке проводов в шнуре.

Type-A

Этот разъем USB все еще занимает лидирующее место среди других типов. Пользователь сталкивается с такими кабелями каждый день. К ним относятся накопители (флешки), ЮСБ-кабели от зарядок. Большинство камер и роутеров оснащены этим видом ЮСБ-кабеля. Отличается надежностью и безопасностью в использовании. Его тяжелее сломать и вывести из строя.

Данный тип оснащен встроенной системой безопасности. Кабель возможно вставить в компьютер только 1 стороной. Если перевернуть шнур, то он попросту не зайдет в разъем. Что является преимуществом. Особенно при использовании кабеля неопытными пользователями.

Type-B

Тип B используется для подключения периферии – МФУ, сканеров, факсов и так далее. Кабель типа B не всегда поставляется в комплекте с устройством и часто его приходится докупать самостоятельно. Отличают 2 вида ЮСБ кабелей типа b: micro- и mini-USB.

Разновидность мини ЮСБ представляет собой устаревший USB-порт. Это ранняя версия микро типа. Использование мини ЮСБ сведено к минимуму. Но все-таки иногда встречаются устройства, использующие этот вид соединения. Как выглядит micro ЮСБ можно смотреть на фото.

Разъем Micro USB типа B – уменьшенный вариант разъема b (существует аналогичный вид и разъема А – Micro ЮСБ Type A). Разъем Micro USB используются в большинстве мобильных устройств (за исключением Apple). У Apple собственный разъем.

Type-С

Был придуман сравнительно недавно (первое появление на рынке в 2014 году). Разъем USB Type C находится в начале своего развития и активно не используется. Обладает уменьшенными размерами обоих входов. Впервые использован компанией Apple, которая и сегодня продолжает совершенствовать эту разработку.

Подключение 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, и в Файл – Примеры появятся новые коды, которые можно использовать в своих проектах. Чтобы проверить, правильно ли все подключено, можно запустить скетч для мигания светодиодом.

Классификация и распиновка

Коннекторы принято классифицировать по типам, их всего два:

  • А – это штекер, подключаемый к гнезду «маме», установленном на системной плате ПК или USB хабе. При помощи такого типа соединения производится подключение USB флешки, клавиатуры, мышки и т.д. Данные соединения полностью совместимы в между начальной версией и вторым поколением. С последней модификацией совместимость частичная, то есть устройства и кабели с ранних версий можно подключать к гнездам третьего поколения, но не наоборот. Разъемы типа А
  • B – штекер для подключения к гнезду, установленному на периферийном устройстве, например, принтере. Размеры классического типа В не позволяют его использовать для подключения малогабаритных устройств (например, планшетов, мобильных телефонов, цифровых фотоаппаратов и т.д.). Чтобы исправить ситуации были приняты две стандартные уменьшенные модификации типа В: мини и микро ЮСБ.

Заметим, что такие конвекторы совместимы только между ранними модификациями.

Помимо этого, существуют удлинители для портов данного интерфейса. На одном их конце установлен штекер тип А, а на втором гнездо под него, то есть, по сути, соединение «мама» — «папа». Такие шнуры могут быть весьма полезны, например, чтобы подключать флешку не залезая под стол к системному блоку.

Теперь рассмотрим, как производится распайка контактов для каждого из перечисленных выше типов.

Разъёмы HDMI (мини, микро) и их цоколёвка

  • Тип «A» — 19 контактов, спецификация 1.0
  • Тип «B» — 29 контактов, спецификация 1.0
  • Тип «C» — 19 контактов (mini), спецификация 1.3
  • Тип «D» — 19 контактов (micro), спецификация 1.4
  • Тип «E» — 19 контактов, спецификация 1.4

Распиновка HDMI Type D micro (19pin)

Контакт Описание сигнала
HDMIType A(standard) HDMIType B HDMIType C(mini) HDMIType D(micro)
1 1 2 3 TMDS Data2+ (Видеосигнал, пара 2)
2 2 1 4 TMDS Data2 Shield (Экран видеосигнала)
3 3 3 5 TMDS Data2- (Видеосигнал, пара 2)
4 4 5 6 TMDS Data1+ (Видеосигнал, пара 1)
5 5 4 7 TMDS Data1 Shield (Экран видеосигнала)
6 6 6 8 TMDS Data1- (Видеосигнал, пара 1)
7 7 8 9 TMDS Data0+ (Видеосигнал, пара 0)
8 8 7 10 TMDS Data0 Shield (Экран видеосигнала)
9 9 9 11 TMDS Data0- (Видеосигнал, пара 0)
10 10 11 12 TMDS Clock+ (Тактовая частота видеосигнала)
11 11 10 13 TMDS Clock Shield (Экран тактовой частоты видеосигнала)
12 12 12 14 TMDS Clock- (Тактовая частота видеосигнала)
13 TMDS Data5+ (Видеосигнал, пара 5)
14 TMDS Data5 Shield (Экран видеосигнала)
15 TMDS Data5- (Видеосигнал, пара 5)
16 TMDS Data4+ (Видеосигнал, пара 4)
17 TMDS Data4 Shield (Экран видеосигнала)
18 TMDS Data4- (Видеосигнал, пара 4)
19 TMDS Data3+ (Видеосигнал, пара 3)
20 TMDS Data3 Shield (Экран видеосигнала)
21 TMDS Data3-(Видеосигнал, пара 3)
13 22 14 15 CEC (Сигнал)
14 23 17 2 Reserved (HDMI 1.0-1.3c)
HEC Data- (HDMI 1.4+ with Eternet)
24 Reserved (Зарезервирован в кабеле, но не подключен)
15 25 15 17 SCL (I2C Serial Clock for DDC)
16 26 16 18 SDA (I2C Serial Data for DDC)
17 27 13 16 DDC/CEC/HEC Ground (Заземление)
18 28 18 19 +5V Power (max 50 mA) (Питание)
19 29 19 1 Hot Plug Detect (All versions) (горячее подключение)
HEC Data+ (HDMI 1.4+ with Ethernet)

Micro SD карта на Wemos D1 mini datalogger

Схема для подключения модуля по-прежнему не нужна. Все соединения работают нормельно после сборки «сэндвича» из Wemos D1 mini (ESP8266) и Wemos D1 mini datalogger.

Проверил работу штатной библиотеки ESP8266 для работы с Micro SD картой. Тестовый пример без проблем откомпилировался и отработал. Так что модуль работает без проблем.

ВАЖНЫЙ МОМЕНТ РАБОТЫ SD карты с ESP8266!!!

Я использовал Samsung 32Gb EVO Plus отформатированную в FAT32 и с ней DataLogger не инициализировал карту. После того как отформатировал в FAT16 ESP8266 стал читать SD карту.

При этом на дешевой Micro SD «SP Elite» 16 Gb отформатированной в FAT32 проблем с чтением не возникло, ESP8266 без проблем проинициализировал карту.

В коде ниже нужно обратить внимание на CS PIN инициализации SD.init(15). На Wemos Mini D1 пин CS заведен на GPIO15, а не GPIO4

/*
  SD card read/write

  This example shows how to read and write data to and from an SD card file
  The circuit:
   SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4

  created   Nov 2010
  by David A. Mellis
  modified 9 Apr 2012
  by Tom Igoe

  This example code is in the public domain.

*/

#include <SPI.h>
#include <SD.h>

File myFile;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);

  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }

  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop() {
  // nothing happens after setup
}

Подключение SD карты к ESP32 описано здесь. В цело все то-же самое. Проблем возникнуть не должно.

Скорости передачи данных USB

USB — это стандарт, и он определяет максимальную скорость передачи сигналов через порт. Стандарт USB 2.0 обеспечивает теоретическую максимальную скорость передачи сигналов на уровне 480 мегабит в секунду. В то время как USB 3.0 позволяет передавать данные со скоростью 5 гигабит в секунду. Теоретически USB 3.0 в десять раз быстрее, чем USB 2.0.

Тест скорости USB 3.0

Накопители USB 2.0 способны выдавать скорость записи от 7,9 до 9,5 Мб/с, тогда как диски USB 3.0 от 11,9 Мб/с вплоть до 286,2 Мб/с. Мы видим, что наихудший USB 3.0-диск быстрее, чем все USB 2.0, но не намного. А лучший быстрее более чем в 28 раз.

Результаты тестов скорости USB 3.0 накопителей

Самые медленные накопители были самыми дешёвыми, в то время как более быстрые были дорогими. Самый быстрый носитель достигает такой скорости благодаря четырехканальной флеш-памяти, что требует от производителя определённых вложений.

Как видите, различий достаточно много, но везде есть свои нюансы. Теперь вы знаете, как отличить USB 2.0 от USB 3.0

Обратите внимание, что не все устройства будут работать быстрее только потому, что они используют USB 3.0. Перед тем, как купить нужное устройство, обратите внимание на другие параметры, которые будут иметь решающее значение, например, скорость работы флеш-памяти

Описание ESP8266 NodeMcu v3

Технические характеристики модуля:

  • Поддерживает Wi-Fi протокол 802.11 b/g/n;
  • Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
  • Входное напряжение 3,7В – 20 В;
  • Рабочее напряжение 3В-3,6В;
  • Максимальный ток 220мА;
  • Встроенный стек TCP/IP;
  • Диапазон рабочих температур от -40С до 125С;
  • 80 МГц, 32-битный процессор;
  • Время пробуждения и отправки пакетов 22мс;
  • Встроенные TR переключатель и PLL;
  • Наличие усилителей мощности, регуляторов, систем управления питанием.

Отличия от других модификаций

Платы поколения V1 и V2 легко отличить – они обладают различным размером. Также второе поколение оснащено улучшенной модификацией чипа ESP-12 и 4 Мб флэш-памяти. Первая версия, устаревшая, выполнена в виде яркой желтой платформы. Использовать ее неудобно, так как она покрывает собой 10 выходов макетной платы. Плата второго поколения сделана с исправлением этого недостатка – она стала более узкой, выходы хорошо подходят к контактам платы. Платы V3 внешне ничем не отличаются от V2, они обладают более надежным USB-выходом. Выпускает плату V3 фирма LoLin, из отличий от предыдущей платы можно отметить то, что один из двух зарезервированных выходов используется для дополнительной земли, а второй – для подачи USB питания. Также плата отличается большим размером, чем предыдущие виды.

Где купить модули NodeMCU и ESP8266

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

Питание модуля NodeMcu

Подавать питание на модуль можно несколькими способами:

  • Подавать 5-18 В через контакт Vin;
  • 5В через USB-разъем или контакт VUSB;
  • 3,3В через вывод 3V.

Преимущества NodeMcu v3

  • Наличие интерфейса UART-USB с разъемом micro USB позволяет легко подключить плату к компьютеру.
  • Наличие флэш-памяти на 4 Мбайт.
  • Возможность обновлять прошивку через USB.
  • Возможность создавать скрипты на LUA и сохранять их в файловой системе.

Недостатки модуля NodeMcu

Основным недостатком является возможность исполнять только LUA скрипты, расположенные в оперативной памяти. Этого типа памяти мало, объем составляет всего 20 Кбайт, поэтому написание больших скриптов вызывает ряд трудностей. В первую очередь, весь алгоритм придется разделять на линейные блоки. Эти блоки необходимо записать в отдельные файлы системы. Все эти модули исполняются при помощи оператора dofile.

При написании нужно соблюдать правило – при обмене данными между модулями нужно пользоваться глобальными переменными, а при вычислении внутри модулей – локальными

Также важно в конце каждого написанного скрипта вызывать функцию collectgarbage (сборщик мусора)

Прошивка arduino pro mini

Прошивка arduino pro mini

Миниатюрные размеры платы не позволяют прошить ее без внешней помощи. Есть несколько способов заливки скетча в микроконтроллер:

  • Через адаптер USB в TTL;
  • Через Ардуино Уно;
  • Через SPI интерфейс с помощью любой платы ардуино с разъемом для подключения к компьютеру. 

Самым простым методом является первый.

Прошивка через адаптер USB в TTL

В продаже можно найти специальный адаптер – UART переходник. Видов таких переходников много, стоимость каждого изделия невысокая. Советуется приобретать переходники с контактами RST или DTR, они упрощают процесс прошивки. 

Для прошивки нужно подключить адаптер в Ардуино: нужно соединить земли с одного и другого устройства, Vcc – на +5В или +3,3 В (в зависимости от модели), RX – TX, TX – RX. Затем конструкцию нужно подключить к компьютеру, установить драйвер и начать прошивку. Компьютер определит, к какому порту подключена плата. Драйвер можно скачать с официального сайта. Скачанный архив нужно распаковать и установить.

Затем нужно запустить среду разработки Adruino IDE, выбрать нужную плату и номер порта и загрузить микропрограмму. Это делается следующим образом:

  • Нажать «Загрузить»;
  • Затем начнется компиляция  – появится надпись «Компиляция скетча»;

После появление надписи «Загружаем» нужно нажать на плате кнопку Reset (в переходниках с RST или DTR нажимать кнопку не нужно). 

Важно! Нажатие на Reset должно быть кратковременным. 

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

Прошивка через Ардуино Уно

Для прошивки потребуется классическая плата Ардуино Уно в DIP корпусе. На ней должен быть специальный разъем, из которого нужно вытащить аккуратно микроконтроллер

Важно делать все действия внимательно, чтобы не погнуть ножки процессора

Проводами нужно подключить arduino pro mini к разъему. Как подключить контакты – RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST. 

После подключения можно начать стандартную загрузку скетча через Arduino IDE.

Прошивка через SPI интерфейс

Этот способ является самым неудобным и трудоемким. Прошивание платы производится в 2 этапа:

Прошивка микроконтроллера Ардуино Уно как ISP программатора; 

Настройка среды разработки и загрузка кода в Arduino Pro Mini.  

Алгоритм проведения первого этапа:

  • Запуск среды разработки Arduino IDE;
  • Открытие «Файл» – «Примеры» – «11. ArduinoISP» – «ArduinoISP»;
  • Далее «Инструменты» – «Плата» – «Ардуино уно»;
  • «Инструменты» – «Порт», и выбирается нужный номер COM порта;
  • Далее нужно произвести компиляцию и загрузить код в Ардуино Уно.

Затем обе платы нужно соединить проводниками по приведенной схеме: 5V – VCC, GND – GND, MOSI (11) – MOSI (11), MISO (12) – MISO (12), SCK (13) – SCK (13).

Теперь нужно настроить Arduino IDE для Arduino Pro Mini. Это делается следующим образом:

«Инструменты» – «Плата» – выбор нужной платы Arduino Pro Mini; 

  • В том же меню выбирается «Процессор» – выбор соответствующего процессора с нужной тактовой частотой;
  • Затем нужно установить порт, к которому подключена плата;
  • «Инструменты» – «Программатор» – Arduino as ISP;
  • Затем нужно загрузить скетч через программатор.

Важно отметить, что загрузка кода должна происходить через специальное меню «загрузить через программатор». Здесь можно запутаться, потому такой способ и неудобен

Загрузка обычным способом приведет  тому, что код зальется в Ардуино Уно. 

После проведенной загрузки перепрошить микроконтроллер через переходник больше не получится. Придется заливать новый bootloader через «записать загрузчик». 

Если при каком-либо виде загрузки прошивки возникают проблемы, нужно проверить подключение платы. 

Распиновка Arduino Pro Mini

Каждый из 14 цифровых выводов Pro, используя функции , , и , может настраиваться как вход или выход. Выводы работают при напряжении 3,3 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

  • Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы имеют соединение с выводами TX-0 и RX-1 блока из шести выводов.
  • Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции .
  • ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи .
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

На платформе Pro Mini установлены 6 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Четыре из них расположены на краю платформы, а другие два (входы 4 и 5) ближе к центру. Измерение происходит относительно земли до значения VCC.  Некоторые выводы имеют дополнительные функции:

I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.

Существует дополнительный вывод на платформе:

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

Начало работы с Termite

В оригинальной статье о прошивке ESP8266 была рекомендована PuTTY; и, если она у вас она есть, и вы хотите её использовать, она здесь будет отлично работать. Тем не менее, Termite в этом плане более удобное приложение и будет использоваться далее в этой статье. Termite бесплатен и для личного, и для коммерческого использования.

В последующих этапах предполагается, что модуль ESP-01 запрограммирован так же, как обычно, поставщиком. Если вы (или кто-то еще) внесли изменения в стандартные настройки программы, вам необходимо будет поэкспериментировать, чтобы определить текущие настройки вашего модуля ESP-01.

После проверки своей схемы программирования ESP-01, как описано выше, включите её. Запустите на своем компьютере Termite и нажмите кнопку Settings (Настройки); вы должны увидеть окно, похожее на приведенное ниже. Убедитесь, что COM порт, к которому подключен USB-TTL конвертер, правильно выбран в окне настроек последовательного порта. Выставьте все остальные параметры, как показано в окне настроек последовательного порта ниже, и нажмите OK, чтобы закрыть окно настроек последовательного порта.

Настройки последовательного порта

На этом этапе курсор должен мигать в нижней части окна Termite; если нет, кликните на нижней части окна Termite, чтобы поместить туда курсор. Введите и нажмите Enter на клавиатуре; если всё хорошо, ESP-01 ответит в окне Termite. Если это произойдет, можете вздохнуть с облегчением, потому что вы только что преодолели главное препятствие.

Затем введите и нажмите Enter. ESP-01 должен ответить чем-то очень похожим, что показано на рисунке ниже.

Отклик модуля ESP-01

Команда говорит ESP8266 сообщить о версии набора AT-команд, который он содержит, какой SDK (Software Development Kit) был загружен в него, какая компания собрала модуль ESP, и когда SDK был загружен в модуль. Наконец, как обычно, ESP8266 завершает свой ответ с помощью .

Если ESP-01 ответил правильно, то можно закончить с Termite (если вы не хотите еще поэкспериментировать). Далее он понадобится снова для подтверждения успешной прошивки.

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

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

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

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

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

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

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

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

Firmware installation and first setup

Flashing:

Download latest release
You can flash using software nodemcu-pyflasher

  1. Select Serial port (COM# port) where your serial-to-USB or NodeMCU/D1 mini is connected. Leave on auto-select if not sure.
  2. Browse to the binary you downloaded from WemosEM releases.
  3. Set Baud rate to 115200 and Flash mode to DOUT. Erase flash to yes if it is the first time flashing WemosEM on the device or you’re experiencing issues with existing flash. If you’re upgrading WemosEM set to no.
  4. Click Flash NodeMCU and watch the progress in console.

If the flash was successful the console will display:
Firmware successfully flashed. unplug/replug or reset device to switch back to normal boot mode

Unplug your adapter or device and plug it back in or connect to another power source. Your device is now ready for Initial configuration.

You can see in Tasmota project other options to flash: https://github.com/arendst/Sonoff-Tasmota/wiki/Flashing

Initial configuration

WemosEM provides a wireless access point for easy Wi-Fi configuration.

Connect your device to a power source and grab your smartphone (or tablet or laptop or any other web and Wi-Fi capable device). Search for a Wi-Fi AP named wemosEM-xxxxxx (where x is a last part of MAC) and connect to it with password infinito&masalla. In this example the Wi-Fi AP is named wemosEM-AB128A. When it connects to the network, you may get a warning that there is no Internet connection and be prompted to connect to a different network. Do not allow the mobile device to select a different network.

At this page you can have WemosEM scan for available Wi-Fi networks. Select and setup you wifi network. Click save and you wemos will connect to your wifi.

  • Default user: wemosem
  • Default password: infinito&masalla

Password is updatable in configuration system tab.