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:
REST API
HTTP Service
SQL Service
Etc.
An important module of AdvanNet is what is commonly called AdvanNet Manager: the configuration and test web application. A web application used to:
Test the readers and systems
Configure the readers and systems
After using the AdvanNet Web UI (AdvanNet Manager) it is important to close any open tab.
This way we will ensure:
There is no additional workload added to the reader/system
We will avoid having unnecessary open connections to the reader/system.
We will avoid any misbehavior of the web UI affects the normal reader operation
Download the required files:
The AdvanNet Manager User Guide (Download chapter)
The AdvanNet API REST Reference Guide (Download chapter)
Features
HTTPS
HTTPS is available at versions:
2.3.18-7 for systems running with 2.3.x branch
2.5.1 for systems running with 2.5.x branch
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
SHA-512:
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
SHA-1:
32:A6:FD:1E:74:11:76:D8:CE:4E:73:7B:6D:AB:A1:53:4A:D1:68:E3
MD5:
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:
Inventory data
Events
Keep alive messages
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.
RF operation must be stopped.
To be able to save changes into the tag, the tag has to be in the antenna's range.
From here it is possible to access the following actions:
Write tag with/without access password
Tag commissioning
Kill operation. Common error codes:
No tags found (1024): tags cannot be read as the required previous step of the kill command
Kill failed (1038): this mainly indicates an internal error executing the kill command: kill password is wrong and others
Other Gen2 error (1056): this mainly indicates the tag does not have a kill password defined
The gen2 tag has insufficient power (1067): this mainly indicates the tag is in a position where it can be read but that not have the required energy for write/kill operations.
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
Write the new EPC, or the same EPC read
If existent, type the existing access password
Type the new Access password.
If necessary, type the desired Kill password
Click the Write EPC button
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:
0 - 31 bits: Acces password (2 words)
32 - 63 bits: Kill password (2 words)
To read the contents of the RESERVED memory:
Go to Advanced Tag operations
Select RESERVED in the Memory Bank drop-down list
Define an offset of 0 words
Define a length of 4 words
Set the access password in the password field
Click on Read memory Data button
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.
In Read modes tab, if SEQUENTIAL mode is selected, go to Event settings. There you can enable "Guess location".
If desired, persist configuration by using the Save button
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.
Enable the Read automatically option
Apply settings
(optionally) Persist settings by using the "Save" button
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.
Mask offset (bits): The nth leftmost bit of the EPC to be compared with the mask (32 is the first).
Mask length (bits): How many bits of the mask value use (Starting from the left most).
Filter mask (hex): Value to compare against the tag's EPC.
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:
The bit at the third position is 1
Or the it at the seventh position is 1
@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$"}
^0 means to match a 0 at the start of line
.* means any content
0$ means a 0 at the end of line
This will work regardless of the epc length
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
Session 1
Target A
See what Session and Target means on the FAQ page
In AdvanNet Manager it's very easy to change these EPCGen2 parameters
Open the RFID tab
Select the right Session and Target combination.
Apply changes and if desired persist changes using the "Save" button
Two of the most useful combinations are
S1/A
S0/AB
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:
Open the RFID tab
Choose between the different Region options:
Click on "Save" to persist changes when the device is rebooted
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:
Complete version number has the form: 2.3.17
2 is the major number
3 is the minor number
17 is the revision number
Stable versions always has an odd revision number: 2.1.x 2.3.x 2.5.x, etc
Development branch always have an even revision numbers: 2.2.x, 2.4.x, 2.5.x, etc
Branch 2.2.x is de the development branch of the stable 2.1.x branch
Etc
Changes in development branches are periodically merged into the stable branch
Changes in 2.4.x are merged into branch 2.3.x to producte a new release of the 2.3.x branch
Changes in 2.6.x are merged into branch 2.5.x to producte a new release of the 2.5.x branch
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
Download files
Find the User Guide and other downloadable content below.