Технологии интернета вещей (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 Мбит/с.
Очень интересно и познавательно. У меня только один вопрос - ретранслятор для своей Wi-Fi сети создает и свою внутреннюю IP адресацию или использует внутреннюю IP адресацию основного роутера?
Видно что человек разбирается в ВЧ сигналах, две антенны прилепил))
Ну как на роутерах предыдущего поколения ))
пробовал, работает, но скорость скромная
Ну от такого дешевого модуля вряд ли стоит ждать огромных скоростей, для этих целей нужны модули подороже
Шикарная статья. Всё оч подробно и понятно. Большущая благодарность. Единственное у меня Internet Explorer не хотел менять настройки пароля STA, выпадал в ошибку. Но в другом браузером меняются.
Спасибо что оценили мой труд. Ну и, конечно же, спасибо автору статьи-оригинала