Ретранслятор Wi-Fi сигнала на NodeMCU ESP8266
Технологии интернета вещей (Internet of Things, IoT) все более прочно входят в нашу жизнь. Сейчас уже никого не удивишь удаленным управлением различными домашними устройствами, например, со смартфона. И на нашем сайте вы можете посмотреть достаточно много проектов тематики интернета вещей. Но все эти проекты объединяет одно – им всем нужно соединение с сетью Интернет. Одним из наиболее популярных сейчас способов соединения с сетью Интернет является технология Wi-Fi. Но дальность действия этой технологии ограничена факторами, влияющими на распространение радиоволн. Особенно остро эта проблема проявляется в диапазоне 2.4 GHz из-за наличия в нем большого количества источников помех.
Проблема увеличения дальности технологии Wi-Fi решается с помощью ретрансляторов/репитеров Wi-Fi сигнала (Wi-Fi repeaters). Подобные ретрансляторы продаются в магазинах, но они достаточно дорого стоят – сейчас это особенно актуально из-за возросшего в последние годы курса доллара и возникшего вследствие пандемии коронавируса дефицита электронных чипов. Поэтому в данной статье мы рассмотрим создание своими руками крайне дешевого ретранслятора Wi-Fi сигнала на основе платы NodeMCU ESP8266. Для его создания вам не понадобится каких то глубоких знаний в электронике, не нужно будет собирать схему из электронных компонентов. Вы можете собрать данный простой проект всего за полчаса.
NodeMCU ESP8266
NodeMCU ESP8266 – это платформа разработки с открытым исходным кодом для сферы интернета вещей, которая представляет собой комбинацию Wi-Fi модуля и компонентов, похожих на те, которые используются в плате Arduino. Ее можно программировать с помощью Arduino IDE через интерфейс micro USB. Wi-Fi модуль в составе NodeMCU ESP8266 соответствует общепринятому стандарту 802.11 и содержит чип 12E, встроенный регулятор напряжения на 3.3V и встроенную антенну. Модуль может работать в качестве точки доступа Wi-Fi. Также плата NodeMCU поддерживает несколько возможных режимов питания: через micro USB порт и двух типов внешних источников питания (5v VCC и 3.3v VCC).
Обычно NodeMCU ESP8266 программируется с помощью Arduino IDE, но в данном проекте нам необходимо будет загрузить в нее специальную прошивку, в результате чего вы потом не сможете программировать ее с помощью Arduino IDE. Как потом восстановить оригинальную прошивку ESP8266 вы можете прочитать в этой статье.
Создание ретранслятора Wi-Fi сигнала на NodeMCU ESP8266
Выполните следующую последовательность шагов.
Шаг 1. Подключите NodeMCU ESP8266 к компьютеру используя кабель micro USB type B to USB. При успешном подключении к компьютеру на модуле должен загореться светодиод синего цвета.
Шаг 2. Скачайте ESP8266 Flash Download tool для операционной системы windows. Скачанный архив разархивируйте с помощью архиватора WinRAR.
Шаг 3. После этого вам необходимо скачать прошивку ESP WiFi Repeater (“esp_wifi_repeater-master”). Это полнофункциональный Wi-Fi ретранслятор с поддержкой NAT и технологии mesh сетей. Скачайте по приведенной ссылке с GitHub zip файл с данной программой и извлеките его потом из архива в отдельную папку с помощью архиватора WinRAR.
Шаг 4. После распаковки ранее скачанного архива с ESP8266 Flash Download tool у вас будет создан каталог с названием “flash_download_tools_v3.6.8”. В этом каталоге запустите на выполнение файл “flash_download_tools_v3.6.8” как показано на следующем рисунке.
Шаг 5. Появится окно с командной строкой и окно с несколькими пунктами меню. Вам в этом меню необходимо выбрать пункт “ESP8266 DownloadTools” как показано на следующем рисунке.
После этого вы увидите основное окно для загрузки прошивок (программ).
Шаг 6. На шаге 3 мы скачали программу esp_wifi_repeater-master с Github и извлекли ее в отдельную папку. Откройте каталог в который вы ее извлекли, и в нем вы увидите 3 bin файла.
С помощью программы ESP8266 Flash Download tool (окно которой у вас открыто) откройте все эти bin файлы по одному, вводя имя каждого файла в поле справа как показано на рисунке ниже (имена файлов можно скопировать – это описано чуть ниже). Это очень важный шаг, будьте внимательны.
Чтобы скопировать имя файла сделайте на нем клик правой кнопкой мыши и выберите ‘Rename’ (переименовать). После этого скопируйте имя файла (без расширения bin) и вставьте его в соответствующее поле в программе ESP8266 Flash Download tool как показано на рисунке ниже.
Шаг 7. Еще один очень важный шаг. Убедитесь в том, что все bin файлы успешно загружены в программу ESP8266 Flash Download tool и что все настройки в ней точно такие же, как на представленном ниже рисунке. Необходимы следующие настройки. SPI SPEED: 80Mhz, SPI MODE: QIO, FLASH SIZE: 32Mbit. Также выберите правильный COM порт (к которому подключена плата NodeMCU) и установите скорость (Baud rate) 115200. После этого нажмите кнопку “START” чтобы начать загрузку прошивки в NodeMCU ESP8266.
Перед началом загрузки вы увидите в программе надпись “IDLE”, свидетельствующую о том, что созданы «идеальные» условия для загрузки. После успешной загрузки вы должны увидеть как надпись “IDLE” сменится на надпись “FINISH”. Также вы сможете посмотреть и другую информацию о совершенной загрузке, в том числе MAC адрес точки доступа (Access point) и MAC адрес станции (STA) – это весьма важная сетевая информация.
Теперь отключите от компьютера вашу плату NodeMCU ESP8266 и заново подключите ее, либо же нажмите кнопку сброса на плате чтобы запустить процесс перезагрузки прошивки.
Шаг 8. После этого вы в своей сети Wi-Fi обнаружите новую точку доступа (Accesspoint) “MyAP”, которая создана вашим модулем ESP8266, но пока рано радоваться поскольку эта точка доступа еще не имеет подключения к сети Интернет.
Вам необходимо настроить ваш роутер, для чего вам нужно открыть страницу с его настройками. Подключите ваш компьютер к сети с SSID “MyAP” и наберите в браузере IP адрес 192.168.4.1, после чего откроется страница с настройками. Под настройками станции (STA settings) введите SSID и пароль вашей основной сети Wi-Fi и нажмите connect (соединиться). После этого настройки будут сохранены и под настройками точки доступа (AP settings) вы можете ввести SSID и пароль для нашего созданного Wi-Fi ретранслятора. В качестве стандарта шифрования выберите наиболее популярный сейчас WPA2.
Шаг 9. После того как все будет готово, вы можете спрятать ваш самодельный Wi-Fi ретранслятор в какой-нибудь корпус. Также автор проекта (ссылка на оригинал приведена в конце статьи) для лучшего покрытия сети Wi-Fi подключил к встроенной антенне модуля ESP8266 две внешние антенны с коэффициентами усиления 2 dbi как показано на рисунке ниже. Автор проекта запитал конструкцию собранного Wi-Fi ретранслятора от мобильной зарядки 5v USB с помощью USB кабеля, который он подключил к разъему MicroUSB модуля ESP8266. По его мнению, это лучшее решение для обеспечения долгого и непрерывного подачи питания на модуль ESP8266.
Также дополнительным преимуществом нашего ретранслятора является то, что его можно запитать от обычного power bank’а. В этом случае его можно будет использовать не только дома, но и где-нибудь на улице – а промышленные Wi-Fi ретрансляторы не имеют такой возможности.
Более подробно работу проекта вы можете посмотреть на видео, представленном ниже. Автор проекта на тестах получил скорость работы собранного таким образом ретранслятора до 4 Мбит/с.