IP30 RFID Device

Note: The RFID features depend on the user purchasing a license for the RFID AddOn. To activate this feature, contact your Wasp representative. The tenant must have the RFID AddOn License and the user role must have permission (Users> Roles> Permissions> Mobile RFID Config).

Scan Parsing Rule

RFID Configuration Rule

Determining Asset Tag Value's Position and Length to update Scan Parsing Configuration Rule

Troubleshooting

 

Scan Parsing Rule

The following Scan Parsing Configuration XML is for for IP30 CN80 RFID device. it will work for most of the RFID tags in ASCII format.   

Note: In order to figure out the asset tag value's position and length, the position and length tag should be set to 8 and 48, respectively. Refer to the topic Determining Asset Tag Value's Position and Length to update Scan Parsing Configuration Rule

  1. Click on the Mobility > Scan Parsing Configuration.
  2. Enter the following Scan Parsing Rule.

<Rules>

  <Rule Name="Asset Rule 1">

    <Condition>

      <Type>Always</Type>

      <Length />

      <Position>0</Position>

      <Character />

      <InputField>AssetTag</InputField>

    </Condition>

    <Fields NumberofFields="1">

      <Field Field_ID="Field 1">

        <Action>Parse</Action>

        <!--  Repeater refers to the character that is repetitive and padded along with

                      actual data. mode refers whether padding is at the beginning or at the end.-->

        <Repeater mode="prefix">0</Repeater>

        <Delimiter />

        <Position>25</Position>

        <Length>8</Length>

        <!-- If tag value is in hex, convert it into ASCII

                    Conversion will be done if this tag is set to 1-->

        <Conversion>0</Conversion>

        <Prefix />

        <Postfix />

        <InputField>AssetTag</InputField>

      </Field>

    </Fields>

  </Rule>

</Rules>

Note: The line <Repeater mode="prefix">0</Repeater> this cuts off leading zeros if there are any, so it will need to be updated, if your RFID tags have leading zeros

  1. Save the Rule.
  2. Follow the steps described in the topic - Steps to use RFID in Mobile Application.

 

RFID Configuration Rule

  1. Click on the Mobility > RFID Configuration.
  2. Click on the dropdown arrow next to RFID Configuration. Select the IP30 RFID Rule.
  3. Enter the following rule.

Note: For IP30 RFID device only (not applicable for other devices) - The UUID should be updated in the RFID rule for the IP30 device. Make sure to update the Serial Number and MAC address in the RFID rule.  If not updated, the white scanner icon will not change to yellow.

Sample RFID Rule:

<?xml version="1.0" encoding="UTF-8"?>

<Device type="IP30" profile="IP30 WareHouse">

    <!-- To be enhanced to include more connection types like Bluetooth Connection, UART, RS232, ... based on examples -->

    <Connection type="BluetoothConnection">

        <DeviceIdentifier>

            <!-- Allows identifying devices at runtime based on configuration properties | use one or more to identify a device -->

            <Identifier name="Name">IP30-25411475002</Identifier>

            <Identifier name="UUID_service">00001101-0000-1000-8000-00805f9b34fb</Identifier>

            <!-- Reserved tags. this will be used in future for different device config-->

            <Identifier name="Mac_addr"/>

            <Identifier name="Type"/>

            <Identifier name="UUID_read"/>

            <Identifier name="UUID_write"/>

            <Identifier name="UUID_pass"/>

        </DeviceIdentifier>

        <Attributes>

            <Param name="insecureConnection">false</Param>

            <Param name="withPortTrick">false</Param>

        </Attributes>

        <Config>

            <Param name="Range">30</Param>

        </Config>

    </Connection>

    <StreamProcessor type="DelimiterPrefixPostfixProcessor">

        <CheckSum>

            <!--Default factory configuration params-->

            <!-- Reserved tags. this will be used in future for different device config-->

            <Param name="mode"/><!-- header_count|header_append|datastream-->

            <Param name="delimiter"/>

            <Param name="offset"/>

        </CheckSum>

        <DataParser>

            <!--This is used to distinguish tags from other messages received from reader-->

            <indicator>EVT:TAG</indicator>

            <!-- Specify which rule name from scan parsing xml should be used when parsing RFID tags-->

            <parseRule>parse_rule</parseRule>

        </DataParser>

    </StreamProcessor>

    <MessageProcessor type="IP30MessageProcessor">

        <!--Command terminator to be added at the end of out stream-->

        <!--Carriage return (\r) and Line feed (\n) in hex representation. Xml parser will convert

        back this to \r\n. Without this representation, terminator value will be incomplete-->

        <Message type="Outbound" name="Terminator" value="&#xD;&#xA;"/>

        <!-- Outbound mmessage tags have sub-command nodes, multiple commands can be sent in case specific devices require them -->

        <Message type="Outbound" name="Init">

            <!--Attributes to initialise device-->

           <Command>ATTRIBUTE SESSION=267</Command>

            <Command>ATTRIBUTE RPTTIMEOUT=05E</Command>

            <Command>ATTRIBUTE IDTIMEOUT=10056</Command>

            <Command>ATTRIBUTE ANTTIMEOUT=5080</Command>

            <Command>ATTRIBUTE SCHEDULEOPT=182</Command>

            <Command>ATTRIBUTE INITIALQ=4A0</Command>

        </Message>

        <!-- Inbound mmessage tags don't have sub-command nodes -->

        <!--Scan start notification message-->

        <Message type="Inbound" name="Start">READ TAGID REPORT=EVENT60</Message>

        <!--<Message type="Inbound" name="Start">READ str(1:4,12)14</Message>-->

        <!--Command to start reading the tags-->

        <Message type="Inbound" name="Pull">TRIGGER TRIGPULL</Message>

        <!--Scan end notification message-->

        <Message type="Inbound" name="Release">TRIGGER TRIGRELEASE</Message>

        <!--Command to stop reading the tags-->

        <Message type="Inbound" name="Stop">READ STOP82</Message>

        <!-- The following messages represent the various ranges that can be controlled via the UI | these are outbound -->

        <Message type="Outbound" name="Range" value="30">

            <Command>Attrib fs=30dbC5</Command>

        </Message>

        <Message type="Outbound" name="Range" value="15">

            <Command>Attrib fs=15dbC8</Command>

        </Message>

        <Message type="Outbound" name="Range" value="5">

            <Command>Attrib fs=5db97</Command>

        </Message>

    </MessageProcessor>

</Device>

  1. Click on the Save button to save the rule.

 

Determining Asset Tag Value's Position and Length to Update Scan Parsing Configuration Rule

In the Scan parsing rule (in web) the position and length should be set to 8 and 48, respectively to figure out the asset tag value's position and length. After setting this value, login to the Android device. Open any transaction page (for example - Checkout screen) and place the cursor on the Asset tag field. Try to scan the RFID tag, an error message will appear where you can view the full RFID code from the asset tag value. It will help in determining the type of asset tag and asset tag value's position and length.

 

Consider the following examples to determine the asset tag value's length and position:

 

  1. When the ASCII asset tag value is 8 characters long - Consider the following asset tag value

H00000000000000000A100822 HE2003412 34

 

  1. When the ASCII asset tag value is 10 characters long

By following this method, all the ASCII asset tag value less than 10 characters can be parsed correctly.

 

Troubleshooting

Android Application

 

Also, refer to the following topics for more details:

Radio Frequency Identification (RFID)

RFID Configuration

Scan Parsing Configuration