В данном уроке мы с Вами подключим два микроконтроллера ESP8266 между собой по Fi-Wi связи. Первый микроконтроллер настроим как сервер, второй микроконтроллер настроим как клиент. Сам программный код мы рассматривали ранее в прошлых уроках. По сути у нас один микроконтроллер настроен как сервер с IP 192.168.4.1 и он постоянно слушает сеть. Если есть к нему подключение он получает данные и обрабатывает их.
Сервер LUA
print("ESP8266 Server") -- "Сервер ESP8266" 6 wifi.setmode(wifi.STATIONAP); 7 wifi.ap.config({ssid="test",pwd="12345678"}); 8 print("Server IP Address:",wifi.ap.getip()) -- "IP-адрес сервера:" 9 10 sv = net.createServer(net.TCP) 11 sv:listen(80, function(conn) 12 conn:on("receive", function(conn, receivedData) 13 print("Received Data: " .. receivedData) 14 -- "Полученные данные: " 15 end) 16 conn:on("sent", function(conn) 17 collectgarbage() 18 end) 19 end)
клиент LUA
print("ESP8266 Client") -- "Клиент ESP8266" 6 wifi.sta.disconnect() 7 wifi.setmode(wifi.STATION) 8 wifi.sta.config("test","12345678") –- подключаемся к серверу 9 wifi.sta.connect() 10 print("Looking for a connection") -- "Поиск соединения" 11 12 tmr.alarm(1, 2000, 1, function() 13 if(wifi.sta.getip()~=nil) then 14 tmr.stop(1) 15 print("Connected!") -- "Подключились!" 16 print("Client IP Address:",wifi.sta.getip()) 17 -- "IP-адрес клиента:" 18 cl=net.createConnection(net.TCP, 0) 19 cl:connect(80,"192.168.4.1") 20 tmr.alarm(2, 5000, 1, function() 21 cl:send("Hello World!") 22 end) 23 else 24 print("Connecting...") -- "Подключение..." 25 end 26 end)