Помогите с nodemcu

Тема в разделе "ESP8266, ESP32", создана пользователем seregareal2, 12 ноя 2017.

  1. seregareal2

    seregareal2 Нерд

    • Пришла пару дней назад NodeMcu из китая, опыт работы с ней всего пару дней
      https://ru.aliexpress.com/item/New-...elopment-board-based-ESP8266/32549862093.html
      nodemcu не как не хочет конектиться к WI-FI, пробовал разные скетчи, имя сети менял, прошивал разными прогаммами под Lunux (из терминала и через GUI) и Windows, шил через Arduino IDE, NodeMCU Flasher, ESPlorer
      и все равно не подключается
    • а в терминале это

      После 6 часов мучений модуля он так и не подключился к моему WI-FI

      Но точка доступа с паролем создается, что говорит об исправности модуля


      Еще дома есть ESP-01
      С той же проблемой, модуль прошивается, но к моему WI-FI не подключается
      https://ru.aliexpress.com/item/ESP8...ule-Send-Receive-LWIP-AP-STA/32344949844.html
     

    Вложения:

    • kJtdgY_zqso.jpg
      kJtdgY_zqso.jpg
      Размер файла:
      80,4 КБ
      Просмотров:
      884
  2. Airbus

    Airbus Радиохулиган Модератор

  3. seregareal2

    seregareal2 Нерд

    да из этой статьи я тоже конролер шил, неподключается к WI-FI и все
     
  4. rkit

    rkit Гуру

    Ну и что вы хотите, я не очень понял. Чтобы кто-то сгонял к вам домой и посмотрел? Может удосужитесь опубликовать хоть какую-нибудь полезную информацию?
     
    Airbus нравится это.
  5. seregareal2

    seregareal2 Нерд

    Берем следующий код для подключения к WI-FI, загружаем, не подключается
    http://www.avislab.com/blog/esp8266-nodemcu-start_ru/

    Код (C++):
    --WiFi Settup
    wifi.setmode(wifi.STATION)
    local cfg={}
    cfg.ssid="123456"
    cfg.pwd="123456"
    wifi.sta.config(cfg)
    cfg = nil
    collectgarbage()
    В логе это
    Код (C++):
    file.remove("init.lua");
    > le.writeline
    w([==[--WiFi Settup]==]);
    w([==[wifi.setmode(wifi.STATION)]==]);
    w([==[local cfg={}]==]);
    w([==[cfg.ssid="123456"]==]);
    w([==[cfg.pwd="123456"]==]);
    w([==[wifi.sta.config(cfg)]==]);
    w([==[cfg = nil]==]);
    w([==[collectgarbage()]==]);
    file.close();
    dofile("init.lua");
    stdin:1: attempt to call global 'le' (a nil value)
    stack traceback:
        stdin:1: in main chunk
    >
    =wifi.sta.getip()
    =wifi.sta.getip()
    nil
    >
    wifi.setmode(wifi.STATIONAP)
    wifi.setmode(wifi.STATIONAP)
    >
    wifi.sta.config("myssid","mypassword")
    wifi.sta.config("myssid","mypassword")
    stdin:1: bad argument #1 to 'config' (config table not found!)
    stack traceback:
        [C]: in function 'config'
        stdin:1: in main chunk
    >
    wifi.setmode(wifi.STATIONAP)
    wifi.setmode(wifi.STATIONAP)
    >
    =wifi.sta.status()
    =wifi.sta.status()
    3
    >
    =wifi.sta.getip()
    =wifi.sta.getip()
    nil
    >
    =wifi.sta.getip()
    =wifi.sta.getip()
    nil
    >
     

    Вложения:

  6. ИгорьК

    ИгорьК Гуру

    :) :) :) Повеселил афтар кода. Удалите:
    Код (Javascript):
    cfg = nil
    collectgarbage()
    И будет вам бесконечное щастье.
     
    Последнее редактирование: 12 ноя 2017
  7. ИгорьК

    ИгорьК Гуру

    Тов, Airbus! Очень не советую учиться самому и рекомендовать этот сайт кому-то в аспектах lua nodemcu.

    Документацию с примерами Вы можете прочитать в первоисточнике nodemcu.readthedocs.io/
    За одно узнаете, что статические номерные таймеры год как "are deprecated and will be removed later.", пользоваться не тольно задержками нельзя, но и циклами более 20 мс.
    Но, главное, Вы так и не научитесь писать скрипты.

    Ко всему прочему, не поймёте, почему у автора работает этот код, а ТС не может войти в сеть.
     
    CYITEP_BAC9I нравится это.
  8. Airbus

    Airbus Радиохулиган Модератор

    ОК!Был неправ сам учусь lua для меня пока китайская грамота.Толковой информации мало есть книжка Роберта Иерусалимского но там lua как язык программирования а применительно к esp8266 примеры только в инете ну и здесь на форуме.А в чем засада была?На сайте не рабочий скрипт?Единственное что у Автора коннект-скрипт запускался из под init.lua а у ТС коннект сразу прописан как init.lua cfg обнуляется и мусор убирается все по фен шую.И вот удалив две последние строчки скрипт заработает?А там нет и команды wifi.sta.connect().В этом причина?Значит и у Автора с сайта код нерабочий?
     
    Последнее редактирование: 12 ноя 2017
  9. ИгорьК

    ИгорьК Гуру

  10. Airbus

    Airbus Радиохулиган Модератор

    Это я читал.И надо было дать ссылку оттуда.Просто тупанул.Тогда вопрос что такое сиппет?Чем он отличается от скрипта?Можно ли коннект прописать в инит (или вообще не не надо писать никуда?).
     
  11. ИгорьК

    ИгорьК Гуру

    Кусок кода, который запоминается в ESPlorer и вызывается по нажатии кнопки в нем. Там же картинка есть!

    Там есть ответ. Читаю книгу а вижу... :)
     
  12. Airbus

    Airbus Радиохулиган Модератор

    То есть Сипет тоже сохраняется в памяти esp?Тогда ещё парочка вопросов по Esplorer. Можете конечно дать ссылку буду очень благодарен сам искал не нашёл но может искал не там? Итак:Save to esp - понятно.
    Send to esp? Просто отправляет скрипт без сохранения в esp?
    Run?
    Block?
    Line - отправляет строки с сохранением в esp ?
    Группа кнопок Save Compile Run в различных сочетаниях?Что делают?
    Дискета Save - сохраняет скрипт на компе с загрузкой и сохранением в esp так?
    Format - трёт все скрипты с которыми мы игрались?
    Заранее благодарен!
     
  13. ИгорьК

    ИгорьК Гуру

    Снипет - это кусок кода, который сохраняется в памяти ESPlorer
    upload_2017-11-13_10-14-37.png
     
  14. Airbus

    Airbus Радиохулиган Модератор

    А как и чем он вызывается на выполнение?
     
  15. ИгорьК

    ИгорьК Гуру

    upload_2017-11-13_12-7-28.png
     
  16. ИгорьК

    ИгорьК Гуру

    Не работаю всеми кнопками, как-то руки не дошли.
    При наведении мышки на кнопки всплывает подсказка, что это.
    Из рабочих только "Save", "Save to ESP", "Format" и "Reload".
    Последняя формирует список файлов на правой панели, которые можно запускать, компилировать, удалять:
    upload_2017-11-13_12-29-33.png
     
  17. ИгорьК

    ИгорьК Гуру

    .... Эм... Скоро буду бояться летать самолетами... :) Шучу :)
     
  18. Airbus

    Airbus Радиохулиган Модератор

    Там всё просто. Есть троекратная защита от Дурака.Особенно на Airbus.Даже изменить маршрут просто так нельзя.Такой вот Умный Дом :) А спросив
    Я имел ввиду не Esplorer а сам чип esp8266. Вот нашёл на русском. Как я понимаю (поправьте если не прав) эти сипеты и есть инициализация периферии esp8266 USART I2C итд.итп.Записываются один раз и по видимому стартуют при подаче питания до старта init.lua?В самих скриптах только логика действий инициализированного чипа.Ну типа Void(loop)/Void(main)void?Тут дело вот в чём:в мир МК я пришёл от паяльника поэтому не могу полностью абстрагироваться от железа.LUA максимально абстрагированный язык от железа никаких регистров с одной стороны это хорошо мне особенно понравилась работа с таймерами создал-поюзал-удалил.А с другой стороны сбивает с толку что первым делом что вторым.Так что уж простите мне мою бестолковость в данном вопросе хочу знать всё досконально.
     
    Последнее редактирование: 13 ноя 2017
  19. ИгорьК

    ИгорьК Гуру

    Я эту ссылку даже обсуждать не буду, только эту: https://nodemcu.readthedocs.io/en/master/

    Сниппет - это просто кусок кода, который запоминает инструмент ESPlorer.
    Считайте, это как примеры в Ардуино ИДЕ, только которые вы пишете сами. Вы можете их запустить и загрузить в ардуино. Можете пользоваться как-то по-другому.

    Поэтому, сниппет в отрыве от ESPlorer обсуждать не надо. Для ESP-8266 - это такой же код.

    В NodeMCU Lua туча асинхронного кода. В частности, запуск wi-fi части - есть асинхронное явление.

    При подаче питания, без всяких init.lua, если соответствующие данные занесены во флэш, начинается самостоятельное подключение к сети.
    И для подключения в этом случае НИЧЕГО ДЕЛАТЬ НЕ НАДО!

    Если вы видите код (вот у этого бракодела, по вашей ссылке), где в инициализации идет команда на подключение к wifi - знайте, что товарищ не догоняет то что делает. Результат этого недогона - у топикстартера.

    Дело вот в чем. Когда-то этот аффтар вручную, каким-то способом, загнал данные своей сети в свой флэш.
    Там эти данные и остались. И при подаче питания сразу идет процесс соединения.

    Тот код, который он нарисовал типа для подключения, даже не успевает сработать - он объявляет конфигурацию в таблице cfg и тут же ее "убивает":
    Код (Lua):
    cfg = nil

    Да, в промежутке есть код:
    Код (Lua):
    wifi.sta.config(cfg)
    Вроде бы он должен был сработать у ТС, но он не работает, потому что прцесс запуска wifi требует времени, и к тому моменту, когда ему нужна таблица данных, она уже уничтожена.
    Он и пишет:
    Код (Lua):
    stdin:1: bad argument #1 to 'config' (config table not found!)
    (config table not found!) (!!!!!!) - а это таблица cfg!

    А почему у автора работает? Да потому что wifi части весь его код - по барабану, он берет данные из флэша, где они находятся.

    Только автор этого не понимает.
     
  20. Airbus

    Airbus Радиохулиган Модератор

    Спасибо!Уже понятнее."Русская ссылка" на этом же ресурсе там на русском английском и китайском.Про сипеты тоже понятно а что такое скрипты?Это как я понял уже работа с периферией всей в куче так сказать?Получили данные с А0 и отправили их куда подальше например на web страничку так?Или вывели по I2C на LCD?
    А Вы думаете что у него работает?Я сильно сомневаюсь.Там нет ни wifi.sta.connect() ни wifi.sta.autoconnect(auto).
     
    Последнее редактирование: 13 ноя 2017