NodeMCU — платка за 200 рублей, которая после небольшого шаманства превратится в повторитель WiFi.
Ссылка на товар: в Aliexpress.
Описание
Эта платка должна быть знакома радиолюбителям, играющим с Arduino. Подключается к компьютеру через USB, имеет несколько цифровых входов-выходов и управляется контроллером в виде сборки ESP8266-12F. Эта сборка является WiFi-модулем, и может работать в режиме точки доступа, клиента и одновременно в обоих режимах, являясь клиентом для одной сети и точкой доступа для другой.
Вот платка во всей красе:
О том, как эту плату используют радиолюбители в интернете написано немало. Но далеко не все знают, что эта штука может работать еще и удлинителем сети WiFi, или «повторителем».
Повторитель WiFi
Как Вы могли догадаться, стандартная прошивка ничего такого не позволяет. Но есть один пытливый немец Martin Ger, который разработал свою прошивку, превращающую NodeMCU в повторитель WiFi.
Кто умеет читать по английски, вот ссылка на оригинальную инструкцию вместе с файлами прошивки:
https://github.com/martin-ger/esp_wifi_repeater
А кто не умеет, читает дальше)
Краткая инструкция или «7 шагов к счастью»
1. Подключтить модуль NodeMCU к USB порту и запомнить какое имя COM порта ему присвоено.
2. Два файла для прошивки 0x00000.bin и 0x20000.bin надо скачать отсюда и запомнить куда сохранили. (В устаревших версиях прошивки второй файл назывался 0x00000.bin и 0x10000.bin)
3. Далее, кто использует Windows, понадобится программа ESPFlashDownloadTool. Скачать можно с официального сайта производителя модулей ESP8266. Для этого надо скачать продукт с названием «Flash Download Tools (ESP8266 & ESP32)».
4. После распаковки архива надо запустить исполняемый файл «flash_download_tools_*.exe» (на месте звездочки указана версия программы), нажать на кнопку «ESP8266 DownloadTool». Когда программа откроется, надо выбрать для прошивки оба файла 0x00000.bin и 0x20000.bin, и указать для них адреса 0x00000 и 0x20000. Выбрать тычку 32MBit. В списке COM: выбрать номер COM порта платы. В поле BAUD выбрать 115200. В общем, надо сделать как на следующей картинке.
Теперь можно нажать кнопку START и ждать когда запишется прошивка.
5. После окончания процесса записи плату надо настроить. Есть три способа:
а) (Человеческий способ) Подключиться к WiFi сети устройства (ssid: «MyAP», сеть без пароля) и зайти через Веб-интерфейс по адресу http://192.168.4.1/.
б) (Способ для бородатых админов, а также для случаев, когда надо восстановить доступ при неправильной конфигурации или забытом пароле. Подключаться надо по USB) Стандартной программой HyperTerminal на виртуальный COM-порт платы со скоростью 115200 бод.
в) (Способ для бородатых админов, надо подключиться к WiFi сети «MyAP») В консоли «cmd» надо выполнить команду:
telnet 192.168.4.1 7777
6. Далее, в зависимости от выбранного способа предыдущего пункта:
а) Тут вроде всё понятно 🙂 но вот первоисточник.
STA Setting — сюда вводят данные роутера, который раздаёт интернет. Тычка Automesh означает режим повторения, при котором плата будет расширять сеть с тем же самым SSID роутера и его же паролем. Это удобно, и в этом режиме можно несколько повторителей выстроить в удлиняющую цепочку. Если нужен именно этот режим, то ставим эту галку (Automesh) и нажимаем кнопку Connect — на этом настройка будет закончена. Если же нужен режим с другим названием новой сети, то галку не ставим, а тычем Connect и после перезагрузки устройства продолжаем настройку дальше:
AP Settings — сюда пишем название (SSID) и пароль (Password) для новой сети, выбираем нужное шифрование сети. Дальше тычем Set. Опционально можно поиграться с Lock (заблокировать конфигурацию от изменений под пароль), но это лучше только после того, как всё заработает. Дальше жмём Restart.
б, в) В консоли выбранной программы пишем и выполняем семь команд:
set ssid DLINK3783 set password 123456 set ap_ssid REPEATER set ap_password PASSWORD show save reset
Где DLINK3783 — название сети вашего основного WiFi-роутера, а 123456 — пароль этой сети; REPEATER — название новой точки доступа, PASSWORD — её пароль.
После команды reset платка перезагрузится, подключится к точке доступа «DLINK3783» и создаст собственную точку доступа «REPEATER».
7. Теперь, если в квартире есть угол в котором WiFi от модема ловится плохо, или не ловится вообще, то надо поместить эту NodeMCU где-то посередине между модемом и этим углом, затем подключиться к той же самой сети или сети «REPEATER», в зависимости от ранее выбранного режима Automesh . Всё, проблема решена.
Всяких команд и функций очень много. Проект «живой». Периодически выпускаются новые прошивки с исправленными ошибками и новыми функциями.
Спасибо за мануал.
Собрал такой же репитер за 20 минут с настройкой.
Правда, скорость в разы меньше, но это и понятно почему.
пункт номер 6 в чем выполнять?
«6. Далее надо выполнить последовательность команд:»
В программе HyperTerminal из предыдущего пункта. Но сейчас прошивка уже позволяет делать настройку через веб-интерфейс, как — добавлено в 5 и 6 пунктах.
Все сделал правильно, кажется, все как описано выше. Ввел ссид и пароль от точки доступа — «раздаваемого» и ссид и пароль как «раздаваемого». Подключаюсь, но в инет не заходит, только на айпишник: 192.168.4.1
Что может быть не так?
При этом я подключаю смарт к созданной точке доступа и идет только отдача. Приема никакого с любого урл-адреса, кроме как веб (192.168.4.1)
В консоли выдает такое:
no «имя сети» found, reconnect after 1s
disconnect from ssid «Имя сети», reason 201
reconnect
при этом я подключаю смарт к созданной точке доступа и идет только отдача. Приема никакого с любого урл-адреса,кроме как веб(192,168,4,1)
В консоли выдает такое:
no «имя сети» found, reconnect after 1s
disconnect from ssid «Имя сети», reason 201
reconnect
Устройство сообщает, что ему не удалось найти точку доступа с SSID указанным в разделе «STA Settings» (что также соответствует строке настройки через консоль из примера: «set ssid DLINK3783»). Это точка доступа, раздающая интернет.
Возможные причины и пути решения:
1. SSID указан с ошибкой
> Надо указать правильно)
2. Устройство «не видит» точку доступа из-за её слабого сигнала (может она слишком далеко?)
> Разместить ближе к точке доступа, но не ближе, чем метр.
3. Связи мешает WiFi адаптер ноута
> Отодвинуть платку подальше от ноута (минимум на пол метра)
4. Указываемые в настройках SSID двух сетей должны различаться
5. Какая-то проблема с каналом WiFi сети
> В настройках роутера (точки доступа) раздающего интернет нужно сменить настройку канала WiFi с AUTO на конкретный номер. Рекомендую попробвать 1, 6 или 11. Сохранить. Перезагрузить роутер.
6. Дефект платы NodeMCU
Буржуи пишут, что некоторый процент плат в силу китайского происхождения не может работать в одном из двух режимов (STA-станция, AP-точка доступа). Один говорит, что 15%. Другой, что ошибки выдают 2 платы из 30 (7%). Для работы повторителем нужно, чтобы исправно работали оба режима.
> Кто часто применяет дешёвые китайские платы, тот знает, что из-за знаменитого «китайского» качества их лучше брать с запасом)
7. Не та фаза Луны.
Также кто-то писал, что иногда коннектится, а иногда нет. Бывает и так, что разными ошибками. Подозреваю, что тут есть некая связь с пунктами 5 и 6.
У меня китаец… Печалька
Благодарю за полезный пост и за уделенное внимание. Буду пробовать на другой MCU)
) будем надеяться, что и такой опыт кому-то поможет
Благодарю за полезный пост и за уделенное внимание. Буду пробовать на другой MCU)
Скажите, а можно мак-адрес изменить на репиторе?
Да, в первоисточнике для этого есть две команды:
set ap_mac xx:xx:xx:xx:xx:xx
set sta_mac xx:xx:xx:xx:xx:xx
Первая задаёт MAC для интерфейса точки доступа.
Вторая — для клиентского беспроводного интерфейса.
* Бит 0 первого байта MAC-адреса не должен быть единицей.
у меня тоже получилось, но переодически подвисает.
ну пока не знаю на сколько будет работать нормально, наверное с антенной лучше будет… но не факт
а так спс!!!
«Да, в первоисточнике для этого есть две команды:
set ap_mac xx:xx:xx:xx:xx:xx
set sta_mac xx:xx:xx:xx:xx:xx
Первая задаёт MAC для интерфейса точки доступа.
Вторая — для клиентского беспроводного интерфейса.»
не понятно — куда вводить эти команды
я уже разное перепробовал
упорно пишет мас-адрес по-умолчанию
уже понял
через сом-порт команды нужно посылать
спасибо
«2. Два файла для прошивки (0x00000.bin и 0x10000.bin) надо скачать отсюда и запомнить куда сохранили.»
Тут уже совсем другие файлы…
Спасибо, исправлено)
Web интерфейс очень плохо работает. ( не мог просто создать точку доступа )
Через telnet всё нормально.
Скорость примерно 6-8 мегабит.
Пишут, что кроме явного брака попадаются частично бракованные экземпляры. Вроде и работает, но не всё. Или всё работает, но иногда зависает или перезагружается. Китайцы могут делать эти платы частично или полностью из отбракованных микросхем. Как минимум цена наводит на такие размышления: цена целой распаянной платы с обвязкой сопоставима с розничной ценой всего одной микросхемы.
Как подключить его к сети без пароля, пароль убираешь, после connect’a и перезагрузки в настройках пароль не меняется, а как репитер он работает уже год все норм