Md. Khairul Alam
Published © CC BY

Smart Attendance System (Intel Edison Inside)

RFID based Attendance Management System for schools, colleges & offices.

AdvancedFull instructions provided3 hours4,080
Smart Attendance System (Intel Edison Inside)

Things used in this project

Hardware components

RFID reader (generic)
×1
RFID Tag
×1

Story

Read more

Code

Main program

JavaScript
Developed in Intel IoT XDK
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@test.com",
	                        "datetime" : new Date().toUTCString()};
                break;
            
            case "325456ABCD":
                document = {"username" : "test1",
                               "regno" : "12345678",
                               "email" : "test1@test.com",
	                        "datetime" : new Date().toUTCString()};
                break;
                
            case "223456A23D":
                document = {"username" : "test2",
                               "regno" : "12345687",
                               "email" : "test2@test.com",
	                        "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);
    });
});

Credits

Md. Khairul Alam

Md. Khairul Alam

64 projects • 569 followers
Developer, Maker & Hardware Hacker. Currently working as a faculty at the University of Asia Pacific, Dhaka, Bangladesh.

Comments