Jump to content

wbackup83

Members
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von wbackup83

  1. Thanks for the reply...but it is the same: it always returns the same page with different tags and the other states are never accessed.

     

    nr.addStateChangedListener(new BrickletNFCRFID.StateChangedListener() {

                public void stateChanged(short state, boolean idle) {

                //System.out.println(state);

                    try {

                        if(idle) {

                            currentTagType = 0;

                            //(short)((currentTagType + 1) % 3);

                            nr.requestTagID(currentTagType);

                         

                        }

     

                        if(state == BrickletNFCRFID.STATE_REQUEST_TAG_ID_READY) {

                            BrickletNFCRFID.TagID tagID = nr.getTagID();

                            String s = "Found tag of type " + tagID.tagType +

                                      " with ID [" + Integer.toHexString(tagID.tid[0]);

     

                            for(int i = 1; i < tagID.tidLength; i++) {

                                s += " " + Integer.toHexString(tagID.tid);

                            }

     

                            s += "]";

                            System.out.println(s);

                            //added code

                            short[] keys= {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

     

    nr.authenticateMifareClassicPage(5, (short) 0,keys);

    nr.requestPage(5);

    short[] data=nr.getPage();

    System.out.println(Arrays.toString(data));

                        } 

                        if(state == BrickletNFCRFID.STATE_AUTHENTICATING_MIFARE_CLASSIC_PAGE_READY) {

                        System.out.println("Ready");

                       

                        }

                        if(state == BrickletNFCRFID.STATE_AUTHENTICATING_MIFARE_CLASSIC_PAGE_ERROR) {

                        System.out.println("error");

                       

                        }

     

                    } catch(Exception e) {

                        System.out.println(e);

                    }

                }

            });

     

            // Start scan loop

            nr.requestTagID(BrickletNFCRFID.TAG_TYPE_MIFARE_CLASSIC);

     

            System.out.println("Press key to exit"); System.in.read();

            ipcon.disconnect();

  2. I don't understand why using a mifare tag using the provided code i can read the tag page without authenticating ...moreover the state page ready is never accessed... for this reason the page if i change the tag still remains the same...

    can you take a look at my code to understand if i m missing something or what?

    Tags are found, i can print the page content without authenticating it...(commented)

     

    public class ExampleScanForTags {

        private static final String HOST = "localhost";

        private static final int PORT = 4223;

     

        // Change XYZ to the UID of your NFC/RFID Bricklet

        private static final String UID = "uqB";

     

        private static short currentTagType = 0;

     

        // Note: To make the example code cleaner we do not handle exceptions. Exceptions

        //      you might normally want to catch are described in the documentation

        public static void main(String args[]) throws Exception {

            IPConnection ipcon = new IPConnection(); // Create IP connection

            // Note: Declare nr as final, so the listener can access it

            final BrickletNFCRFID nr = new BrickletNFCRFID(UID, ipcon); // Create device object

     

            ipcon.connect(HOST, PORT); // Connect to brickd

            // Don't use device before ipcon is connected

     

            // Add state changed listener

            nr.addStateChangedListener(new BrickletNFCRFID.StateChangedListener() {

                public void stateChanged(short state, boolean idle) {

                //System.out.println(state);

                    try {

                        if(idle) {

                            currentTagType = 0;

                            //(short)((currentTagType + 1) % 3);

                            nr.requestTagID(currentTagType);

                         

                        }

     

                        if(state == BrickletNFCRFID.STATE_REQUEST_TAG_ID_READY) {

                            BrickletNFCRFID.TagID tagID = nr.getTagID();

                            String s = "Found tag of type " + tagID.tagType +

                                      " with ID [" + Integer.toHexString(tagID.tid[0]);

     

                            for(int i = 1; i < tagID.tidLength; i++) {

                                s += " " + Integer.toHexString(tagID.tid);

                            }

     

                            s += "]";

                            System.out.println(s);

                            //added code

                            short[] keys= {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

     

    //nr.authenticateMifareClassicPage(5, (short) 0,keys);

    short[] data=nr.getPage();

    System.out.println(Arrays.toString(data));

                        } 

                        if(state == BrickletNFCRFID.STATE_AUTHENTICATING_MIFARE_CLASSIC_PAGE_READY) {

                        System.out.println("Ready");

                       

                        }

                        if(state == BrickletNFCRFID.STATE_AUTHENTICATING_MIFARE_CLASSIC_PAGE_ERROR) {

                        System.out.println("error");

                       

                        }

     

                    } catch(Exception e) {

                        System.out.println(e);

                    }

                }

            });

     

            // Start scan loop

            nr.requestTagID(BrickletNFCRFID.TAG_TYPE_MIFARE_CLASSIC);

     

            System.out.println("Press key to exit"); System.in.read();

            ipcon.disconnect();

        }

    }

×
×
  • Neu erstellen...