Привет всем! Учусь луа. Учусь и здесь, и по видео урокам. Хотел создать сервер. Прилагаю код, сразу скажу что он не мой. Получается есп печатает ip, светодиод тухнет, но по адресу ip нельзя подключиться. Понаставил везде print, и почему переменная t не сравнивается с while, и дальше не идет. Что может быть? Код (Text): pin = 4 — Регистрация в сети gpio.mode(pin, gpio.OUTPUT) —WiFi Settup wifi.setmode(wifi.STATION) local cfg={} cfg.ssid=»*****» cfg.pwd=»*****» collectgarbage() wifi.sta.config(cfg) — Подключаемся к роутеру wifi.sta.autoconnect(1) cfg = nil blinktime = 1000 mytimer = tmr.create() mytimer:register(blinktime, tmr.ALARM_AUTO, function() ip = wifi.sta.getip() if ip == nil then print(«*») t = 0 gpio.write(pin, gpio.LOW) else ip = wifi.sta.getip() print(ip) gpio.write(pin, gpio.HIGH) t = 1 end end) mytimer:start() while t == 1 do srv=net.createServer(net.TCP) print(«Start Web») srv:listen(80, function(conn) conn:on(«receive»,function(conn,payload) print(payload) conn:send(‘HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nCache-Control: private, no-store\r\n\r\n \ <!DOCTYPE HTML> <html><head> <center><h1> Hello Word</h1></center> </html>/<head>’) conn:on(«sent»,function(conn) conn:close() end) end) end) end
Ну, что тут можно сказать... Не всё у нас ещё хорошо, кое-что просто замечательно! У меня несколько вопросов есть. 1. Какими видеоуроками вы пользуетесь при обучении. Мне правда интересно, дайте ссылку пожалуйста. Я бы посмотрел. 2. Чем закончилась ваша работа с кодом ESP от батарейки. Удалось запустить? 3. Что курил автор того текста, который вы привели здесь под видом программы? Вот вам рабочий код, но вряд ли что-то кардинально изменится. Спойлер: Кусочек кода Код (C++): pin = 4 blinktime = 1000 mytimer = tmr.create() mytimer:register(blinktime, tmr.ALARM_AUTO, function() ip = wifi.sta.getip() if ip == nil then print('*') t = 0 gpio.write(pin, gpio.LOW) else ip = wifi.sta.getip() print(ip) gpio.write(pin, gpio.HIGH) t = 1 srv=net.createServer(net.TCP) print('Start Web') srv:listen(80, function(conn) conn:on('receive',function(conn,payload) print(payload) conn:send('HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nCache-Control: private, no-store\r\n\r\n <!DOCTYPE HTML> <html><head> <center><h1> Hello Word</h1></center></head> </html>') conn:on('sent',function(conn) conn:close() end) end) end) mytimer:stop() end end) mytimer:start()
https://texnohelp.com/lua-1/ отсюда уроки, но по луа еще тока начинает. Ну автор чуть спешил может. В конце он говорил, что надо переделать. Esp от батарейки максимум два месяца, и то в тепле лежало. Как и говорил друг Иерусалимского Игорь. Код там я переделывал, работало, потом интерес пропал. Надо чтоб вайфай ловил, на морозе нельзя. @serg3295 А вот по коду автора видео, у него же работало. Почему переменная t в цикле while не проверяется на равность 1?
Спасибо за ссылку на сайт. Будем надеяться, что автор в своем следующем видео объяснит почему у него работает этот пример. К сожалению, я не знаю что хотел сделать автор, и не могу оценить корректность реализации задуманного им алгоритма.
С удовольствием поучусь. Иерусалимски читать вредно, надо высшее образование получать по видосикам и тому коду. Только недавно понял истину.