function Listener(obj, callback) { var indexPin = 0, dataPins = []; setInterval(function () { if (indexPin == 1) { digitalWrite(obj.pin3, 0); // digitalWrite(obj.pin1, 1); // } if (indexPin == 2) { digitalWrite(obj.pin1, 0); digitalWrite(obj.pin2, 1); } if (indexPin == 3) { digitalWrite(obj.pin2, 0); digitalWrite(obj.pin3, 1); } if (indexPin > 2) { indexPin = 0; } indexPin++; dataPins.push(analogRead(0).toFixed(3)); // 3 // ( ) if (dataPins.length > 2) { callback({ y: dataPins[0], x: dataPins[1], z: dataPins[2] }); dataPins = []; } }, obj.speed); // }
function Listener(obj, callback) { var indexPin = 0, dataPins = []; setInterval(function () { if (indexPin == 1) { digitalWrite(obj.pin3, 0); digitalWrite(obj.pin1, 1); } if (indexPin == 2) { digitalWrite(obj.pin1, 0); digitalWrite(obj.pin2, 1); } if (indexPin == 3) { digitalWrite(obj.pin2, 0); digitalWrite(obj.pin3, 1); } if (indexPin > 2) { indexPin = 0; } indexPin++; dataPins.push(analogRead(0).toFixed(3)); if (dataPins.length > 2) { callback({ y: dataPins[0], x: dataPins[1], z: dataPins[2] }); dataPins = []; } }, obj.speed); } function Connect(obj, callback) { const wifi = require("Wifi"); wifi.connect(obj.ssid, { password: obj.password },function(err) { if(err){return;} wifi.getIP(function(res) { console.log(res.ip); callback(); }); }); } function Server(port, callback) { const Http = require("http"); Http.createServer(callback).listen(port); } function WebSocket(port, callback) { const WS = require("ws"); const server = WS.createServer(); server.listen(port); server.on("websocket", callback); } function HTML_Page(config, req, res) { const pos = config.correction_position; const HTML = "<div class='body'></div><script src='https://clck.ru/D8D4S'></script><script>start({x:"+pos.x+",y:"+pos.y+",z:"+pos.z+"},"+config.socket_port+")</script>"; res.writeHead(200, {'Content-type':'text/html'}); res.end(HTML); } function init (config) { Connect(config.wifi, function () { digitalWrite(2,0); console.log("Connect wifi: "+config.wifi.ssid); Server(config.server_port, function (req, res) { HTML_Page(config, req, res); }); Listener(config.listen_pin, function (data) { Data = data; }); WebSocket(config.socket_port,function (Ws) { Ws.on('message', function () { Ws.send(JSON.stringify(Data)); }); }); }); } /* * * */ init({ wifi: { ssid: " ", password: " " }, socket_port: 8000, server_port: 80, listen_pin: { pin1: 13, pin2: 12, pin3: 15, speed: 30 }, correction_position: { x: 0.3, y: 0.025, z: -0.03 } // });
Source: https://habr.com/ru/post/371413/
All Articles