Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

wbackup83

Members
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von wbackup83

  1. Geschrieben

    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. Geschrieben

    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();

        }

    }

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.