Jump to: navigation, search

RFID tags


Revision as of 12:59, 14 June 2023 by MHM (Talk | contribs) (Classifications)

In order for the users to find objects more efficiently, UBIK® objects can be marked with values for RFID/NFC codes. Whenever a user scans an RFID code, the resulting code value can be used to find all matching objects, namely objects that have the right property.

IC Hint square.pngNFC stands for "Near Field Communication" and is a set of ideas and technologies for data transfer between devices, typically in close distances. Technically, it is based on RFID ("Radio-Frequency Identification"), which describes specific technical solutions.

Amongst the use cases for NFC, there is communication between smartphones and other devices, but also the scanning of RFID tags.

The UBIK® RFID scanning feature specifically is the ability to scan RFID tags in order to identify UBIK® objects.


[edit]

WinX/Xamarin Internal Scanner

Availability:

Supported RFID Tags

There are three types of RFID markers supported by UBIK®:

  • NfcA (RFID standard: ISO-14443A)
  • NfcB (RFID standard: ISO-14443B)
  • NfcV (RFID standard: ISO-15693)

UBIK® WinX scans these tags for an NDEF message. Tags which are not NDEF formatted are not supported by the WinX client. UBIK® Xamarin instead just looks for the serial numbers of the tags and use them for searching.

Supported Devices

When your client supports NFC, you can see this by opening the side menu. If NFC is supported, a NFC button should be enabled.

Scanning an RFID tag

Scanning for NFC tag
Scanning for NFC tag

A NFC Scan button is shown in the Global App Bar if the device is capable of scanning NFC tags. Pressing the NFC Scan button enables/disables NFC scanning throughout the whole application. That means once the NFC scanning is activated, one can use the application just as usually while UBIK® scans for NFC tags in the background.

Presenting results of a search

No object found message
No object found message
Multiple search results dialog
Multiple search results dialog

Once a tag is successfully scanned, an object search is executed.

  1. if no objects are found a message is popping up at the right side of the screen.
  2. if more than one object is found the results are represented in a separate view (dialog in WinX, side panel in Xamarin) along with their matching probability. One can than select one object that should be opened in the content browser.
  3. if exactly one object is found, this object is directly opened in the content browser.

Search modes

UBIK® provides two modes for searching objects: online and offline.

Searching offline

In any case (regardless of the network connection and sync mode), UBIK® always goes through all the objects currently available on the device and find the ones that match the scanned results.

Searching online

When the Internet is avaiable and UBIK® is not running under offline mode, the search result is enhanced by online search. This means any objects that match the scanned results can be found even if they don't yet exist locally.

Multiple codes on a single object

It's possible have multiple NFC/RFID codes on a single object. This allows the same object to be found when you scan any of those codes. For such objects, the general scan and potentially the search behaviors are exactly the same as those with only a single code. For example, if an object with multiple codes is found when you scan one of the codes, it could also get unlocked.

Scan to input mode

Instead of performing object searches for scan results, UBIK® can also use the scan results as input for property value editing. In this so called scan to input mode, no searches are performed.

At the moment, there is no standard UI to control this mode. However, it can be easily customized. The two relevant properties are:

  • AppStatus.ToggleNfcScanToInput: Controls the scan to input mode. True to turn it on, false to turn it off so that it returns to the default scan to search mode. This value automatically resets to the default value false when a property edit session ends;
  • AppStatus.NfcScanToInputResult: The last NFC/RFID scan result while scan to input mode is on. This value gets automatically cleared when a property edit session ends.
IC Hint square.pngExcept on iOS, the scan to input mode doesn't override the overall NFC/RFID toggle (AppStatus.ToggleNFCScanning) which controls whether UBIK® should scan NFC/RFID tags. It's different on iOS simply because scanning is performed in a session in general and gets turned off automatically after a scan.

Classifications

In order for objects to be identifiable through RFID, they have to carry the SYSCLS OBJECTWITHRFIDTAG classification or (optional) the new SYSCLS OBJECTWITHRFIDTAGS Version 4.4.0.

The service query used for online searching is SYSCLS RFIDTAGSCANQUERY.

See also


WinX External Scanner

Since Version 3.6.0 - WinX it is possible to use external Bluetooth RFID Readers for Scanning RFID Tags.

Preliminaries

To use an external Bluetooth RFID Reader within UBIK®, the device has to be brought into the Bluetooth SPP (Serial Port Profile) Mode first. Check the manual of the device on how to do that. Once SPP is active, the reader has to be paired with the UBIK® host device. Afterwards it can be used for scanning RFID Tags.

RFID Configuration File

Information needed for communicating with an external Bluetooth RFID Reader are stored in a ".rfconfig file". This file has to be placed in the local RFIDConfiguration folder: {AppData}\LocalState\RFIDConfiguration\.rfconfig. The name of the ".rfconfig" file is irrelevant. The configuration file contains the following information:

Information Type Description
ScannerIdentifier String The Bluetooth Name of the RFID Scanner.
DefaultScanning Boolean (true,false) Specifies wheter scanning is active as default or not.
IgnoreReply Boolean (true,false) Some Scanners might send reply messages once a Blue-tooth Command was applied. If IgnoreReply is set to true, these messages aren´t used for further processing.
Substring String of format: x,y Extracts a substring of the scanned RFID Tag for further processing. x…index of the first character y… length of the substring
Replace String of format: x,y Replaces a character of the scanned RFID Tag for further processing. x…old character y…new character
StartCommands List of Strings List of Bluetooth Commands that are send to the RFID Reader when scanning is started.
ScanningCommands List of Strings List of Bluetooth Commands that are send to the RFID Reader when a Tag got scanned.
StopCommands List of Strings List of Bluetooth Commands that are send to the RFID Reader when scanning is stoped.

The ScannerIdentifier is typically the Bluetooth Name of the RFID Scanner. In some cases however it might deviate from the Bluetooth Name. The correct ScannerIdentifier can the be found in “Windows Settings>Devices and Printers>Right click on the Bluetooth Device>Properties>Services”. Bluetooth Commands are ASCII Strings which can be send to the RFID Reader in the SPP Mode in order to configure the device. These commands can be found in the documentation of the respective RFID Reader. Often they are terminated with a stop character like “\r”. An example of an .rfconfig file is given below. Note that elements of the configuration file have to be ordered alphabetically.

<?xml version="1.0" encoding="utf-8"?>
<RFIDConfiguration xmlns="UBIK.AR.RFID"
        xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <DefaultScanning>false</DefaultScanning>
        <IgnoreReply>true</IgnoreReply>
        <Replace>),=</Replace>
        <ScannerIdentifier>RNI-SPP</ScannerIdentifier>
        <ScanningCommands>
                <a:string>cw 0E,01\r</a:string>
        </ScanningCommands>
        <StartCommands>
                <a:string>cw 04,00\r</a:string>
                <a:string>cw 0E,01\r</a:string>
        </StartCommands>
        <StopCommands>
                <a:string>cw 0E,01\r</a:string>
        </StopCommands>
        <Substring>0,18</Substring>
</RFIDConfiguration>



Start Scanning

There are two possibilities to start scanning using the configured RFID Reader: Either scanning is active per default (see RFID Configuration) or by pressing the RFID Scan button in the GlobalAppBar.

NotConnected.PNG

When pressing the RFID Scan button UBIK tries to establish a Bluetooth connection to the RFID Reader. This is indicated by a Progress Ring on top of the RFID Scan button. If no connection could be established, the RFID Scan button falls back to its original state.

Connecting.PNG

If a connection was successful, the RFID Scan button appears toggled. Afterwards the StartCommands of the RFID Configuration are applied and UBIK starts to listen for Messages from the Bluetooth RFID Reader. That means one can use the application just as usually while UBIK® scans for RFID Tags in the background.

Connected.PNG

Scanning

Once scanning was successfully started as described above, UBIK is continuously listening for new Messages from the RFID Reader. When a RFID Tag gets scanned, the result is received and manipulated based on the RFID Configuration. If the Substring option is configured properly, a substring of the Message is extracted and used for further processing. If the Replace option is configured properly specified characters are replaced. Afterwards processing an action is triggered for the received Message. If a string editor is currently opened, the Message is written into the property field of the editor (Teach-In). Otherwise an object search is triggered. UBIK is then searching for Objects classified as SYSCLS OBJECTWITHRFIDTAG having the scanned content as the RFIDTag property value. Finally the ScanningCommands defined in the RFID Configuration are applied.

Stop Scanning

Scanning can be stopped manually by pressing the RFID Scan button in the GlobalAppBar or simply by switching off the RFID Reader. UBIK will notice the device got disconnected and will indicate so using the RFID Scan button state. If the RFID Reader is disconnected by pressing the RFID Scan button manually, StopCommands defined in the RFID Configuration are applied.

Troubleshooting

The RFID Scan Button is not visible. Check the following:

  • Is there a .rfconfig file in the specified RFIDConfiguration folder?
  • Is the .rfconfig file formatted properly?
  • Are the elements of the .rfconfig file ordered alphabetically?
  • Are the elements of the .rfconfig file of the correct type?
  • Is the RFID Reader running in Bluetooth SPP Mode?
  • Is the RFID Reader paired with the host device?
  • In the .rfconfig file, does the specified ScannerIdentifier match the Bluetooth name of the RFID Reader?


Its not possible to start scanning. Check the following:

  • Is the RFID Reader on and in the proximity of the host device?
  • Try to restart scanning by again pressing the button
  • Try to restart the RFID Reader
  • Try to restart UBIK


UBIK does not find any RFID Objects. Check the following:

  • Is the RFID Reader properly configured (Some readers need to get pre-configured using Bluetooth Commands in order to send scanned RFID Tags to UBIK – Check the manual)
  • Try to open a String editor and scan a RFID Tag. Is the scanned message as expected?
  • Are the Objects of interest classified as SYSCLS_OBJECTWITHRFIDCODE?
  • Are the Objects of interest properly configured (property value equals the associated RFID Tag)?
  • If no Online Query is defined, are the Objects of interest available locally?


Android (obsolete)

Availability:

Supported RFID Tags

There are three types of RFID markers supported by UBIK®:

Standard Tested Tag technologies
NfcA (RFID standard: ISO-14443A) EV1(MFOUL11), NTAG 216, NTAG 210, NTAG 213
NfcB (RFID standard: ISO-14443B) -
NfcV (RFID standard: ISO-15693) ICode SLIX(SL2S2002), ICode SLI(SL2ICS20)


NFC Scan Result Type

Depending on the NFC Scan Result Type setting, UBIK® can extract different types of information from a scanned RFID tag:

NFC Scan Result Type Comment
Identifier (Hexadecimal) Extracts the write-protected identifier of a scanned tag in hexadecimal form. The identifier is given by the manufacturer and can´t be manipulated.
Content (Hexadecimal) Extracts the raw content of a scanned tag in hexadecimal form. Not supported on the Getac Z710. NfcB tags are not supported.
Content (ASCII) Extracts the raw content of a scanned tag in ASCII form. Not supported on the Getac Z710. NfcB tags are not supported.
Content (NDEF) Extracts NDEF messages of type "Text" or "text/plain" from a scanned tag. Not supported on the Getac Z710.

Configurable start screen RFID button

In order to use this feature, a RFID scanning entry point is provided using a configurable start start screen button. The following xml shows an example start screen configuration including RFID scanning entry point:

          <StartScreenConfiguration>
            <Tab caption="Content">
              <ContentBrowserButton caption="Content Browser"/>
              <RFIDScanButton caption="RFID Scan" />
            </Tab>
          </StartScreenConfiguration>

Scanning an RFID tag

RFID button on Start Screen
RFID button on Start Screen
Scanning for RFID tag
Scanning for RFID tag

Once the RFID button in the start screen is clicked, the corresponding RFID scanner starts. The user is then able to scan RFID tags continuously.

Presenting results of a search

Searching for Objects
Searching for Objects
Displaying Objects
Displaying Objects
No corresponding Objects
No corresponding Objects

Once the ID of the tag is scanned, UBIK® starts searching for objects with the scanned RFID.

  1. During the search, the list might show a searching text before any objects are found;
  2. If any objects are found, they will be displayed in a list. The users can then browse to any of the objects for more information by clicking on the objects;
  3. If no objects are found, the list will show a corresponding text.

Searching Mechanism

UBIK® provides two mechanisms for searching objects: online and offline.

Searching offline

In any case (regardless of the network connection and sync mode), UBIK® always goes through all the objects currently available on the device and find the ones that match the scanned results.

Searching online

When the Internet is available and UBIK® is not running under offline mode, the search result is enhanced by online search. This means any objects that match the scanned results can be found even if they don't yet exist locally.




Technical background

In order for objects to be identifiable through RFID, they have to carry the SYSCLS OBJECTWITHRFIDTAG classification.

The service query used for online searching is SYSCLS RFIDTAGSCANQUERY.

See also