Smart närvaro System (Intel Edison inuti) (8 / 11 steg)
Steg 8: Arbeta med Intel XDK IoT Edition
Vi kommer nu skriva någon kod för RFID-läsare att läsa RFID-tagg och infoga data till databasen. Jag använder Grove seriell RFID-läsare och för att jag kommer att använda noden serialport modul. Låt oss börja...
- Installera Intel XDK IoT Edition i din dator och skapa ett nytt projekt med UART läsa/skriva mall. För Detaljer för komma igång med Intel® XDK IoT Edition Följ Intel guide.
- Ändra filen main.js därefter eller ersätta det med den filen main.js bifogas nedan.
- Öppna package.json filen och kopiera texten från beroenden och lägga till den i våra tidigare package.json filen i mappen C:\node\attendance.
Din package.json fil se ut så här:
{
"namn": "Nodtest",
"version": "0.0.0",
"privata": sant,
"skript": {
"start": "nod ./bin/www"
},
"beroenden": {
"kroppen-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",
"munken": "~ 1.0.1",
"serialport": "senaste"
}
}
main.js filen bör se ut så här:
var mraa = require('mraa'); kräver mraa
Console.log ("MRAA Version:" + mraa.getVersion()); skriva ut den mraa versionen i IoT XDK konsolen
u = nya mraa. UART(0); Standard
var MongoClient = require('mongodb'). MongoClient
, format = require('util').format;
var serialPath = u.getDevicePath(); Standard generella port "/ dev/ttyMFD1" - Intel(R) Edison; "/ dev/ttyS0" - Intel(R) Galileo
var dokumentet.
Serialport NodeJS modul deklareras i package.json
var SerialPort = require("serialport"). SerialPort;
var serialPort = nya SerialPort (serialPath, {
baudvärde: 9600
});
serialPort.on("open",function() {
Console.log("Open");
Console.log ("ansluten till" + serialPath);
serialPort.on ("data", function(data) {//Read tillgängliga data från serieporten
Console.log ("mottagna data:" + data);
Switch(data) {
fallet "123456ABCD": / / ditt RFID-tagg nummer
dokument = {"username": "testa",
"regno": "12345678",
"mail": "testa
"datetime": nya Date().toUTCString()};
bryta;
fallet "325456ABCD":
dokument = {"username": "test1",
"regno": "12345678",
"mail": "test1
"datetime": nya Date().toUTCString()};
bryta;
fallet "223456A23D":
dokument = {"username": "test2",
"regno": "12345687",
"mail": "test2
"datetime": nya Date().toUTCString()};
bryta;
}
MongoClient.connect ("mongodb://localhost:27017 / Nodtest ', function(err, db) {
om (err) kasta fela;
Console.log ("ansluten till databas");
Infoga post
DB.Collection('userlist').INSERT (dokument, funktion (err, poster) {
om (err) kasta fela;
Console.log ("post läggs till som");
});
});
});
serialPort.write ("Detta är en testet \n", function(err, results) {//Write data
Console.log ("err" + fela);
Console.log ("resultat" + resultat);
});
});
Den kod som bifogas här är bara grundläggande och inte så elegant. Du kan skriva en sak på ett mer elegant sätt. Jag försökte visa hur tänker arbeta.