Stap 8: Werken met de Intel XDK IoT Edition
We zullen nu wat code voor RFID lezer om te lezen van RFID-Tag en invoegen van gegevens naar de database schrijven. Ik ben met behulp van Grove seriële RFID lezer en daarvoor zal ik knooppunt serialport module gebruiken. Laten we beginnen...
- Intel XDK IoT Edition installeren in uw PC en maak een nieuw project met behulp van UART lezen/schrijven sjabloon. Volg de Intel gidsvoor meer informatie over aan de slag met de Intel® XDK IoT Edition .
- Het bestand main.js aanpassen of vervangen door het bestand main.js die hieronder zijn toegevoegd.
- Open package.json bestand en kopieer de tekst uit afhankelijkheden toe te voegen aan onze vorige package.json -bestand in de map C:\node\attendance.
Uw package.json bestand uitzien:
{ "name": "nodetest", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "body-parser": "~1.13.2", "cookie-parser": "~1.3.5", "debug": "~2.2.0", "express": "~4.13.1", "jade": "~1.11.0", "morgan": "~1.6.1", "serve-favicon": "~2.3.0", "mongodb" : "~2.0.33", "monk" : "~1.0.1", "serialport":"latest" } }
Main.js bestand moet er zo uitzien:
var mraa = require('mraa'); //require mraa console.log('MRAA Version: ' + mraa.getVersion()); //print out the mraa version in IoT XDK console u = new mraa.Uart(0); //Default var MongoClient = require('mongodb').MongoClient , format = require('util').format; var serialPath = u.getDevicePath(); //Default general purpose port "/dev/ttyMFD1" - Intel(R) Edison; "/dev/ttyS0" - Intel(R) Galileo var document; //Serialport NodeJS module declared in package.json var SerialPort = require("serialport").SerialPort; var serialPort = new SerialPort(serialPath, { baudrate: 9600 }); serialPort.on("open",function() { console.log("open"); console.log("Connected to "+serialPath); serialPort.on("data", function(data) { //Read available data from serial port console.log("data received: " + data); switch(data){ case "123456ABCD" : // your RFID Tag number document = {"username" : "test", "regno" : "12345678", "email" : "test "datetime" : new Date().toUTCString()}; break; case "325456ABCD": document = {"username" : "test1", "regno" : "12345678", "email" : "test1 "datetime" : new Date().toUTCString()}; break; case "223456A23D": document = {"username" : "test2", "regno" : "12345687", "email" : "test2 "datetime" : new Date().toUTCString()}; break; } MongoClient.connect('mongodb://localhost:27017/nodetest', function(err, db) { if (err) throw err; console.log("Connected to Database"); //insert record db.collection('userlist').insert(document, function(err, records) { if (err) throw err; console.log("Record added as "); }); }); }); serialPort.write("This is a test.\n", function(err, results) { //Write data console.log("err " + err); console.log("results " + results); }); });
De code hier bijgevoegd is alleen basic en niet zo elegant. U kunt het ding in meer elegante manier schrijven. Ik heb geprobeerd om te tonen hoe het denken werken.