// Callback function for state changed callback static void StateChangedCB(BrickletNFCRFID sender, byte state, bool idle) { if (idle) { currentTagType = (byte)((currentTagType + 1) % 3); sender.RequestTagID(currentTagType); } if (state == BrickletNFCRFID.STATE_REQUEST_TAG_ID_READY) { byte tagType; byte tidLength; byte[] tid; sender.GetTagID(out tagType, out tidLength, out tid); if (tidLength == 7) { Console.WriteLine("Found tag of type {0} with ID " + "[{1:X} {2:X} {3:X} {4:X} {5:X} {6:X} {7:X}]", tagType, tid[0], tid[1], tid[2], tid[3], tid[4], tid[5], tid[6]); } else { Console.WriteLine("Found tag of type {0} with ID [{1:X} {2:X} {3:X} {4:X}]", tagType, tid[0], tid[1], tid[2], tid[3]); } } }
// Callback function for state changed callback static void StateChangedCB(BrickletNFCRFID sender, byte state, bool idle) { if(idle) { currentTagType = (byte)((currentTagType + 1) % 3); sender.RequestTagID(currentTagType); } if(state == BrickletNFCRFID.STATE_REQUEST_TAG_ID_READY) { byte tagType; byte tidLength; byte[] tid; sender.GetTagID(out tagType, out tidLength, out tid); if(tidLength == 7) { Console.WriteLine("Found tag of type {0} with ID " + "[{1:X} {2:X} {3:X} {4:X} {5:X} {6:X} {7:X}]", tagType, tid[0], tid[1], tid[2], tid[3], tid[4], tid[5], tid[6]); } else { Console.WriteLine("Found tag of type {0} with ID [{1:X} {2:X} {3:X} {4:X}]", tagType, tid[0], tid[1], tid[2], tid[3]); } } }
static void Main() { IPConnection ipcon = new IPConnection(); // Create IP connection BrickletNFCRFID nr = new BrickletNFCRFID(UID, ipcon); // Create device object ipcon.Connect(HOST, PORT); // Connect to brickd // Don't use device before ipcon is connected // Register state changed callback to function StateChangedCB nr.StateChangedCallback += StateChangedCB; // Start scan loop nr.RequestTagID(BrickletNFCRFID.TAG_TYPE_MIFARE_CLASSIC); Console.WriteLine("Press enter to exit"); Console.ReadLine(); ipcon.Disconnect(); }
private static string UID = "XYZ"; // Change XYZ to the UID of your NFC/RFID Bricklet #endregion Fields #region Methods static void Main() { IPConnection ipcon = new IPConnection(); // Create IP connection BrickletNFCRFID nr = new BrickletNFCRFID(UID, ipcon); // Create device object ipcon.Connect(HOST, PORT); // Connect to brickd // Don't use device before ipcon is connected // Register state changed callback to function StateChangedCB nr.StateChanged += StateChangedCB; // Start scan loop nr.RequestTagID(BrickletNFCRFID.TAG_TYPE_MIFARE_CLASSIC); Console.WriteLine("Press enter to exit"); Console.ReadLine(); ipcon.Disconnect(); }
// Callback function for state changed callback static void StateChangedCB(BrickletNFCRFID sender, byte state, bool idle) { if(state == BrickletNFCRFID.STATE_REQUEST_TAG_ID_READY) { Console.WriteLine("Tag found"); // Write 16 byte to pages 5-8 byte[] dataWrite = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; sender.WritePage(5, dataWrite); Console.WriteLine("Writing data..."); } else if(state == BrickletNFCRFID.STATE_WRITE_PAGE_READY) { // Request pages 5-8 sender.RequestPage(5); Console.WriteLine("Requesting data..."); } else if(state == BrickletNFCRFID.STATE_REQUEST_PAGE_READY) { // Get and print pages byte[] data = sender.GetPage(); string str = "" + data[0]; for(int i = 1; i < data.Length; i++) { str += " " + data[i]; } Console.Write("Read data: [" + str + "]"); } else if((state & (1 << 6)) == (1 << 6)) { // All errors have bit 6 set Console.WriteLine("Error: " + state); } }
private static string UID = "XYZ"; // Change XYZ to the UID of your NFC/RFID Bricklet // Callback function for state changed callback static void StateChangedCB(BrickletNFCRFID sender, byte state, bool idle) { if (state == BrickletNFCRFID.STATE_REQUEST_TAG_ID_READY) { Console.WriteLine("Tag found"); // Write 16 byte to pages 5-8 byte[] dataWrite = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; sender.WritePage(5, dataWrite); Console.WriteLine("Writing data..."); } else if (state == BrickletNFCRFID.STATE_WRITE_PAGE_READY) { // Request pages 5-8 sender.RequestPage(5); Console.WriteLine("Requesting data..."); } else if (state == BrickletNFCRFID.STATE_REQUEST_PAGE_READY) { // Get and print pages byte[] data = sender.GetPage(); string str = "" + data[0]; for (int i = 1; i < data.Length; i++) { str += " " + data[i]; } Console.Write("Read data: [" + str + "]"); } else if ((state & (1 << 6)) == (1 << 6)) { // All errors have bit 6 set Console.WriteLine("Error: " + state); } }