Wemos d1 r2 и mini на основе esp8266

Содержание

Пример Arduino: мигалка

Чтобы убедиться, что ядро ESP8266 Arduino и NodeMCU правильно настроены, мы загрузим самый простой скетч – The Blink!

Для этого теста мы будем использовать встроенный светодиод. Как упоминалось ранее в этом руководстве, вывод платы D0 подключен к встроенному синему светодиоду и программируется пользователем. Отлично!

Прежде чем мы перейдем к загрузке скетча и игре со светодиодом, мы должны убедиться, что в Arduino IDE выбрана правильная плата. Откройте Arduino IDE и выберите пункт NodeMCU 0.9 (ESP-12 Module) в меню Инструменты → Плата.

Рисунок 9 – Выбор отладочного модуля NodeMCU в Arduino IDE

Теперь подключите ESP8266 NodeMCU к компьютеру через USB-кабель micro-B. Как только плата будет подключена, ей должен быть назначен уникальный COM-порт. На компьютерах с Windows это будет что-то вроде COM#, а на компьютерах Mac/Linux он будет в виде /dev/tty.usbserial-XXXXXX. Выберите этот последовательный порт в меню Инструменты → Порт. Также выберите скорость загрузки: 115200

Рисунок 10 – Выбор COM порта в Arduino IDE

Предупреждение

Уделите больше внимания выбору платы, выбору COM порта и скорости загрузки. В случае некорректных настроек при загрузке новых скетчей вы можете получить ошибку espcomm_upload_mem.

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

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

Рисунок 11 – Рабта тестового скетча Blink на ESP8266 NodeMCU

WeMos D1 mini (v2.2.0) Hardware

As you can see here, core component of the WeMos D1 mini (v2.2.0) is the ESP-12S Wi-Fi enabled controller mounted at the top of the module. There’re a number of other components at the bottom of the module (see next figure) including one CH-340G chip and a 3.3V linear voltage regulator. Also see two rows of connection/header points, one reset key, and a micro USB female connector.

Official schematic diagram of the WeMos D1 mini (v2.2.0) is shown below:

ESP-12S Wi-Fi module (https://www.elecrow.com/download/ESP-12S_User_Manual.pdf)  allows you to easily access many features of the ESP8266 i.e. 11 GPIO pins, one analog-to-digital converter (ADC) with a 10-bit resolution, etc. As for the modules previously released, the antenna is an onboard (PCB track) type which yields better Wi-Fi sensitivity.

ESP 12S Module

The CH340G (https://www.datasheet5.com/pdf-local-2195953) is a USB bus adapter chip that provides a serial interface over the USB bus. CH340G renders common MODEM signals to allow adding UART to a PC, or converting existing UART devices to USB interface. For CH340G Windows driver download (and to get useful instructions), go to https://www.drivereasy.com/knowledge/ch340g-driver-download-and-update-in-windows/. For further technical details on WeMos D1 mini (v2.2.0), take a look at https://wiki.wemos.cc/products:retired:d1_mini_v2.2.0.

Распиновка ESP8266 NodeMCU

С внешним миром ESP8266 NodeMCU соединяют всего 30 выводов. Ниже показана распиновка отладочной платы.

Рисунок 6 – Распиновка ESP8266 NodeMCU

Для простоты мы сгруппируем выводы с аналогичными функциями.

Выводы питания – на плате расположено четыре вывода питания, а именно: один вывод VIN и три вывода 3.3V. Если у вас есть стабилизированный источник напряжения 5 В, вывод VIN можно использовать для непосредственного питания ESP8266 и его периферии. Выводы 3.3V – это выходы встроенного стабилизатора напряжения. Эти выводы могут использоваться для подачи питания на внешние компоненты.

GND – это вывод земли отладочной платы ESP8266 NodeMCU.

Выводы I2C используются для подключения всех видов датчиков и периферийных устройств на шине I2C в вашем проекте. Поддерживаются и I2C Master, и I2C Slave. Работа интерфейса I2C может быть реализована программно, а тактовая частота составляет максимум 100 кГц. Следует отметить, что тактовая частота I2C должна быть выше самой низкой тактовой частоты из ведомых устройств.

Выводы GPIO На ESP8266 NodeMCU имеется 17 выводов GPIO, которые можно назначать программно на различные функции, такие как I2C, I2S, UART, PWM, дистанционное инфракрасное управление, светодиодный индикатор и кнопка. Каждый включенный вывод GPIO может быть настроен либо на внутреннюю подтяжку к земле или к шине питания, либо установлен на высокоимпедансное состояние. При конфигурировании на вход для генерирования прерываний процессора он может быть настроен на срабатывание либо по фронту, либо по спаду.

Вывод ADC подает сигнал на имеющийся в NodeMCU, встроенный 10-разрядный прецизионный аналого-цифровой преобразователь последовательного приближения (SAR ADC). С помощью этого АЦП могут быть реализованы две функции: проверка напряжения питания на выводе VDD3P3 и проверка входного напряжения на выводе TOUT (но не одновременно).

Выводы UART ESP8266 NodeMCU имеет 2 интерфейса UART, то есть UART0 и UART1, которые обеспечивают асинхронную связь (RS232 и RS485) и могут обмениваться данными со скоростью до 4,5 Мбит/с. Для связи можно использовать UART0 (выводы TXD0, RXD0, RST0 и CTS0), который поддерживает управление потоком. UART1 (вывод TXD1) поддерживает только сигнал передачи данных, поэтому он обычно используется для печати журнала событий.

Выводы SPI ESP8266 имеет два интерфейса SPI (SPI и HSPI), поддерживающих и ведомый (slave), и ведущий (master) режимы. Эти интерфейсы SPI также поддерживают следующие функции SPI:

  • 4 режима синхронизации передачи SPI;
  • до 80 МГц и тактовые частоты, полученные делением 80 МГц;
  • до 64 байт FIFO.

Выводы SDIO ESP8266 имеет защищенный цифровой интерфейс ввода/вывода (SDIO, Secure Digital Input/Output Interface), который используется для прямого подключения карт SD. Поддерживаются 4-битный 25 МГц SDIO v1.1 и 4-битный 50 МГц SDIO v2.0.

Выводы PWM На плате имеется 4 канала широтно-импульсной модуляции (PWM). Выход ШИМ может быть реализован программно и использован для управления двигателями и светодиодами. Частотный диапазон ШИМ регулируется от 1000 мкс до 10000 мкс, то есть от 100 Гц до 1 кГц.

Выводы управления используются, как ни странно, для управления ESP8266. Эти выводы включают в себя вывод включения микросхемы EN, вывод сброса RST и вывод пробуждения WAKE.

  • Вывод EN – микросхема ESP8266 включена, когда на вывод EN подается высокий логический уровень. При низком логическом уровне микросхема работает на минимальной мощности.
  • Вывод RST используется для сброса микросхемы ESP8266.
  • Вывод WAKE используется для вывода чипа из глубокого сна.

RTC + SD Card reader module

  •  RTC + SD Card reader module for board Wemos D1 Mini (ESP8266) or MH ET Live Minikit (ESP32):
    • RTC on the chip DS1307. The power supply Voltage of the chip 5 V.
    • Micro SD card Slot for logging.
    • The RTC Module uses the I2C interface, but you cannot display the bus address on the board.
    • Module Dimensions, MM: 28×25.
    • Battery for power supply: CR1220
    • Price with delivery to Russia: 1.55 USD
    • Judging by all the development of the company RobotDyn. There is also a variant of the module without SD card.
    • Diagrams are available In the documentation section.
    • The Module is available from a large number of vendors on Aliexpress.

Functionally the second module is more convenient because of the presence of SD card slot and the possibility of cascading («sandwich») when using compact development cards MH ET Live Minikit (ESP32) or Wemos D1 Mini (ESP8266). I will Discuss the work with this module in detail.

The Scheme for connection is not required, because when you stack the development boards with Wemo D1 Mini Datalogger The necessary stumps are already docked. To connect the RTC stump:

Wemos D1 Mini (ESP8266) Description ESP32
D1 (GPIO5) Scl GPIO 22 (SCL)
D2 (GPIO4) Sda GPIO 21 (SDA)
5v 5v
Gnd Gnd

Once again I note that the power of the chip 5 V. If It is fed from 3.3 V, it does not work properly. Does not give errors at connection, but at request of date-gives incorrect.

Data Logger RTC Shield (Wemos D1 Mini) CAN not be used when battery power 3.7 V.:-(

To connect the SD card to ESP8266/ESP32:

Wemos D1 Mini (ESP8266) Description 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 card Pins are connected to the Wemos D1 conclusions without any additional static electricity protection schemes. For example, a diode assembly SMF05C.

Модули на базе ESP8266

Согласитесь, что сам по себе голый чип нам мало интересен, а раз мы любим ардуино, а не сам микроконтроллер atmуga, то нам интересны готовые модули на базе чипа ESP8266. Итак приступим.

На базе данного микроконтроллера разработан ряд модулей с маркировками от ESP-01 до ESP-13. В большинстве модули похожи друг на друга. Я же коснусь в своем рассказе только тех модулей, с которыми имел дело 🙂

Итак, самый младший представитель линейки – ESP-01.

Этот модуль знаком тем, кто пытался прикрутить к своему проекту на Arduino Wifi. Забавно, что зачастую проект мог бы и без ардуино обойтись 🙂

Итак, в данном модуле пользователю/разработчику доступно только 4 GPIO вывода. Не много, но для метеостанции или какого-нибудь датчика вполне сгодится.

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

И там и там модули хорошего качества.

Ну а мы пойдем дальше. На очереди довольно интересный и необычный модуль ESP-07

Модуль представляет собой миниатюрную плату с возможностью установки на большую плату под пайку.Обратите внимание, шаг контактов 2 мм, не 2,54, а именно 2. В обычную макетку этот модуль впихнуть проблематично

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

Модуль считается не первой свежести, но в большинстве проектов не теряет своей актуальности.

Стоит признать, что некоторые считают, модуль ESP-07 несколько устаревшим, так как ему на смену пришли модули ESP-12

Плата модуля рассчитана под пайку, либо установку на гребенку с шагом контактов 2 мм, однако из существенных отличий – наличие выводов шины SPI.

Широкое распространение получили модули ESP-12E и ESP-12F, отличающиеся друг от друга объемом FLASH памяти.

В отличие от модуля ESP-07, Модули на базе ESP-12 не имеют возможности подключения внешней антенны и используют посредственную встроенную антенну, которая представляет собой дорожку на плате.

Распиновка у модулей ESP-12 одинакова.

Подробную информацию по подключению и прошивке данных модулей вы можете получить на ресурсе посвященном микроконтроллерам ESP8266.ru

Учтите, что для прошивки и заливки скетчей в модули ESP-01 … ESP-12 необходим программатор. Подробнее о программаторах вы можете почитать в статье “Программаторы для Arduino, 3Д принтеров и не только”

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

Элементы платы

Чип ESP8266EX

Чип ESP8266 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем WiFi IEEE 802.11 b/g/ и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.

Программное приложение пользователя должно храниться на внешней микросхеме Flash-памяти и загружаться в через один из доступных интерфейсов (SPI, UART, SDIO и др.) каждый раз в момент включения питания системы.

Чип ESP8266 не содержит в себе Flash-память и многих других компонентов для пользовательского старта. Микросхема является основой на базе которой выпускаются модули с необходимой периферией, например ESP-01.

Имя светодиода Назначение
LED Индикаторный светодиод подключённый к цифровому пину
POWER Индикатор питание на модуле

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 описано здесь. В цело все то-же самое. Проблем возникнуть не должно.

ESP-07

Особенности этого модуля — керамическая антенна и разъем для внешней антенны, металлический экран.

Подключение к IoT

Аппаратная часть

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

1) Собираем схему

ESP-07

USB-Serial

VCC

VCC

CH_PD (рекомендуется через резистор)

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 (рекомендуется через резистор)

GND

GPIO 0 — сначала не подключен, но будет использоваться для перевода в режим программирования далее, поэтому к нему уже подведен провод

все остальные контакты не подключены

RTS, CTS — не подключены

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

2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)

2.1) Отключаем питание от модуля2.2. Подключаем пин GPIO 0  к GND

2.2) Подключаем пин GPIO 0  к GND

ESP-07

USB-Serial

VCC

VCC

CH_PD

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 

GND

GPIO 0

GND

все остальные контакты не подключены

RTS, CTS — не подключены

2.3) Подключаем модуль к питанию

2.4) Железо готово, приступаем к программной части.

Программная часть

1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.

2) Вставляем подготовленный код.

3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.

4) Компилируем и загружаем скетч на плату.

5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.

6) Переподключаем питание ESP-07 (например, вытаскиваем и вставляем обратно адаптер).

7) Видим появление данных на платформе.

В Китае

Обновление прошивки ESP8266

Модуль ESP8266 замечателен тем, что не требует специального программатора — обновление прошивки производится на том же железе, на котором вы подключаете модуль ESP8266 к компьютеру, т.е. тоже через USB-TTL конвертер (ну или Arduino или RPi). Для обновление прошивки на модуле ESP8266 проделайте следующее:

для Win систем подойдет XTCOM UTIL (удобно работать, если прошивка состоит из одного файла), мультиплатформенный esptool (требуется python, нужно указывать параметры в командной строке),  FLASH DOWNLOAD TOOL (много настроек, удобно прошивать прошивки, состоящие из нескольких файлов, позволяет «собрать» прошивку в один файл из нескольких). Также вы найдете и другие программы для прошивки ESP8266 — попробуйте разные и пользуйтесь той, которая вам больше понравится.

3. Отключите от последовательного порта вашу терминальную программу

4. Отключите CH_PD от питания, подключите GPIO0 модуля к GND, подключите обратно CH_PD модуля.

5. Запускайте программу для прошивки модуля и загружайте новую прошивку в модуль ESP8266.

Загрузка прошивки в модуль обычно осуществляется на скорости 115200, но режим прошивки модуля поддерживает автоопределение скорости и прошивка может быть осуществлена на скорости от 9600 и выше. Максимальная скорость зависит от многих факторов (вашего USB-TTL конвертера, длины проводов и прочего) и может быть определена экспериментально на конфигурации именно вашего оборудования.

Все последние версии прошивок загружаются с нулевого адреса (0x00000).

В статье Обновление прошивки ESP8266 подробно описана загрузки прошивки в модуль с помощью программы XTCOM_UTIL.

Использованная литература

Описание 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.

Micro SD card on Wemos D1 Mini Datalogger

The Scheme for connecting the module is still unnecessary. ALL connections Work Normelno after assembling the «sandwich» from Wemos D1 Mini (ESP8266) and Wemos D1 mini Datalogger.

Checked the work of the regular library ESP8266 to work with Micro SD card. The Test case was compiled and worked without problems. So the module works without problems.

/*
  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
}

The SD card Connection to ESP32 is described here. The intact is all the same. No Problems should arise.

WeMos D1 mini (v2.2.0) Example/Test Sketch

Well, now you might like to get and test some example sketch/code to begin the play. Here’s how you can do that:

Open “File>Examples”. In examples of ESP8266 (or in D1_mini_Examples), just select the “Blink” program. Uploading that example sketch to WeMos D1 mini board blinks its onboard blue LED (see test video).

Now to a “WiFi Scanner” sketch for scanning available Wi-Fi networks. Here’s how to get that simple one:

For the experiment, simply copy-paste-compile-upload the example sketch given below (as usual).  Note that the example sketch uses a powerful “ESP8266 WiFi” library which is automatically installed while using the Boards Manager. While you proceed with the board package for the ESP8266, as done previously, the “ESP8266 WiFi” library is automatically installed for you. Actually, the “ESP8266 WiFi” library is prepared after the standard Arduino WiFi library but it has even more great functionality than the standard Arduino WiFi library.

#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);
}

I hope you are now somewhat familiar with the WeMos D1 mini (v2.2.0). Keep following us for new Wi-Fi / IoT do it yourself projects.

Finally, it’s very worthy to note down that the WeMos D1 series generally consists of the regular 4MB D1 mini, the 16MB D1 mini Pro plus, and the 1MB D1 mini Lite. However, the WeMos D1 mini Lite (tailored especially for wearable computing) sports an ESP8285 (not ESP8266). Contrary to its forerunner, it’s got an internal 1MB flash memory!