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

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

Главная » Arduino » 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 кабелем.

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

контроллер Wi Fi WeMos Arduino  arduino    ch341ser_win.zip (178,9 KiB, 1 728 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

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

контроллер Wi Fi WeMos Arduino  arduino    D1_mini.zip (23,4 KiB, 1 576 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

logo
Просмотров: 27 211
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5,00 out of 5)
Загрузка...

36
  • Михаил:

    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, чтобы в путях не было кириллицы и пробелов (я просто адресовал их на диск С:). Делается это в "ПУСК" -> НАСТРОЙКИ -> ПАНЕЛЬ УПРАВЛЕНИЯ -> СИСТЕМА -> ДОПОЛНИТЕЛЬНО -> ПЕРЕМЕННЫЕ СРЕДЫ.
    Там и меняете.
    Спасибо тем, кто мне помог.

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

Яндекс.Метрика