Блог о программировании, электронике и рыбалке

WeMos D1 R2 на ESP8266 – первое знакомство

контроллер Wi Fi WeMos Arduino  arduino  Подробный обзор Arduino совместимого контроллера WeMos D1 R2 на базе ESP8266.

На днях получил посылку из Китая с платой контроллера WeMos D1 R2 на базе ESP8266. На мой взгляд, этот девайс заслуживает особого внимания, так как такого функционала за смешную цену я больше нигде не встречал. Наконец-то появился бюджетный вариант со встроенным Wi-Fi.

Внешний вид WeMos D1 R2

контроллер Wi Fi WeMos Arduino  arduino

контроллер Wi Fi WeMos Arduino  arduino

Технические характеристики 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 модуля

Назначение выводов WeMos D1 R2

контроллер Wi Fi WeMos Arduino  arduino

Установка драйверов для WeMos D1 R2

Подключаем контроллер к USB порту компьютера micro USB кабелем.

Скачиваем архив с драйверами:

ch341ser_win.zip (178,9 KiB, 2 399 hits)

Распаковываем его и запускаем файл CH341SER.EXE.

контроллер Wi Fi WeMos Arduino  arduino

Жмем на кнопку INSTALL

контроллер Wi Fi WeMos Arduino  arduino

контроллер Wi Fi WeMos Arduino  arduino

Установка драйверов успешно завершена. В диспетчере устройств можем это проверить.

контроллер Wi Fi WeMos Arduino  arduino

Настройка Arduino IDE для работы с WeMos D1 R2

Запускаем Arduino IDE 1.6.5 или выше (у меня 1.6.7).

контроллер Wi Fi WeMos Arduino  arduino

Заходим в настройки

контроллер Wi Fi WeMos Arduino  arduino

контроллер Wi Fi WeMos Arduino  arduino

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

контроллер Wi Fi WeMos Arduino  arduino

контроллер Wi Fi WeMos Arduino  arduino

Жмем кнопку OK в этом окне, а затем в окне настроек.

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

контроллер Wi Fi WeMos Arduino  arduino

контроллер Wi Fi WeMos Arduino  arduino

Ищем наш контроллер

контроллер Wi Fi WeMos Arduino  arduino

Жмем на кнопку Установить

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

контроллер Wi Fi WeMos Arduino  arduino

После окончания загрузки жмем на кнопку Закрыть

контроллер Wi Fi WeMos Arduino  arduino

Установка модулей завершена.

Теперь можем выбрать наш контроллер для работы.

контроллер Wi Fi WeMos Arduino  arduino

Я пока без понятия, как работать с этим контроллером, поэтому решил добавить примеры исходных кодов.

D1_mini.zip (23,4 KiB, 1 957 hits)

Скачайте архив и распакуйте его содержимое в \arduino-1.6.7\examples\

Перезапустите Arduino IDE.

Теперь в примеры появились примеры использования:

контроллер Wi Fi WeMos Arduino  arduino

Перед загрузкой скетчей через Serial не забудьте выбрать режимы работы контроллера:

Режим работы:

контроллер Wi Fi WeMos Arduino  arduino

Частота:

контроллер Wi Fi WeMos Arduino  arduino

Размер памяти:

контроллер Wi Fi WeMos Arduino  arduino

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

контроллер Wi Fi WeMos Arduino  arduino

Номер COM порта:

контроллер Wi Fi WeMos Arduino  arduino

Проверка работы WeMos D1 R2

Для теста я залил скетч из примера сканирования Wi-Fi.

контроллер Wi Fi WeMos Arduino  arduino

#include "ESP8266WiFi.h"

void setup() {
  Serial.begin(115200);

  // Set WiFi to station mode and disconnect from an AP if it was previously connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  Serial.println("Setup done");
}

void loop() {
  Serial.println("scan start");

  // WiFi.scanNetworks will return the number of networks found
  int n = WiFi.scanNetworks();
  Serial.println("scan done");
  if (n == 0)
    Serial.println("no networks found");
  else
  {
    Serial.print(n);
    Serial.println(" networks found");
    for (int i = 0; i < n; ++i)
    {
      // Print SSID and RSSI for each network found
      Serial.print(i + 1);
      Serial.print(": ");
      Serial.print(WiFi.SSID(i));
      Serial.print(" (");
      Serial.print(WiFi.RSSI(i));
      Serial.print(")");
      Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*");
      delay(10);
    }
  }
  Serial.println("");

  // Wait a bit before scanning again
  delay(5000);
}

Результат работы скетча:

контроллер Wi Fi WeMos Arduino  arduino

Где купить контроллер WeMos D1 R2

Данный контроллер был случайно найден и куплен на Aliexpress у официального продавца компании WeMos за $7.60. Этот продавец дает нормальный трек и осуществляет быструю доставку. Ко мне плата дошла за 3 недели.

На данный момент цена немного возросла, но при желании можно дождаться момента ее спада.

контроллер Wi Fi WeMos Arduino  arduino

Справочная информация по WeMos

  • vertical_align_bottomWeMos D1 R2 на ESP8266 – первое знакомство
    • Автор:
    • Язык: ru-RU
    • Миниатюра: https://geekelectronics.org/wp-content/uploads/2016/01/IMG_20160114_092738-1.jpg
    • Рубрика: Arduino
    • Метки: , , ,
    • Обновлено: 15.08.2017
    • Комментариев: 38
    • Просмотров: 35 040
  • Оцените статью - я старался
    1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 5,00 out of 5)
    Загрузка...
  • Поделитесь с друзьями
logo

Комментариев: 38

  • Космодромыч:

    Заметь, что с China Post товары стали приходить к нам быстрее

  • Максим:

    это версия R1, если что)
    Визуально - у версии R2 к "D1" приставка "WeMos"

  • Даниил:

    С кто-нибудь знает, чем отличаются версии R1 и R2?

    • pilnikov75:

      изменена схема питания (несущественно) и поменяны местами (на плате) d5 с d4 (i2c) - существенно только при использовании готовых прошивок и шилдов

  • DD:

    А что значит разъём питания 9-24В, куда я их могу подвести?
    Могу ли я запитать данный модуль от 12В (размер 27А) ?
    И можно ли с CR2025 3V?
    У него есть нога с подписью 5V. Сколько я туда могу подать, сколько он стабилизирует?

    • source™:

      9-24В - черный разъем на плате (штекер как питание в ноутбуке)
      12В (размер 27А) - можете к этому же разъему
      И можно ли с CR2025 3V? - нет.
      нога с подписью 5V - это выход 5 вольт, а не вход. 3,3 тоже выход

  • max5555:

    Чем эта плата для ваших целей лучшее, заметно более дешевой платы NodeMCU v3 (LiLO Version)?

    • DD:

      У lilo только 3.3В на плате, они идут под версией 1.0. Версия 0.9 обладает 5В выходов, что гораздо удобнее.

      • max5555:

        Да, у Lilo на плате 3.3В, но питать можно от 5В, так что при необходимости есть откуда взять.

        Не понял на счет версий 1.0 и 0.9 - это версии чего?

        • DD:

          У ESP8266 Lolin v1.0 только 3.3В выходы. У версии ESP8266 v0.9, есть также 5В выходы.
          Ну или их ещё называют NodeMCU, для меня это одно и тоже. Посмотри в интернете v0.9 жёлтого цвета какие выводы и какие выводы у v1.0

  • Гена физик:

    Плата новая 80-160 МГц WI Fi это класс возникли мысли о применению.
    1.Осциллограф.
    2. Сигнал Генератор.
    3.синтезатор речи.
    А где у платы кварц тактового генераторы?

    • DD:

      К сожалению, осциллограф не выходит, очень бестолковый ШИМ. В интернете натыкался на реализацию девайса на ардуино и задал вопрос автору про esp8266, он ответил ШИМ на esp фуфло. Я проверил. Реализовал датчик объёма, capacity sensor. Через два сопротивления замкнул на алюминевую пластину. На ардуино у меня получилось зарегистрировать сигнал через поднесение руки более 20см, на esp - ШИМ ловил только прикосновения. Итого: автор был прав.
      Синтезатор речи наверно можно, видел и обладаю отдельным девайсом для ардуино, который через звуковые файлы на флешке, генерит звуки. Если сделаешь генератор звука напрямую, пиши, затестим))
      Если не ошибаюсь, то мои замеры показали погрешность ШИМ на ESP 0.2 вольта. В документации наверно явно указано, не читал.

    • DD:

      Осцилограф не получится. Плохой шим. Порядка 0.2В погрешность

  • гена:

    Осциллограф проще купить изобретать вело не нужно. Паяльник для микросхемы:
    Медный стержень в торце отверстие диаметр 0, 8 мм до глубины 10 мм зенкуем и включаем его до температуры плавки каплю олова в торец флюс на ножку мсх одеваем нвставляем ножку мсх в отверстие покачал и отличная пайка готова Подарок очумелам

  • гена:

    осваиваю спасибо за материалы осцилл есть купил отличный из есп раутер получится?

  • гена:

    esp это загрузка скетчей во время движения по вай фай.например летит ракета на цель ситуация изменилась и ракета командует загрузить следующую необходимую программу через впй фай на расстояние в тргц диапазоне. Круто?

    • Ferret:

      ракета на WiFi это не круто, круто ракета на блютуз, сидишь на ней и управляешь...

  • Congo:

    что то таблица распиновки совсем не совпадает с тем, что написано на плате

  • гена:

    епс с низким потреблением питания возможно перевод на батарейное питание и из спящего режима уникальная вещь

  • гена:

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

  • Гена:

    Все загрузил и получил ошибку после компиляции. что делать мыслей нет пока
    invalid library found in C:/ Program files(x86)/arduino/libraries/esp8266_Nonos_sdk_v1.5.1-16_01_08

  • Гена:

    Кстати для питания купил блок питания CPS-3205 0-32 v 0.5 и осциллограф размером с пачку казбека ds201 pro

  • Гена:

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

  • Гена:

    Все загрузил и счетч загрузил, переустановил Иде ардуино и дает ошибку
    espcomm_upload_mem faled
    обращение к памяти неверное? где сотреть.
    и второе как наладитьшрифты ( у меня 8 ка вин) в сериал монитор идед абракадабра.
    нет полноценного руководства по эксплуаации платы.
    Назначение
    характеристики
    результаты
    пути получения.
    Подключил, ошибки где искать?

    • Александр:

      Добрый день.
      Если еще актуально espcomm_upload_mem faled:
      Грузите на скорости 115200. У меня та же ошибка на рекомендуемой 921600.

  • Гена:

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

    • adad@sffs.ru:

      Вемос аналогичен ардуино...не надо ничего этажеркой

  • гена:

    чтобы с ногами разобраться надо их раздвинуть и в поиске набрать "таблица pin arduino и esp8266 и разпечатать картинку

  • Beaver:

    Ребят, плата, как на картинке, только надписи Вемос нет. Делал все по инструкции + попробовал изменять скорость порта. Пишет "ошибка компиляции для платы..." Среда Ардуино 1.6.12 подскажите, плиз че нить

    • Beaver:

      Ребят, ну подскажите че нить. Неск дней уже сижу, дрова сносил - ставил, в настройках среды ардуино уже все, по иоему, менял. Даже саму среду сносил и заново ставил. Все одно не хотит, причем китайская унка (ардуино уно) прошивается, перепрошивается как угодно и с комфортом. А с этой что!?!?!?

      • Андрей:

        Посмотри внимательно все пункты выбора платы в Инструментах

  • Александр:

    может кто подскажет. приобрёл тоже плату WeMos WiFi D1 R2 но не как на скриншотах, у меня черненькая. проблема в том что скетчем как в статье сеть сканирует, всё показывает, а пробую через другие готовые примеры подключиться, но подключение ни вкакую не идёт. в чем может быть проблема?,может быть в настройках самого роутера канал какой особенный над ставить или метод проверки подлинности?

    • DD:

      Там примеры есть как на подключение к роутеру, так и на создание точки доступа самой платой. Слишком не предметно разговаривать о потенциальном что-то, который вы пытаетесь запустить. Попробуйте на роутере WPA2, если вами запущен скетч на подключение к роутеру

  • Михаил:

    Arduino: 1.6.5 (Windows XP SP2 rus). При попытке прошить хотя бы БЛИНК на встроенный светодиод выдает следующую ошибку:
    --------------------------------
    xtensa-lx106-elf-g++: error: И: No such file or directory
    xtensa-lx106-elf-g++: error: А\LOCALS~1\Temp\build4095159779535408461.tmp/core: No such file or directory
    xtensa-lx106-elf-g++: error: И: No such file or directory
    xtensa-lx106-elf-g++: error: А\LOCALS~1\Temp\build4095159779535408461.tmp\sketch_mar16a.cpp: No such file or directory
    xtensa-lx106-elf-g++: error: И: No such file or directory
    xtensa-lx106-elf-g++: error: А\LOCALS~1\Temp\build4095159779535408461.tmp\sketch_mar16a.cpp.o: No such file or directory

    Ошибка компиляции.
    --------------------------------
    При этом на самом деле папка/файл
    build4095159779535408461.tmp\sketch_mar16a.cpp
    на диске есть,
    build4095159779535408461.tmp\sketch_mar16a.cpp.o
    на диске НЕТ.

    Модули разные, источники модулей разные, проблема одна. Весь интернет перерыл, но ответа не нашел. Ставил и IDE 1.6.7, и делал портативную - одна хрень. Но при этом на ком-порте и как Wi-Fi устройство в сети и LoLin, и WeMos D1 mini видны без проблем. В чем может быть дело?

  • Михаил:

    Сам спросил - сам отвечу (OS Win XP):
    переопределите пути к файлам Tmp и Temp, чтобы в путях не было кириллицы и пробелов (я просто адресовал их на диск С:). Делается это в "ПУСК" -> НАСТРОЙКИ -> ПАНЕЛЬ УПРАВЛЕНИЯ -> СИСТЕМА -> ДОПОЛНИТЕЛЬНО -> ПЕРЕМЕННЫЕ СРЕДЫ.
    Там и меняете.
    Спасибо тем, кто мне помог.

  • Oleg:

    Что-то не так. Arduino: 1.8.3 (Windows XP), Плата:"WeMos D1(Retired), 80 MHz, 921600, 4M (3M SPIFFS)"

    In file included from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\string:41:0,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\stdexcept:39,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\array:38,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\tuple:39,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\functional:55,

    from C:\Documents and Settings\Админ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiGeneric.h:27,

    from C:\Documents and Settings\Админ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:28,

    from C:\Documents and Settings\Админ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,

    from C:\Documents and Settings\РђРґРјРёРЅ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\examples\WiFiScan\WiFiScan.ino:6:

    c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\allocator.h:46:75: fatal error: bits/c++allocator.h: No such file or directory

    #include // Define the base class to std::allocator.

    ^

    compilation terminated.

    exit status 1
    Ошибка компиляции для платы WeMos D1(Retired).

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"

    • Shurovik:

      Возможно ,программе не нравится кириллица в имени пути... Рекомендую использовать латиницу в качестве логина.

Добавить комментарий

vertical_align_top
banner