ESP-8266/ESP32 NodeMCU Lua: азы программирования.

Тема в разделе "ESP8266, ESP32", создана пользователем ИгорьК, 25 июл 2017.

  1. ИгорьК

    ИгорьК Гуру

    Написано что NodeMCU v3 - у нее 4 мб. А там... Али есть Али. Но воя покупателей нет, значит все в порядке.
     
    nkYellOw нравится это.
  2. nkYellOw

    nkYellOw Нерд

    Добрый день! Заинтересовала строка
    Код (C++):
    srv:on("receive", parce)
    Собственно, если мы получим ответ, мы попадем в функцию парс. А если инет упал, или сервак упал и ответа не получили, как в данном случае обработать событие и выполнить какую нибудь функцию. К примеру закрыть подключение и подключение к вай фай...
    Вообще, принцип работы с вай фай очень интересен. Перед каждым подключением к народному мониторингу нужно опрашивать вай фай на работу, пинговать внешние серваки или как?
    После каждого коннекта обрывать вай фай?
     
  3. ИгорьК

    ИгорьК Гуру

    Эта строка значит, что каждый раз, как случится ответ сервера - будет вызвана функция.
    Не случится - не будет вызвана. И ничего особого не произойдет. Это реакция на событие, которого может и не быть.

    Все зависит... В нормальной обстановке можно этого не делать. Можно делать, если проблемы с Интернетом и wifi.
     
  4. nkYellOw

    nkYellOw Нерд

    Это я понял, спасибо! А как сделать событие, если не получил ответ от сервера?) А-ля сервер не доступен...
     
  5. ИгорьК

    ИгорьК Гуру

    Сделайте таймер и через некоторое время убейте объект и выгрузите модуль.
     
    nkYellOw нравится это.
  6. nkYellOw

    nkYellOw Нерд

    1) Товарищи, подскажите пожалуйста. Если по таймеру нужно из файла "А" в файл "Б" передавать таблицу для заполнения, лучше сделать таблицу глобальной (не люблю это дело) или как можно передать ?
    P.S. в файле "Б" Создавать аналогичную таблицу, ее заполнять и присылать в файл А - тоже не вариант. Зачем мне два одинаковых обьекта?
    Либо как то можно передавать в таймере не просто функцию а и параметры тоже?

    Костыли такого типа меня не особо устраивают, есть какой то другой путь? Или это нормальный синтаксис?
    Код (C++):
    do
    t = {
    per = 5
    vto = 10
    }

    function A()
      B = require("B")
      B.somefunc(t)
    end

    tmr.alarm(5000, tmr.ALARM_AUTO,A)
    end
     
    2) Кто нибудь работал с мультиплексором на модуле ESP8266
    Хочу подцепить 3 БМЕ280. По какому принципу я могу это сдеать? или каждый gpio на плате имеет свой адрес i2c и я могу к ним обращаться как к отдельным устройствам по выбранному пину?
     
  7. nkYellOw

    nkYellOw Нерд

    или так можно?
    Код (C++):
    do
    t = {
    per = 5
    vto = 10
    }

    tmr.alarm(5000, tmr.ALARM_AUTO,function()
    B = require("B")
    B.somefunc(t)
    end)

    end
     
    Последнее редактирование: 26 ноя 2018
  8. ИгорьК

    ИгорьК Гуру

    Дождись платы.
     
  9. nkYellOw

    nkYellOw Нерд

    ну так изучать язык нужно и его возможности... =/
    тут не в плате дело, а в логике построения кода и возможности Lua...
     
    Последнее редактирование: 23 ноя 2018
  10. ИгорьК

    ИгорьК Гуру

    https://studio.zerobrane.com

    Изучайте.
     
  11. nkYellOw

    nkYellOw Нерд

    Да спасибо) Понял что тут помощи не получить
     
  12. parovoZZ

    parovoZZ Гуру

    логике обучить невозможно. Она должна быть от природы.
    все есть в учебниках
    за тебя почитать учебник и потом здесь рассказать? Зачем?
     
    ИгорьК нравится это.
  13. ИгорьК

    ИгорьК Гуру

    Да. Верно.
     
  14. nkYellOw

    nkYellOw Нерд

    Ну куда мне до вас... на колено у вас в царстве не нужно вставать перед созданием сообщения? Зачем тогда эта тема? все же в учебнике есть. Походу не меня надо логике учить. Есть целые форумы, посвященные esp8266, в чем толк копипаста автора? Дает уроки нубасам, без возможности задавать вопросы, смешно))))
     
    Последнее редактирование: 25 ноя 2018
  15. nkYellOw

    nkYellOw Нерд

    Да есть умные люди, типа DIYMan, которые на тупые вопросы отвечают если есть время, а есть ИгорьК, который на тупые вопросы не отвечает, но про*бывает время на флуд.
     
  16. parovoZZ

    parovoZZ Гуру

    здесь показывают, как брать интегралы, а не цифры учат.
    Цифры учат здесь
    http://f.aui.su/data/uploads/lua-2015.pdf
     
  17. nkYellOw

    nkYellOw Нерд

    Блинкать к интегралам ? Мощно
     
  18. nkYellOw

    nkYellOw Нерд

    Лучше тогда разобрать что для вас означает понятие «азы программирования»
     
  19. nkYellOw

    nkYellOw Нерд

    Спасибо. Почитаю
     
  20. parovoZZ

    parovoZZ Гуру

    не надо вырывать слова из контекста. Там далее следует: "NodeMCU'.

    Проверить свой быдлокод на работоспособность можно здесь
    https://www.lua.org/cgi-bin/demo