×

Discussion Board

Results 1 to 11 of 11
  1. #1
    Registered User
    Join Date
    Mar 2008
    Posts
    12

    Nokia 6212 classic build in NFC software passes over push registered programs

    Dear colleagues,

    we are using Nokia 6212 classic with a build in NFC software. If we install the NFCPushExample of the Nokia MIDlet package to test the dynamic PushRegistry features, we can start the software and we can make a push registration - no problem so far. But if we exit this application and want to start the software once again by scanning a NDEF tag, the build in software obviously passes over the push registered NFCPushExample program. The build in software manages the tag and the push registered application does not start - that is the problem. Now we have two questions:

    First question: How to get rid of the build in NFC software, so it is possible to start a dynamically push registered software by NFC tag scanning?

    Second question: Is there a method to get a list of all statically push registered applications on a device?

  2. #2
    Registered User
    Join Date
    Feb 2009
    Location
    Hagenberg, Austria
    Posts
    121

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Hallo drnie08,

    which record type did you try to register? There are certain record types (at least SmartPoster and vCard) that are reserved for Nokia's native applications. As far as I know, there is no way to override these restrictions.

    br,
    Michael

  3. #3
    Registered User
    Join Date
    Mar 2008
    Posts
    12

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Dear mroland,

    Nokia published an example you can find under "NFCPushExmaple.java".
    That is the example I was talking about. I compiled it with Netbeans 6.8 in
    the path "NFCPushExample/NFCPushExample.java". The following code
    line shows the one and only registration process:

    // --------------------- SNIP -----------------------
    package NFCPushExample;

    // ...
    PushRegistry.registerConnection("ndef:rtd?name=urn:nfc:wkt:T",
    "NFCPushExample.NFCPushExample", "*");

    // --------------------- SNAP -----------------------

    Can you see any problems in this code? Do not hesitate to request for
    additional information

    Thank you for your efforts.

    Guido

  4. #4
    Registered User
    Join Date
    Feb 2009
    Location
    Hagenberg, Austria
    Posts
    121

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Hallo Guido,

    I've just checked the example and it works as expected. Did you receive the message "Push Registration completed" on the first start of the MIDlet?
    I've tried it with the following steps:
    1) Start MIDlet
    2) Accept push registration (as the MIDlet was not signed)
    3) Select write NDEF and transmit the text record to an empty tag
    4) Close MIDlet
    5) Place phone on the tag again
    6) MIDlet starts

    br,
    Michael

  5. #5
    Registered User
    Join Date
    Mar 2008
    Posts
    12

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Dear Michael,

    as we bought the Nokia mobile phone, we got 3 RFID tags for testing.
    One of thes tags I will now for the following test:

    1) Start MIDlet
    2) Accept Push Registration
    3) choose "Read NDEF"
    4) place the phone on the above mentioned RFID tag
    5) The software tells me:

    EPC nfc:ndef.type=mfik;uid=1e01fb7d

    6) Exit MIDlet
    7) place the phone once again on the RFID tag
    8) The phone says:

    "Öffnen? Nokia 6212
    classic Introduction
    Sammlung\Nokia
    6212 classic
    Introduction"

    I tried the other RFID Tags with the following results:

    EPC nfc:ndef.type=mfik;uid=4a337bfc
    "Wecker aktivieren?"

    EPC nfc:ndef.type=mfik;uid=0eb9047e
    "Öffnen? I Must Be In
    Love.aac
    Musikdateien\I Must
    Be In Love.aac"


    Perhaps these are "priviledged" RFID tags.

  6. #6
    Registered User
    Join Date
    Mar 2008
    Posts
    12

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    And important: The phone told me "Push Registration completetd" !!!

  7. #7
    Registered User
    Join Date
    Feb 2009
    Location
    Hagenberg, Austria
    Posts
    121

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Hallo Guido,

    Quote Originally Posted by drnie08 View Post
    as we bought the Nokia mobile phone, we got 3 RFID tags for testing.
    One of thes tags I will now for the following test:

    1) Start MIDlet
    2) Accept Push Registration
    Good. You now rgistered the Text record type (urn:nfc:wkt:T) to your MIDlet.

    Quote Originally Posted by drnie08 View Post
    3) choose "Read NDEF"
    4) place the phone on the above mentioned RFID tag
    5) The software tells me:

    EPC nfc:ndef.type=mfik;uid=1e01fb7d
    You read some random tag now.

    Quote Originally Posted by drnie08 View Post
    6) Exit MIDlet
    7) place the phone once again on the RFID tag
    8) The phone says: ...

    Perhaps these are "priviledged" RFID tags.
    No, these are not privileged tags (or actually some of them might ase they seem to contain smart poster records).

    None of these tags started your MIDlet because none of these tags contained the registered record type. Remember that you only registered your MIDlet to start when ever a Text record is detected. So to start your application, you need a tag that contains such a Text record. For this, the application allows you to write a predefined text record to a tag. You have to select "write NDEF" from the MIDlet's menu and then touch a tag.

    If you want to use other records than the Text record type to launch your MIDlet, I suggest you have a look at Appendix B (Launching applications with MIDP 2.0 PushRegistry) of the JSR 257 and the documentation of the Nokia extensions to the JSR 257. There, you can learn how to specify connection URIs and filters for push registry registration.

    br,
    Michael

  8. #8
    Registered User
    Join Date
    Mar 2008
    Posts
    12

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Dear Michael,

    thank you very much for your patience so far. I think, perhaps there may be a
    misunderstanding. It sounds curious, but we do not have an interest to read
    a text or uri or whatever from a tag, because we use in a very first case only the
    number of the RFID tag. In this example it is

    EPC nfc:ndef.type=mfik;uid=1e01fb7d

    and here 0x01e01fb7d is the number of interest. May be, that we can use an
    uri stored on a tag with something like this:

    http://www.companyname.com/mobile/

    But that is for example useful to provide software or services. We do
    not need this.

    We would like to read the worldwide unique tag number. Our aim is
    to start our software, if we can read this number. With Nokia phones
    we are able to read Mifare and similar RFID tags. Other devices would
    be able to read Unique tags, which sends only a number, nothing more,
    because these tags do not offer memory space to store something.
    OK. mobile phones will never read Unique tags (135kHz transmitter),
    but in industry you will find billions of them.

    My question is, what can we do to start a software via PushRegistry,
    if we only have an interest to read the unique tag id?

    Thank you very much,

    Guido

  9. #9
    Registered User
    Join Date
    Feb 2009
    Location
    Hagenberg, Austria
    Posts
    121

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Hallo Guido,

    as I said in my previous post, you should have a look at the documentation. It will show you which events can be used for the push registry.

    As far as plain JSR 257 is concerned, you can only bind your application to certain types of NDEF records. So you can use either some standardized record like Text or URI or you can write some custom record onto each tag that should trigger your application, e.g. urn:nfc:ext:your-domain.com:yourrecord. See JSR 257 (Appendix B).

    The Nokia phones, however, provide an extended API (Nokia extensions to the JSR 257). The documentation can be found in <Installation Path>\S40_Nokia_6212_NFC_SDK\doc\WebHelp\WebHelp\jsr257nokiaextensions\index.html, where Installation Path is the path where you installed the Nokia 6212 SDK (usually something like C:\Nokia\Devices). The Nokia extensions provide an additional push registry event: nfc:undefined_format. When you use this event and specify an additional connection filter you can start your application whenever a certain type of NFC tag was detected.A filter that is sensitive to any MIFARE Classic tag would look like this:
    nfc:rf;type=mf?k;uid=*
    Of course, you could also specify a certain UID instead of the placeholder "*".

    In my opinion you should avoid using the tag UID as an identifier. Mainly because you rely on a certain tag architecture when you use this approach. This somewhat contradicts NFC's device independed, standardized character. Also -- in theory (!) -- contactless cards/tags could generate a random UID for each session, which would make it impossible to rely on the UID.

    Instead you could define your own NDEF external record type. The record can then contain some data that is unique for each tag within in your application. The benefits of this approach would be:
    *) You can start your application based on a method that is standardized in JSR 257 and will therefore work on any phone that implements this JSR.
    *) You can use any tag platform that is supported by the phone (e.g. NFC Forum Type 1, 2, 3 and 4, MIFARE, ...) without the need to adapt your application whenever a new tag type is used. Thus, NDEF provides a standardized abstraction layer to the tag hardware.
    *) You can easily re-create lost/destroyed tags with a certain identifier.

    br,
    Michael

  10. #10
    Registered User
    Join Date
    Mar 2008
    Posts
    12

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Dear Michael,

    I am really impressed, that you try to guide me through this complex materia.

    As described, I tried the following registration:

    PushRegistry.registerConnection("nfc:undefined_format", "NFCPushExample.NFCPushExample", "*");

    In my oppinion, this line should start my application whenever
    the phone detects a RFID tag. And in deed, once a RFID tag is
    placed under the phone, the registered application starts and
    I can do what I want to do. I read the code line of registration in
    a way, that all kind of RFID tag will start my apllication, as long as
    the reader technology can detect the tag. There is no filter specification
    narrowing the range of types or uids or whatever.

    But there is a little naughty behavior. Once one of these, in my oppinion
    "privileged" tags get detected, the phone does not start my application.
    The phone starts Nokia owned stuff, for example "useful" applications,
    like the alarm-clock, or it wants to play a song. Obviously there is something
    kicking my registration to the hell. The phone does not care about my
    MIDlet application. It does its own thing!

    I am convinced, that there is something like a ranking. There must be
    another "registration" having right of way. Whatever it is. Perhaps it is
    statically registered and it detects its own tags. Related to this I had in
    the beginning the following question:

    "Is there a method to get a list of all statically push registered applications on a device?"

    And now a few words about UIDs, and why we would like to work with them.

    The most RFID tags in the world do not have more than a unique ID. OK, you
    are not able to read them with a mobile phone, but they are here.
    We are using a system, which is working with information related to unique
    IDs and vice versa. Imagine a piece of music, picture or video, everything, which
    may provide a more or less unique ID. RFID tags are only one way to provide
    a unique ID.

    Related to this, a RFID tag mounted on a packaging box may contain whatever
    it wants, we do not have an interest to read or work with it. We put the UID into
    our system und work with it. We do not delete, add or change something on the
    RFID tag. If the tag is decrypted, may be, we do not care. We do not encrypt, we
    do not want to know. Let them do, what they want to do.

    The only thing we want to do is to read the UID. On a phone, we want to start
    reliably our registered application to read this UID. An application ranking on
    a phone is not useful in this sense.

    best regards,

    Guido

  11. #11
    Registered User
    Join Date
    Feb 2009
    Location
    Hagenberg, Austria
    Posts
    121

    Re: Nokia 6212 classic build in NFC software passes over push registered programs

    Hallo Guido,

    Quote Originally Posted by drnie08 View Post
    As described, I tried the following registration:
    PushRegistry.registerConnection("nfc:undefined_format", "NFCPushExample.NFCPushExample", "*");

    In my oppinion, this line should start my application whenever the phone detects a RFID tag. [...]
    Yes...and no. As your push registry URI says, you registered your application to start for every detected tag that has an undefined format.

    Quote Originally Posted by drnie08 View Post
    But there is a little naughty behavior. Once one of these, in my oppinion "privileged" tags get detected, the phone does not start my application. The phone starts Nokia owned stuff [...]
    Right, some applications have registered for specific NDEF record types. THus, they have defined certain formats. Obviously, they do no longer match the condition undefined format then.

    Quote Originally Posted by drnie08 View Post
    Obviously there is something kicking my registration to the hell. The phone does not care about my MIDlet application. It does its own thing!
    No, it does exactly what you specified: Listen for any tags, that are not covered by other push registry entries.

    Quote Originally Posted by drnie08 View Post
    I am convinced, that there is something like a ranking. There must be another "registration" having right of way.
    This applies to some special record types. The documentation lists them as the MIME types text/x-vCard and text/x-vCalendar and as the Forum RTD urn:nfc:wkt:Sp. These record types (and if I remember correctly, at least some more with the Nokia 6212 emulator) can never be overridden by user applications.

    So there is no way of registering your application to start on every detected tag.

    Quote Originally Posted by drnie08 View Post
    "Is there a method to get a list of all statically push registered applications on a device?"
    Not that I know of.

    Quote Originally Posted by drnie08 View Post
    The only thing we want to do is to read the UID. On a phone, we want to start reliably our registered application to read this UID. An application ranking on a phone is not useful in this sense.
    I'm not sure if NFC (and NFC mobile phones) is the right way to go then. In my opinion you are looking for a dedicated handheld RFID reading device.

    br,
    Michael

Similar Threads

  1. Replies: 6
    Last Post: 2010-03-22, 12:38
  2. Cannot get NFC tag driven Static Push Registry (via JAD) to work on 6212
    By andrew_d_mackenzie in forum Near Field Communication
    Replies: 0
    Last Post: 2010-02-22, 12:19
  3. Develop API dotNet for communicate with 6212 Classic NFC
    By kamel2mars in forum Near Field Communication
    Replies: 0
    Last Post: 2009-05-26, 10:50
  4. Nokia 6212 classic - CPU?
    By makibo in forum General Development Questions
    Replies: 3
    Last Post: 2009-02-24, 13:42
  5. Nokia 6212 Classic NFC
    By geri-m in forum Near Field Communication
    Replies: 19
    Last Post: 2008-08-21, 13:36

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×