Görsel olarak ne göndermem gerektiği hakkında pek emin değilim.Eğer sistemin çalışdığı prosedürü, mantığını anlamak istiyorsanız pcdeki c# kodlarını ve espdeki lua kodlarını paylaşman gerekecek.Ama tam olarak kodun tam yapısını paylaşmam şu an için mümkün değil.
Onun yerine sistemin hangi parametrelerle hangi yöntemlerle haberleştiğini anlatabilirim.
C# ile 10 s aralıklarla sürekli olarak iki ayrı linke ping atılıyor. Daha sonra LUA Nodemcu kütüphanesi yüklenmiş esp de değerlendirilip link değerlerine göre çıkışlar aktif veya pasif yapılıyor.Yani kod yapısı gereği;
-ilk önce 1. led yanacak
-10 s sonra 2. led yanacak,
-10 s sonra 1. Sönecek
-10 s sonra 2. Sönecek
Ve 40 saniye sonunda döngü tekrarlayacak.
Bu şekilde döngü sürekli dönüyor.Ve ben verinin stabilliğini esp çıkışlarına bağlı Ledler yardımıyla yapıyor.Yani ledlerin açılış ve kapanış oranlarındaki kaymalar arttıkça veride yavaşlama olduğunu anlıyorum.....
C# Pingde Kullanılan Kod:
webBrowser1.Navigate("http://192.168.1.120/?pin=OFF1");
ESP de Linkin değerlendirildiği Kod:
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
if(_GET.pin == "ON1")then
gpio.write(led1, gpio.HIGH);
l=1
end
if(_GET.pin == "OFF1")then
gpio.write(led1, gpio.LOW);
l=0
end
if(_GET.pin == "ON2")then
gpio.write(led2, gpio.HIGH);
l2=1
end
if(_GET.pin == "OFF2")then
gpio.write(led2, gpio.LOW);
l2=0
end
Umarım atladığım bir nokta yoktur.