LUA programming, ESP8266 NODEMCU Serial communication
I am trying to send data through the serial port of the EW8266 12E NODE MCU dev kit to the arduino serial port.
I am having a hard time finding an example of the syntax used and I tried to use serial.print () via arduino to send data and it works, but I'm not sure how to do it in Lua.
Any help is appreciated
I can get SSID and arduino password
INIT.lua
SSID = "XXXX"
Password = "XXXX"
wifi.setmode(wifi.STATION)
wifi.sta.config(SSID,Password) -- Replace with your AP Name and security key.
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
if wifi.sta.getip()== nil then
print("Obtaining IP...")
else
tmr.stop(1)
print("Got IP. "..wifi.sta.getip())
dofile("LED_on_off.lua")
end
end)
LED_ON_OFF LUA
print(wifi.sta.getip())
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
local buf = "";
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf.."<h1> ESP8266 Web Server</h1>";
buf = buf.."<p>GPIO2 <a href=\"?pin=ON2\"><button>ON</button></a> <a href=\"?pin=OFF2\"><button>OFF</button></a></p>";
local _on,_off = "",""
if(_GET.pin == "OFF2")then
gpio.write(led2, gpio.HIGH);
elseif(_GET.pin == "ON2")then
**********Here i would like to send data ot arduini that pin is swithced oN ************
gpio.write(led2, gpio.LOW);
end
client:send(buf);
client:close();
collectgarbage();
end)
end)
source to share
Read the NodeMCU documentation:
https://nodemcu.readthedocs.io/en/master/
special
https://nodemcu.readthedocs.io/en/master/en/modules/uart/
Everyone is there. You don't have to look for examples. You must learn to read and understand the documentation. There is no correct programming without reading the documentation.
If you only want to tell arduino that one thing happened, though you could just use the digital output and connect it to the arduino input. Keep it simple and silly.
source to share