2016-10-10 4 views
1

J'essaie d'envoyer des données via le port série du kit de développement MCU Node 12E ESP8266 vers un port série arduino. J'ai du mal à essayer de trouver un exemple de la syntaxe utilisée et j'ai essayé d'utiliser serial.print() via l'arduino pour envoyer des données et cela fonctionne mais je ne sais pas comment accomplir cela dans Lua.Programmation LUA, ESP8266 NODEMCU Communication série

Toute aide est appréciée

je peux obtenir le SSID et la forme de mot de passe arduino

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) 

Répondre

2

S'il vous plaît lire la documentation NodeMCU:

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

surtout

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

Il est là. Vous n'avez pas besoin de trouver des exemples. Vous devez apprendre à lire et à comprendre les documentations. Il n'y a pas de bonne programmation sans lire les documentations.

Si vous voulez simplement dire à l'arduino qu'une seule chose s'est produite, vous pouvez aussi bien utiliser une sortie numérique et l'accrocher à une entrée arduino. Reste simple et stupide.

+0

Merci beaucoup –