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

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 264 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 866 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
    • Просмотров: 33 583
  • Рейтинг:
    1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 5,00 out of 5)
    Загрузка...
  • Поделиться:
logo

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

  • Михаил:

    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