Контроллерами занимаюсь давно , и предпочитаю не использовать FrameWork'и но вот встала проблема по подключению всяких устройств и их тестирование, раньше заказывал макетку отлаживал и в бой но как говорится зачем страдать если есть ESP купил себе модуль так называемый NodeMCU 2.1 шилд к нему и в полне доволен , загрузил скрипт сразу работает на тебе консоль , на тебе тут же исправления ...
и вот решил я сделать WebServer , мониторить кое что скачал пример и ура он завелся , точка доступа , и пин с лампочкой дергается :
и если юзать первый вариант то все нормально, то есть создавать точку доступа (начало кода) а если подключиться к моему роутеру , то все баста карапузики, второй вариант не как не пашет
подключается, IP получает, все как бы работает но в 80'м порту глухо как в танке
где рыть???
Хелп короче , все маны перечитал и не понимаю где я ошибся или это родной баг ?
Всякие ардуины и прочее не предлагать ... нужно решение вопроса для девайса из коробки
и вот решил я сделать WebServer , мониторить кое что скачал пример и ура он завелся , точка доступа , и пин с лампочкой дергается :
do
--------------1
--wifi.setmode(wifi.SOFTAP)
--wifi.ap.config({ ssid = "test", pwd = "12345678" })
--------------2
--station_cfg={}
--station_cfg.ssid="MyWiFIRouter"
--station_cfg.pwd="PASSWORD"
--station_cfg.save=true
--wifi.setmode(wifi.STATION)
--wifi.sta.config(station_cfg)
gpio.mode(0, gpiUTPUT)
local srv = net.createServer(net.TCP)
srv:listen(80, function(conn)
connn("receive", function(client, request)
local buf = ""
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP") -- luacheck: no unused
if (method == nil) then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP") -- luacheck: no unused
end
local _GET = {}
if (vars ~= nil) then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf .. "<!DOCTYPE html><html><body><h1>Hello, this is NodeMCU.</h1>"
.. "<form src=\"/\">Turn PIN1 <select name=\"pin\" onchange=\"form.submit()\">"
local _on, _off = "", ""
if (_GET.pin == "ON") then
_on = " selected=true"
gpio.write(0, gpio.HIGH)
elseif (_GET.pin == "OFF") then
_off = " selected=\"true\""
gpio.write(0, gpio.LOW)
end
buf = buf .. "<option" .. _on .. ">ON</option><option" .. _off .. ">OFF</option></select></form></body></html>"
client:send(buf)
end)
connn("sent", function(c) c:close() end)
end)
end
--------------1
--wifi.setmode(wifi.SOFTAP)
--wifi.ap.config({ ssid = "test", pwd = "12345678" })
--------------2
--station_cfg={}
--station_cfg.ssid="MyWiFIRouter"
--station_cfg.pwd="PASSWORD"
--station_cfg.save=true
--wifi.setmode(wifi.STATION)
--wifi.sta.config(station_cfg)
gpio.mode(0, gpiUTPUT)
local srv = net.createServer(net.TCP)
srv:listen(80, function(conn)
connn("receive", function(client, request)
local buf = ""
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP") -- luacheck: no unused
if (method == nil) then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP") -- luacheck: no unused
end
local _GET = {}
if (vars ~= nil) then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf .. "<!DOCTYPE html><html><body><h1>Hello, this is NodeMCU.</h1>"
.. "<form src=\"/\">Turn PIN1 <select name=\"pin\" onchange=\"form.submit()\">"
local _on, _off = "", ""
if (_GET.pin == "ON") then
_on = " selected=true"
gpio.write(0, gpio.HIGH)
elseif (_GET.pin == "OFF") then
_off = " selected=\"true\""
gpio.write(0, gpio.LOW)
end
buf = buf .. "<option" .. _on .. ">ON</option><option" .. _off .. ">OFF</option></select></form></body></html>"
client:send(buf)
end)
connn("sent", function(c) c:close() end)
end)
end
и если юзать первый вариант то все нормально, то есть создавать точку доступа (начало кода) а если подключиться к моему роутеру , то все баста карапузики, второй вариант не как не пашет
подключается, IP получает, все как бы работает но в 80'м порту глухо как в танке
где рыть???
NodeMCU 3.0.0.0 built on nodemcu-build.com provided by frightanic.com
branch: release
commit: f25dc56d3c6213b8ac7ce46d1293466137746eae
release:
release DTS: 202112300746
SSL: false
build type: integer
LFS: 0x0 bytes total capacity
modules: color_utils,encoder,file,gpio,http,net,node,softuart,tmr,uart,websocket,wiegand,wifi,wifi_monitor,wps,ws2812
build 2022-02-10 11:04 powered by Lua 5.1.4 on SDK 3.0.1-dev(fce080e)
cannot open init.lua:
branch: release
commit: f25dc56d3c6213b8ac7ce46d1293466137746eae
release:
release DTS: 202112300746
SSL: false
build type: integer
LFS: 0x0 bytes total capacity
modules: color_utils,encoder,file,gpio,http,net,node,softuart,tmr,uart,websocket,wiegand,wifi,wifi_monitor,wps,ws2812
build 2022-02-10 11:04 powered by Lua 5.1.4 on SDK 3.0.1-dev(fce080e)
cannot open init.lua:
Хелп короче , все маны перечитал и не понимаю где я ошибся или это родной баг ?
Всякие ардуины и прочее не предлагать ... нужно решение вопроса для девайса из коробки