• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос смешанный режим STATIONAP и документация

QQruZZnick

New member
Мое знакомство с esp и nodemcu продолжается, и у меня начали появляться вопросы, не пинайте сильно, я в этом деле новичок :(
1 - Есть ли более подробная инструкция по nodeMCU или все на уровне документации на гитхабе?
2 - Лазил по форуму и в сообщениях обнаружил что некоторые функции nodeMCU недоступны, не работают, или забаганные (например MQTT модуль) есть ли перечень того что работает а что нет?
3 - Когда читал документацию на гитхабе - увидел у функции wifi.setmode() параметр STATIONAP где говорится что это смешанный режим: точка доступа - клиент, но более подробной информации нигде не нашел, подскажите как его использовать? У меня стоит задача чтобы при включении модуль сканировал доступные сети и выдавал их через свой сервер, а я с телефона заходил бы на него и выбирал к какой ему нужно подключиться.
 

jmms

Moderator
Команда форума
Я поступил следующим образом, включил сначала модуль в режим station, собрал список сетей, затем переключился в режим ap и расшарил подключение. Все происходит достаточно быстро. Но это я делал на c++ в arduino ide, но перед этим тоже самое проделовал и в nodemcu. Stationap, к сожалению, не использовал. Могу поискать луа скрипты как это делалось. Заметил, что точек может быть много и этот список может выжрать много хипа.
 

QQruZZnick

New member
Я поступил следующим образом, включил сначала модуль в режим station, собрал список сетей, затем переключился в режим ap и расшарил подключение. Все происходит достаточно быстро. Но это я делал на c++ в arduino ide, но перед этим тоже самое проделовал и в nodemcu. Stationap, к сожалению, не использовал. Могу поискать луа скрипты как это делалось. Заметил, что точек может быть много и этот список может выжрать много хипа.
Я абсолютный ноль в этом :(
Для аrduino ide нужна какая-то особая прошивка?
Какая функция в ноде собирает список сетей?
Что такое хип?
Зарание спасибо за ответ :)

P.S. как я понял методом тыка STATIONAP это режим смешанный, и в нем доступны функции как точки доступа так и клиента. Когда я его включил, и подконнектил к своему роутеру, то он получил айпи, и одновременно с этим в эфире появилась еще одна точка доступа ESP_9891B0
 

jmms

Moderator
Команда форума
@QQruZZnick При помощи Arduino IDE можно сразу писать полную прошивку в стиле скетчей Arduino, в чем отличается от NodeMCU, тем что в последнем это прошивка, которая выполняет скрипты, а при написании скетчей на С++ в Arduino IDE полностью каждый раз нужно загружать обновленную прошивку.
Плюсы NodeMCU: много готового API, коробочное решение, можно обновлять скрипты по-воздуху, скрипты пишутся на языке уровнем выше C++, что позволяет тратить меньше времени при работе с типами данных, не заботиться о их приведении, не нужно сильно вникать в то как они хранятся.
Минусы NodeMCU: большое потребление памяти для переменных (хип), требовательна к ресурсам, из-за чего код местами работает менее стабильно, все таки в какой то момент начинает требовать больше знаний о внутренних особенностях самой прошивки, чтобы расширить API или написать более стабильный код.
Плюсы Arduino IDE: легче контролировать память отведенную для переменных (хип), работает более стабильно и предсказуемо, код пишешь на C++, что потом позволяет дальше уйти от Arduino IDE и писать прошивку просто используя SDK, много примеров из мира Arduino (и просто библиотек на C++) могут работать без изменений.
Минусы Arduino IDE: дольше перезаливать прошивку, что несколько увеличивает время тестирования нового кода. Сложно производить обновления "по-воздуху". Сложней писать код, потому что это C++, где много особенностей при работе с данными, их приведение. Лучше иметь представление о разных хардварных особенностях железа, чтобы лучше понимать как это работает.

Рассказал "как знаю", поэтому сильно не пинайте, а лучше если что подскажите как есть на самом деле. :)

Попробую STATIONAP, но не скоро. Если будет актуально - отпишусь.
 

Lstt

Member
Я поступил следующим образом, включил сначала модуль в режим station, собрал список сетей, затем переключился в режим ap и расшарил подключение. Все происходит достаточно быстро. Но это я делал на c++ в arduino ide, но перед этим тоже самое проделовал и в nodemcu. Stationap, к сожалению, не использовал. Могу поискать луа скрипты как это делалось. Заметил, что точек может быть много и этот список может выжрать много хипа.
А можно попросить скетч для расшаривания точки доступа для Arduino IDE?)
 
Сверху Снизу