Edit: The draft has been published by mistake, therefore, I updated it.

 

I don't know why but it takes so long to implement access control with NFC. I think I put forward it because it is a separate design from the helmet. Hence, I use a passive tag on the helmet, it is only attached to it and no more work on helmet side. The https://www.element14.com/community/view-product.jspa?fsku=2535894&nsku=74X8084&COM=noscriptDLP-7970ABP NFC transceiver BoosterPack  is the key element of this part. It will read the tag and send the data over the serial port (the msp430 board convert serial to USB) to the Ground Operations Centre. The Ground Operations Centre will decide to doors open. It registers the users who access the mining side so if multiple access occurred from a single tag it will deny the access. Following screenshot shows the how the program works.

 

 

The Ground Operations Centre saves the user IDs who has accessed the side. If the user ID from the insider wants to access again it will not allow that user to access. I use sample code for MSP430. This board will be connected to Ground Operations Centre via the serial port. Therefore, I added a serial terminal to C# example. The program gets the data and checks it whether it belongs to a worker who is inside the mine area. If it is, then access is denied. I haven't implemented but there should be also exit gate control which deletes the user ID when they left the mine area. It is the same program but instead of registering user, it will delete. 

 

 

        public void AddDataMethod(String myString)
        {
            //check wheather user is inside 
            if (users.Contains(myString))
            {
                rtbNFC.SelectionColor = System.Drawing.Color.Red;
                myString = "Access Denied: " + myString + " \n\r";
                serialNFC.Write("0");
            }
            else
            {
                rtbNFC.SelectionColor = System.Drawing.Color.Green;
                myString = "Access Successful: " + myString + " \n\r"; ;
                users[minerNo] = txt;
                minerNo++;
                serialNFC.Write("1");
            }


            rtbNFC.AppendText(myString);
        }

 

 

 

I had a huge mistake and I thought the deadline was extended to next month until I have read dougw's latest blog post. Now, I have few days and need to combine all things and show the working prototype. I hope I can shoot a video. I will also add all the codes as an attachment on the next blog.