ESP8266: Автоматическая перезагрузка роутера. Бюджетный вариант.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 18 апр 2015.

  1. ИгорьК

    ИгорьК Гуру

  2. papaybreus

    papaybreus Нуб

    Уже первое устройство заработало. Хотя в самой первой теме было "routerPin = 4", в последней "routerPin = 1", а менялась ли на этом длинном пути схема, я не усмотрел. Но мой первый опыт со скриптами lua уже положителен. Первое устройство в классическом варианте и будет передергивать роутер. Попробую второе такое же для передергивания vpn канала, для чего заменю google, mail и yandex сначала на свои ip адреса, а если так нельзя, то на прописанные в hosts их имена. Посмотрим, что выйдет.
     
  3. ИгорьК

    ИгорьК Гуру

    Откуда вы это взяли????
     
  4. papaybreus

    papaybreus Нуб

    netCheck02003.lua начинается первым вариантом, а самый последний routerSMALL.lua уже вторым. Правда это не проблема, я вижу куда цеплять реле.
    Хотя простите! В zip архиве pin - 4. Наверное это в экспериментах родилось, а я так и залил.
     
    Последнее редактирование: 25 июл 2019
  5. ИгорьК

    ИгорьК Гуру

    Вы даже не представляете, с какой легкостью выносите мозг автору такими вопросами.
     
  6. papaybreus

    papaybreus Нуб

    Сам расстроился. Всему виной отладочная плата Witty Cliud. Она уже содержит USB-UART и на ней легко тренироваться. Там же RGB светодиод сразу на трех пинах. И в начале пути были проведены некоторые эксперименты. А конечное устройство переносится на простой ESP8266 и начинает свою службу. А отладочная плата ждет нового проекта.
     
  7. gari66

    gari66 Нуб

    здравствуйте, не подскажите как можно добавить перегрузку модуля раз в сутки или после 3,4,5 неудачных перегрузок роутера, проблема в следующем, схема отработала на точке 2 месяца зимы, все успешно, но потом сдох роутер и модем(трагическое стечение обстоятельств) поставил другой роутер и модем, работало какое-то время, сейчас происходит следующие происходит потеря интернета, приезжаю в зависимости от времени суток или часа через 2-3 или через 12, вижу включенный работающий роутер в морде у него отпавший модем, на модеме негорит светодиод, подключаю ноут к ESP что-бы посмотреть лог она в этот момент перегружается и все начинает дальше работать, в чем проблема не могу выяснить. Извините за много букв.
     
  8. Dron_63

    Dron_63 Нуб

    Не могу найти, как включить модуль "ow"...
     
  9. serg3295

    serg3295 Гик

    ow = OneWire = 1-Wire
     
    Dron_63 нравится это.
  10. ИгорьК

    ИгорьК Гуру

    Модуль для этого устройства не нужен, без него можно.
     
    Dron_63 нравится это.
  11. Dron_63

    Dron_63 Нуб

    Попробовал первый вариант, вроде работает. Решил перейти к последнему.
    Но после запуска в терминале ошибка.

    Код (C++):
    NodeMCU 0.9.5 build 20150318  powered by Lua 5.1.4
    Try Run routerSMALL.lua
    lua: init.lua:3: attempt to call field 'create' (a nil value)
     
    Подскажите пожалуйста, в чем ошибка?
    Модуль прошивал nodemcu-flasher-master-ом, просто распаковал, запустил ESP8266Flasher.exe и нажал Flash
     
  12. Dron_63

    Dron_63 Нуб

    А как быть с init.lua? Какой код?
     
  13. ИгорьК

    ИгорьК Гуру

    upload_2021-9-7_8-8-45.png
     
    Dron_63 нравится это.
  14. ИгорьК

    ИгорьК Гуру

    Устаревшая прошивка, закажите свежую: https://nodemcu-build.com
    Или в приложении попробуйте. С ней работает:
    upload_2021-9-7_8-46-26.png
     

    Вложения:

    Последнее редактирование: 7 сен 2021
    Dron_63 нравится это.
  15. Dron_63

    Dron_63 Нуб

    В init.lua нужно заменить routerSMALL.lua на restart301.lua. Я правильно понял?
     
  16. ИгорьК

    ИгорьК Гуру

    Dron_63 нравится это.
  17. Catbear

    Catbear Гик

    Игорь! А не могли бы пояснить насчет: Самый последний вариант (UPD 14/02/2018):
    1. прошивка nodemcu-release-7-modules-2021-09-07-05-37-54-integer.bin заливается в модуль ESP.
    2. init.lua, routerSMALL.lua (с помощью ESplorer) также -в модуль ESP, после прошивки по п.1.
    Я хотел уточнить, как должно быть выполнено "заведение в сеть" устройства?
    wifi.setmode(wifi.STATION)
    station_cfg={}
    station_cfg.ssid="ТОЧКАДОСТУПА"
    station_cfg.pwd="ПАРОЛЬ"
    station_cfg.auto=true
    station_cfg.save=true
    wifi.sta.config(station_cfg)
    wifi.sta.connect()
    необходимо сохранить на модуле ESP в виде произвольного третьего файла *.lua?
     
  18. Catbear

    Catbear Гик

    C ESP-01s почему то ESplorer не хочет взаимодействовать (нет соединения). Да и твердотельного реле нет.
    Попытался воспроизвести на ESP12F. Поменял пины на routerPin = 2 (GPIO 4) и lightPin = 1 (GPIO5). Вроде все шло по плану, сервера пинговались, но при пропадании Wi-Fi сети реле не отрабатывает. Реле другое: https://aliexpress.ru/item/10050035...t.0.0.4ff619910oEybt&sku_id=12000026307899149: Цеплял через RC фильтр 680 ом+220 мкф*10 в. Задумка перезагрузчика интересная, но чего то не функционирует.
    Прикрепил лог, по моему после рестарта что-то "крашится":

    NodeMCU 3.0.0.0 built on nodemcu-build.com provided by frightanic.com
    branch: release
    commit: d4ae3c364bd8ae3ded8b77d35745b7f07879f5f9
    release:
    release DTS: 202105102018
    SSL: false
    build type: integer
    LFS: 0x0 bytes total capacity
    modules: file,gpio,net,node,tmr,uart,wifi
    build 2021-09-07 05:37 powered by Lua 5.1.4 on SDK 3.0.1-dev(fce080e)
    Try Run routerSMALL.lua
    > Heap now: 37144
    Trying: 14 and IP: nil
    Heap now: 38528
    Trying: 13 and IP: nil
    Heap now: 38528
    Trying: 12 and IP: nil
    Heap now: 38528
    Trying: 11 and IP: nil
    Heap now: 38528
    Trying: 10 and IP: nil
    Heap now: 38528
    Trying: 9 and IP: nil
    Heap now: 38528
    Trying: 8 and IP: nil
    Heap now: 38528
    Trying: 7 and IP: nil
    Heap now: 38528
    Trying: 6 and IP: nil
    Heap now: 38528
    Trying: 5 and IP: nil
    Heap now: 38528
    Trying: 4 and IP: nil
    Heap now: 38528
    Trying: 3 and IP: nil
    Heap now: 38528
    Trying: 2 and IP: nil
    Restart Router!
    Exit Restart Router!
    routerSMALL.lua:54: attempt to call field 'unregister' (a nil value)
    stack traceback:
    routerSMALL.lua:54: in function <routerSMALL.lua:51>

    ets Jan 8 2013,rst cause:1, boot mode:(3,1)

    load 0x40100000, len 27444, room 16
    tail 4
    chksum 0x65
    load 0x3ffe8000, len 2560, room 4
    tail 12
    chksum 0x13
    ho 0 tail 12 room 4
    load 0x3ffe8a00, len 8, room 12
    tail 8
    chksum 0x7c
    csum 0x7c
    Ћ{ѓІњп[/code]
     
    Последнее редактирование: 22 фев 2022
  19. serg3295

    serg3295 Гик

    Возможно из-за того, что должно быть двоеточие, а не точка, то есть имя_таймера:unregister()
     
    Последнее редактирование: 24 фев 2022
  20. Catbear

    Catbear Гик

    Вы имеете ввиду здесь должно быть двоеточие?
    print("Exit Restart Router!")
    tmr.unregister(stoprelay)
    stoprelay = nil
    PS брал авторскую версию, окромя пинов ничего не менял.
    Вроде у автор и синтаксис корректный: https://nodemcu.readthedocs.io/en/newdocs/en/modules/tmr/#tmrunregister