Stap 3: Het serverscript schrijven
Maak een nieuw bestand met de naam 'main.js' in de map node_led, bevat alle code die nodig is voor de server uitgevoerd. Gebruik uw favoriete tekst-editor (ik geef de voorkeur Notepad ++ met de NppFTP plugin).
De webserver en de websocket server instellen
express = require('express'); //web serverapp = express();server = require('http').createServer(app);io = require('socket.io').listen(server); //web socket server server.listen(8080); //start the webserver on port 8080app.use(express.static('public')); //tell the server that ./public/ contains the static webpages
De seriële poort openen
var SerialPort = require("serialport").SerialPortvar serialPort = new SerialPort("/dev/ttyACM0", { baudrate: 115200 });
Bepalen het gedrag van de WebSocket
var brightness = 0; //static variable to hold the current brightnessio.sockets.on('connection', function (socket) { //gets called whenever a client connects socket.emit('led', {value: brightness}); //send the new client the current brightness socket.on('led', function (data) { //makes the socket react to 'led' packets by calling this function brightness = data.value; //updates brightness from the data object var buf = new Buffer(1); //creates a new 1-byte buffer buf.writeUInt8(brightness, 0); //writes the pwm value to the buffer serialPort.write(buf); //transmits the buffer to the arduino io.sockets.emit('led', {value: brightness}); //sends the updated brightness to all connected clients }); });
Dit is alle vereiste code uit te voeren van de web - en websocket-server, kunt u de regel 'console.log("running");' om aan te geven dat de procedure opstarten is voltooid.