dofile('motor.lua') cfg={} cfg.ssid="robot-1" cfg.pwd="roborally" wifi.ap.config(cfg) sv = net.createServer() Peer = {} function Peer:create(sck) local peer = {} setmetatable(peer, Peer) peer.buffer = {} return peer end function Peer:receive(sck, data) self.buffer = self.buffer .. data if #self.buffer >= 4 then dir = string.byte(self.buffer,1) if dir > 127 then dir = -256+dir end motor_dir(1, dir) dir = string.byte(self.buffer,2) if dir > 127 then dir = -256+dir end motor_dir(2, dir) delay = string.byte(self.buffer,3) * 256 + string.byte(self.buffer, 4) tmr.delay(delay) motor_dir(1, 0) motor_dir(2, 0) self.buffer = {} sck:close() end end if sv then -- listen to port 80 and call callback function if data is received sv:listen(80, function(conn) peer = Peer:create(conn) conn:on("receive", peer:receive(conn)) conn:send("robot-1 at your service") end) end