Проблема с получением времени time(nullptr)

Тема в разделе "ESP8266, ESP32", создана пользователем cfif, 22 июл 2020.

  1. parovoZZ

    parovoZZ Гуру

    уж на Linux/GNU эта библиотека отточена по самое не балуйся.
     
  2. cfif

    cfif Нерд

    спасибо ) я тогда не буду заморачиваться с фиксированным ip, а проверку буду делать на 1970 год
     
  3. SergeiL

    SergeiL Оракул Модератор

    Так а что вы указываете в качестве параметров: ip, gateway, subnet
    Если параметры указаны правильно, то все должно работать.
    На всякий случай, IP адрес не должен попадать в диапазон выделяемых по DHCP адресов.
     
  4. b707

    b707 Гуру

    почему? имхо, адрес должен быть свободен и относится к подсети роутера. А пересечение его с DHCP пулом не влияет никак
     
  5. SergeiL

    SergeiL Оракул Модератор

    Да, будет работать, пока DHCP сервер не выдаст IP адрес совпадающий с фиксированным. И тут все...
     
  6. ИгорьК

    ИгорьК Гуру

    Возьмем кол, будем тесать на голове.
    Итак, получение времени. Действующее лицо - esp32.
    Работающий код:

    Код (Lua):
    do
    count = 0
    prttime = function()
        count = count + 1
        timenow = time.getlocal()
        print(string.format('Sec:'..count..", time: %04d-%02d-%02d %02d:%02d:%02d DST:%d", timenow["year"], timenow["mon"], timenow["day"], timenow["hour"], timenow["min"], timenow["sec"], timenow["dst"]))
    end

    wifi.start()
    wifi.sta.on("got_ip", function(ev, info)
      tmr.create():alarm(1000, 1, prttime)
      print("NodeMCU Got IP:", info.ip)
    end)
    time.settimezone('EST-3')
    time.initntp()

    local scfg = {}
    scfg.ssid = 'Моя_Сеть'
    scfg.pwd = 'Мой_Пароль'
    wifi.sta.config(scfg, true)
    wifi.sta.connect()
    end
    Суть кода.
    Разрешаем работу подсистемы времени.
    На получение ip вешаем callback - каждую секунду проверять текущее время.
    Даем команду ESP32 на подключение к сети.

    Результат:
    upload_2020-7-27_12-51-35.png

    Любой может повторить и проверить.
    Любой может усовершенствовать этот код, отказавшись от вывода времени в порт, ибо он тоже занимает время и ресурс процессора (но так мне показалось нагляднее).

    Выводы.
    1. Скорость получения времени практически не зависит от всех особенностей пакетов, а лишь от того, что с ними делает МК.
    2. Тов. @parovoZZ сейчас объяснит, что все не так.

    Для повторяющих, прошивка ESP32 для загрузки в архиве.
     

    Вложения:

    Последнее редактирование: 24 авг 2020
    SergeiL и issaom нравится это.