AdvanNet

Introduction

AdvanNet is the low-level SW running embedded in all Series 60 and 150 reader and derived systems.

AdvanNet controls the hardware and also add some higher level services:

An important module of AdvanNet is what is commonly called AdvanNet Manager: the configuration and test web application. A web application used to:

After using the AdvanNet Web UI (AdvanNet Manager) it is important to close any open tab.

This way we will ensure:

 Download the required files:

Features

HTTPS

HTTPS is available at versions:

In order to enable the HTTPS method

1. Go to Services tab and configure AdvanNetR.estService

2. Save current settings

3. Reboot device

Configuring the AdvanNetRestService to enable HTTPS

HTTPS Certificate fingerprint

As the certificate is a self-signed certificate, it will not be automatically trusted by the web browser.

Please verify the fingerprint of the certificate matches with the following values

B9:5D:1B:3F:08:91:97:3B:53:32:44:15:38:47:1A:5F:AF:CE:27:75:AB:F4:34:76:DB:B4:88:6C:D9:6D:44:F2:3D:0C:7B:21:C6:3A:10:7C:8C:81:20:FB:F9:CD:AD:01:95:7F:10:36:B2:DA:6C:11:06:DB:D5:1E:43:10:F1:58

32:A6:FD:1E:74:11:76:D8:CE:4E:73:7B:6D:AB:A1:53:4A:D1:68:E3

F9:C1:A3:20:5D:F6:BB:F9:E0:FB:4C:66:68:9B:76:11

The fact the certificate is self-generated means the browser will not recognize it. In order to connect a security exception must be added:

Note: because of limitations imposed by most browsers enabling HTTPS will render the UI unusable.

TCP Socket 3177

AdvanNet offers a channel for real time access to all Events that occur on the reader in the form of the TCP port 3177. On this port AdvanNet sends all kinds of information related to the reader operation including but not limited to:

In the past and by default the data was served in XML but it is recommended to change it to JSON via a quick API call: issuing a PUT to http://ip/system/parameter/COMM_TCP3177_ENCODER  being the accepted values: XML_V2_3, JSONV2 and JSONV3. XML is the old format that we all know and love. JSON* modes provide info in JSON format being JSONV3 shorter than JSONV2.

The data published has this general format:

ADVANNET/1.1

Content-Length:<length>

Content-Type:<content-type>


<payload>


Where Content-Length is the length of the payload in bytes (including new-line characters), the Content-Type can be either text/xml or application/json.

Payloads are (version field can be v2 or v3):

GPI:

{"type":"gpi","ver":"<v2/v3>","id":"$","ts":$,"devid":"$","data":{"line":$,"lowToHigh":$,"duration":$}}

TAG_ALARM:

{"type":"alarm","ver":"<v2/v3>","id":"$","ts":$,"devid":"$","data":{"type":"$","epc":"$","tid":"$","port":$}}

TAG_DIRECTION:

{"type":"direction","ver":"<v2/v3>","id":"$","ts":$,"devid":"$","data":{"epc":"$","direction":$}}

TAG_READ (v2):

{"type":"inv","ver":"v2","id":"$","status":"OK","ts":$,"devid":"$","data":{"epc":"$","uri":"$","usermem":"$","port":$,"mux1":$,"mux2":$,"rc":$,"rssi":$,"freq":$,"phase":$,"gpi":"$","loc":$}}

TAG_READ (v3):

{"type":"inv","ver":"v3","id":"$","status":"OK","ts":$,"devid":"$","data":{"epc":"$","port":$,"rssi":$,"loc":$}}

ETC:

{"type":"event","ver":"<v2/v3>","id":"$","ts":$,"devid":"$","data":$}

Every second the reader will send a header with an empty payload to signal a keep alive message.

As of May of 2018 the required method to close the socket connection from the client side is by issuing a RST message.

To connect to the port 3177 to troubleshoot connectivity you can do it either using the linux terminal with (package netcat) and the command:

nc <ip> 3177

or using putty:

Export session read tags to CSV

It is possible to export the read tags from a work session. All reads tags between a start and a stop operation.

 Start RF operation, read the desired tags and stop RF operation. Then click the CSV button to download the CSV file.

Writing tags

Write operations in AdvanReader are not intended to be used in automated tag writing processes.

When using multiplexers, the reader needs more power to compensate for the attenuation caused by the multiplexer.

From here it is possible to access the following actions:

Tag commissioning

Write operations in AdvanReader are not intended to be used in automated tag writing processes.

When using multiplexers, the reader needs more power to compensate for the attenuation caused by the multiplexer.

In order to commission a tag

Advanced Tag operations

On the Tag information (write) pop-up, clicking on Go to advanced memory access... takes to a new pop-up window with access to low-level tag memory operations.

From there you have complete control on reading/writing tag memory areas.

On the capture above, you can see TID memory access.

Read TID memory

Reading TID memory is straightforward but requires finetuning as it can't be automated. 

Configure an offset 0 and length 4 (like in the picture) and start reading increasing the length until an error appears, then try the last length it worked, if 4 doesn't work start at length 3.

Read RESERVED memory

The RESERVED memory contains the Access and Kill passwords:

To read the contents of the RESERVED memory:

To reliably write tags it may be necessary to adjust the read and write power in RF & Antenna options.

Tag write operations fo require the tag to be placed close to the antenna. Ideally, the tag should be placed at some few centimeters from the antenna

Estimate location

Read Estimation location page.

Enable/Disable autostart

The autostart feature allows a system to automatically start the RF operation after a reboot.

Keep always running

Available in AdvanNet-2.3.17_08 or higher versions

The keep always running feature makes sure the device is started after being stopped for 5 minutes, no matter the reason.

It's useful to have it active on an unsupervised device to avoid unscheduled down times.

In Sequential modes, the keep always running is not enough to ensure the device keep doing inventories.

Please see next point.

Automatic start in Sequential mode

Sequential mode expects read commands to trigger RF operation. When using AdvanNet web Manager, the monitor tab issues those commands, giving us the false idea that the system is reading autonomously. For production system this is obviously not possible.

It is possible to configure the Sequential read mode to internally do those queries for you.

In case this option is not available you may require a SW upgrade.

EPCGen2 Alarm

All read modes support settings an EPCGen2 filter:

Go to the Read modes tab and set the EPCGen2 filter configuration. 

In this example i want to filter the tags that start with "3036". Since i filter 4 numbers in hex, mask length will be 16 bits long.

EPCGen2 Alarm (multiple patterns)

It is also possible to have multiple alarm patterns:

Multiple patterns can only be implemented by using the SW filter option (the ReadMode has to be Alarm Mode)

The mask definition is a JSON string. For example:

@json=[{"mask":"0xAAAA","epcoffset":"58","bitlength":"16"}, {"mask":"0x0000", "epcoffset":"0","bitlength":"16"}]

mask: hexadecimal pattern. Must be a multiple of two characters

epcoffset: is the bit offset starting at the EPC code. To start comparing at the beginning of the EPC, just set it to 0. 

bitlength: bit length of the comparison

It is possible to compare any number of bits.

For example to compare against a pattern that:

@json=[{"mask":"0xFF","epcoffset":"2","bitlength":"1"}, {"mask":"0xFF", "epcoffset":"6","bitlength":"1"}]

2. Once the configuration is correct, apply the configuration by clicking in the Apply config button:

3. Once the configuration is correct, persist the configuration by using the "Save" button

If the configuration is persisted, the changes in the connectors.xml file may not be applied.

Regex filter

AdvanNet-2.3.18 or higher is required

The filter allows setting a mask to tell what tags you want to get answer from.

It is possible to use regular expression to filter based on EPC.

The filter implements the full regex filter based on the syntax defined by Java 8

https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html

For example, in order to filter tags that start and end in 0, use

@json={"regex":"^0.*0$"}

hardware filter

AdvanNet-2.3.18-09 or higher is required

If you want to combine the power of filtering using the EPCGen2 standard filter with the flexibility of software filtering by setting a a mask much like multimask but with the parameters:

@json=[{"hwmask":"0x30","hwepcoffset":"0","hwbitlength":"8"}]

Only one hardware filter is allowed!

The filter logic is: passes hwfilter AND (passes swfilter1 OR swfilter2... OR regex1 OR regex2...)

Serial Filtering

In some environments and systems it is better to filter via the Serial part of the RFID tag memory. This way the EPC conversion to EAN13 is not affected.

To configure an alarm filter for the serial section, set the Mask offset (bits) to 90 or more:

Changing Session and Target

BY default all readers and systems are pre-configured to work in S1/A

See what Session and Target means on the FAQ page

In AdvanNet Manager it's very easy to change these EPCGen2 parameters

Two of the most useful combinations are

Configuring a S1 target and an A session

Configurin an S0 target and an AB session

Changing Region

To change the region of a Keonn reader/system:

Remote control of the GPO, buzzer and speaker

Read Remote control page.

Reading TID

Read Read TID page.

Read modes

Autonomous Track Missing

EAS EPC Bulk Alarm

EAS SQL Alarm

EAS HTTP Alarm

Dynamic Inventory

Services

Services are located under AdvanNet's Services tab:

Find below the list of available services:

HTTP Service

SQL Service

MQTT Service

USB HID Service

AdvanNet Rest Service

Advanced features

Off intervals

Read Off intervals page.

Read trigger

Read Read triggers page.

Tag direction estimate

Read Tag direction estimate page.

For AdvanNet-2.5.x branch, please visit the new Tag Direction Estimate page

Export/Import settings

Read Export/Import settings page.

RF port return losses

Read Ports return losses page.

Emulate reads

Read Emulate reads page.

AdvanNet Manager UI customization

Read UI customization page.

AD Filter

Read AD filter page.

Change Device ID

Read Change Device ID page.

Exporting to an External database

Read Export to external database page.

Exporting inventory to an external server

To export an inventory in JSON format, read Export inventory to external server page.

Adding configuration options to connectors.xml

Read Advanced configuration page.

User management

Read user management page

Data Analysis

Read theTag reading analysis page

AdvanNet versioning

AdvanNet uses the following versioning scheme:

Current Stable branch

AdvanNet-2.5 is the current stable branch.

This is the branch used in most of the readers and systems using AdvanNet

Next Stable branch

AdvanNet-2.8 will be the next stable branch.

Latest AdvanNet version

To update advannet you can do so following the instructions here.

AdvanNet Policies & Other

Policies

Please see the detailed explanation here

Use of Cryptography

Please see the detailed explanation here

FAQ

AdvanNet FAQ

Download files

Find the User Guide and other downloadable content below.