2016-10-10 19 views
1

arduino 직렬 포트에 ESP8266 12E 노드 MCU 개발 키트의 직렬 포트를 통해 데이터를 보내려고합니다.LUA 프로그래밍, ESP8266 NODEMCU 직렬 통신

사용 된 구문 예제를 찾으려고 애썼지 만 arduino를 통해 serial.print()를 사용하여 데이터를 보내려고했지만 작동이되지만 루아에서이 작업을 수행하는 방법을 잘 모르겠습니다. 어떤 도움이

을 감사

나는 SSID 및 암호 형태로 아두 이노

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>&nbsp;<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) 

답변

2

NodeMCU 설명서를 읽어 보시기 바랍니다 :

https://nodemcu.readthedocs.io/en/master/

특히

https://nodemcu.readthedocs.io/en/master/en/modules/uart/

그것은이 전부입니다. 예를 찾을 필요가 없습니다. 문서를 읽고 이해하는 법을 배워야합니다. 문서를 읽지 않으면 적절한 프로그래밍이 없습니다.

arduino에게 하나의 일이 일어 났음을 알리고 싶다면 디지털 출력을 사용하여 arduino 입력에 연결할 수도 있습니다. 그것을 간단하고 어리 석다.

+0

대단히 감사합니다. –