AdvanReader-70
Introduction
AdvanReader-m1-70
AdvanReader-m2-70
AdvanReader-m1-70 (enclosed)
AdvanReader-m2-70 (enclosed)
AdvanReader-70 features:
High flexibility:
1 port, 27 dBm maximum output power
2 ports, 30 dBm maximum output power
Onboard computer with fully open Linux OS
Multiple digital inputs and outputs with two analog inputs and one relay output
Can control 1:16 multiplexers
Small form factor
Acts as HID USB device
Powers up external devices: non-isolated power output: 5 V, 200 mA (DC)
With multiple LED indicators, on board and for external connection
On-board buzzer
AdvanReader-70 benefits:
High-performance: high output power and high sensitivity
Reduces time and cost of developing RFID systems
Can become your own reader, if you put your company logo on the enclosure
Download AdvanReader-70 datasheet
Getting Started
Helpful downloads:
Download Datasheet (see download files section)
Download User Manual (see download files section)
Differences over the AdvanReader-60
Please visit this link for more information.
These are the minimum steps to start using AdvanReader-70:
1. Connect antenna
Connect an antenna to AdvanReader port 1 with an RF Cable.
Never connect or disconnect an antenna while AdvanReader is ON. Always disconnect AdvanReader from the power supply when connecting/disconnecting antennas.
2. Power AdvanReader unit
Connect the AdvanReader to a power supply (Switch PoE, PoE injector, etc..) and wait until it beeps. It will take between 40 and 50 seconds to boot.
Using a PoE injector
Follow this diagram to connect AdvanReader-70 through a PoE injector:
USB maintenance cable
Whenever the USB maintenance cable is used, please make sure the boot sequence is as follows:
Power up AdvanReader-70 with the PoE.
Wait for the beep (between 40 and 50 seconds).
Connect the computer to the device by using the type B USB cable.
Configure the network interface according to your Operating system
The right boot sequence must be followed!
If the USB cable is connected at boot time, the system may not boot properly, and the RFID and other hardware may not be powered at all.
You can find more information on Direct USB connection page.
Non-isolated PoE enabled switches
When using PoE enabled infrastructure, it is possible to experience the ground loop issue.
The ground loop issue is caused by a ground loop connection between the devices through a PoE enabled switch.
The issue prevents the PoE negotiation process to be successful, and in turn, causes the devices to stop working, enter a restart loop, etc.
IN case you experience similar issues, please try:
Try using the supplied PoE injector
Try using a non-PoE enabled switch, or use a non-PoE enabled ports
Avoid connecting the devices cases together.
3. Configuration
Almost on any installation, it is required to adjust AdvanReader operation.
3.1. Discover Device
Configuration requires Ethernet access to the unit, as it uses a web application.
We need therefore to connect the AdvanReader unit to an Ethernet network and execute an IP discovery process. After the configuration process is finished, the Ethernet cable can be removed.
To be able to discover the AdvanReader IP address, use a PC in the same network as the computer.
Please see the discover devices for the 150/60 Series devices: series150/60-Discover-devices.
3.2. Enter AdvanNet Manager
The previous step will result in the IP that is assigned to the device. Let's named it <AdvanReader-IP-address>
Use a computer in the same network as the AdvanReader.
Open a Web Browser (Chrome or Firefox are required).
Go to the page: http://<AdvanReader-IP-address>:3161
Replace the <AdvanReader-IP-address> for the IP found in the discover devices.
Enter with the following credentials:
User: admin
Password: admin
Select the only device in the drop-down list, if it is not selected, and connect to it:
3.3. Read modes
AdvanReader has 3 different Configurations: Autonomous, Sequential, and Alarm mode.
A configuration can have different read modes:
1. Autonomous configuration:
AUTONOMOUS: In this read mode the RF engine schedules the antenna switching automatically amongst the available RF ports (1, 2, 3 or 4).
2. Sequential configuration:
SEQUENTIAL: In this read mode the RF engine waits for reading commands.
DYNAMIC_INVENTORY: See Dynamic Inventory Wiki page
3. Alarm mode configuration:
EPC_EAS_ALARM: The alarm recognizes EPC patterns to trigger appropriate events. This is the default read mode.
EPC_EAS_DISABLE: Disables the alarm pattern on each found tag.
EPC_EAS_ENABLE: Enables the alarm pattern on each found tag.
NXP_EAS_ALARM: The alarm recognizes the NXP EAS bit to trigger appropriate events.
NXP_EAS_DISABLE: Disables the NXP EAS bit on any found tag.
NXP_EAS_ENABLE: Enables the NXP EAS bit on any found tag.
SQL_EAS_ALARM: EAS mode that uses an SQL database.
EPCBULK_EAS_ALARM: EAS mode that triggers the alarms when several tags are read at the same time.
4. AdvanPay configuration:
ADVANPAY_PAYMENT: This read mode is used to read a tag and deactivate it. For example, if the EPC in your tags begins with 0x3036, AdvanPay can be commanded to change this value with a 0x1111 header and beep if it was successful.
ADVANPAY_RETURN: This read mode is used to read a tag and activate it. For example, if the active EPCs begins with 0x3036, AdvanPay will try to change the value of the tag to start with 0x3036.
ADVANPAY_READONLY: This read mode is used only to read the EPC from the tags.
3.4. Persist Configuration
Using the apply button only changes the runtime settings, in order to make those changes persistent follow the steps below:
Remember to apply the configuration.
Click the persist button (surrounded in red) to persist the configuration.
In this case, the AdvanReader will start with AUTONOMOUS configuration.
While changing the configuration, AdvanReader operation remains stopped.
In order to start it again:
Go to the monitor tab.
Press the start button
3.5. Monitor tab
Go to the monitor tab and press the start button. The result will be like the following:
Advanced Configuration
Power and Sensitivity
The power and sensitivity of the AdvanReader its already being set for the best performance but in the RF & Antenna Options tab can be configured for a more suitable performance. For more information about it look at this post: What-is-the-difference-between-Power-and-Sensitivity.
Antenna Configuration
Each antenna has its own configuration:
Reader port: The port where the antenna is connected.
Mux1 port: The multiplexor port where the antenna is connected.
Mux2 port: The multiplexor port where the antenna is connected.
Position: Static position for the antenna (x, y, z).
Location: String definition for the antenna.
Power: The power for the antenna (If empty it will use the Power saw in the previous chapter (Power and Sensitivity)).
Sensitivity: The sensitivity for the antenna (If empty it will use the Sensitivity saw in the previous chapter (Power and Sensitivity)).
There has to be an antenna connected in the configured reader port.
If an antenna is not configured, AdvanNet will not use it, even if it is connected.
Events & Actions
You can configure which actions will be the trigger in the available events. For example, the most used event is:
TAG_READ: This event is created when AdvanReader reads an EPC and, in this case, it will trigger a Speaker action.
TAG_READ_ANTENNA_1: This event is created when the antenna 1 of AdvanReader reads an EPC and, in this case, it will trigger a GPO action.
Once the changes are done, make sure to persist the configuration.
Change device IP
To change the IP visit Change device IP.
Networking
AdvanPay devices feature two different network interfaces:
Ethernet
Ethernet over USB (not available in initial revisions)
Ethernet interface
The Ethernet interface has two different 2 IP addresses:
Primary (user-defined): may be static or dynamic (DHCP). DHCP by default
Secondary: statically defined 172.31.61.2
The 172.31.61.2 is used for example whenever the Primary is configured in DHCP and there is no DHCP server available. The device would then be reachable through the Secondary IP address.
Ethernet over USB - USB COMM
Please connect your computer to the AdvanReader-70 USB COMM port.
This interface only has one static IP: 192.168.7.2
Follow the instructions here to configure the Host PC to use this interface
Serial over USB - USB CONSOLE
AdvanReader-70 features an extra communications interface useful for troubleshooting issues when all other cases aren't available or already have failed.
Please connect your computer to the AdvanReader-70 USB Console USB port and start PuTTy up.
Please notice that if you're using Linux you will need to run PuTTy as sudo. The device name will be of the likes of /tty/USBx being x a number
If you are running windows please check at your device manager the COM port number that appears when connecting the AdvanPay to your computer, you should look up for something like this:
The next step is setting up putty as follows choosing the correct serial line value
And clicking connect, the window that will appear can either show data or not, not showing data does not mean that the connection is a failure. Try writing keonn and pressing enter to see if the device echoes the keypresses and prompts for a password.
Features
Common Series 150 and 60 Series
Please visit Series 150 and 60 Series page
REST API development
See REST API development page.
Battery-assisted RTC
The AdvanReader-70 uses a battery to keep the time across reboots.
How date/time management works:
RTC date/time is loaded at the boot-up time
To avoid RTC drift, RTC date/time is updated periodically when NTP client is able to synchronize the time with Internet time servers
Time zone is OS dependent and it can be changed at any time
Access CSV log
All system activity is logged into a CSV file.
How the CSV system works:
Any read and events occurring during the system operation are registered into a CSV file.
The latency between a read or event happening and them being persisted into the CSVF file is less than 3 seconds.
Once the active CSV file reaches 3 MB, it is backed up and the active CSV file is emptied
Up to 30 backups exist, older backups are removed.
It is possible to adjust the CSV operation.
The CSV file can be accessed at any time:
Retrieve CSV log file accessing the URL (HTTP GET request)
http://{device_ip}:3161/system/fs/retrieveFile/AdvanNetCSVS
The CSV file is retrieved as an uncompressed file named
advansafe-100-tags.csv
The CSV file structure is self-explanatory. it contains events of the following type
TAG_READ: a read event of a tag
TAG_ALARM: an alarm has been detected. The ALARM event also specifies the type of alarm:
NXP_EAS: alarm due to NXP EAS bit.
EPC_EAS: alarm due to EPC pattern.
EPCBULK:_EAS: alarm due to bulk EPC read.
TAG_ALARM_ANTENNA_1
TAG_ALARM_ANTENNA_2
TAG_ALARM_ANTENNA_3
TAG_ALARM_ANTENNA_4
Available starting at firmware version 2.1.0-rc2
The size of the log file could grow up to 300 MBytes. It is very important to clear it out from time to time to avoid long download times.
Clear CSV log
To clear the internal CSV log file, access the URL (HTTP GET request)
http://{device_ip}:3161/system/fs/removeFile/AdvanNetCSVS
Access real-time data
All system activity can be accessed at real-time by listening at TCP socket port 3177.
The protocol used is very similar to HTTP and the message format is XML. The following is a sample of a message:
ADVANNET/1.0
Content-Length:488
Content-Type:text/xml
<?xml version="1.0" encoding="UTF-8"?>
<deviceEventMessage>
<type>deviceEventMessage</type>
<ts>1398285581922</ts>
<status>OK</status>
<event>
<class>com.keonn.device.impl.DefaultTagAlarmEvent</class>
<type>TAG_ALARM</type>
<typeclass>com.keonn.spec.event.DeviceEvent$EventType</typeclass>
<deviceId>AdvanSafe-m-100-eu</deviceId>
<epcs>3008029b5379cb0000000021</epcs>
<alarmType>EPC_EAS</alarmType>
</event>
<deviceId>AdvanSafe-m-100-eu</deviceId>
</deviceEventMessage>
Important characteristics:
Header always contains
ADVANNET/1.0: protocol version
Content-Length: length of the message
Content-Type: type of the message
There is an empty line between the headers and the start of the message.
Line separators are CRLF characters: this applies to header lines and the empty line between headers and content. The content itself (in case of TXT or XML type) may contain any form of line separator.
TAG messages
Possible TAG events that will be received are:
INVENTORY
<?xml version="1.0" encoding="UTF-8"?>
<inventory>
<type>inventory</type>
<ts>1424762478000</ts>
<status>OK</status>
<msg-version>2.1.0beta</msg-version>
<op>inventory</op>
<data>
<advanNetId>AdvanNet-instance-d0:5f:b8:ff:0b:c9--1</advanNetId>
<deviceId>AdvanReader-m4-150</deviceId>
<inventory>
<class>INVENTORY</class>
<deviceId>AdvanReader-m4-150</deviceId>
<size>1</size>
<timeWindow>-1</timeWindow>
<items>
<item>
<class>READ_EVENT</class>
<epc>3030029b5379cb0000000126</epc>
<ts>1424762477480</ts>
<deviceId>AdvanReader-m4-150</deviceId>
<data>
<class>TAG_DATA</class>
<hexepc>3030029b5379cb0000000126</hexepc>
<tid>2000348f7c14</tid>
<props>
<prop>RF_PHASE:104</prop>
<prop>TID:2000348f7c14</prop>
<prop>READ_COUNT:33</prop>
<prop>ANTENNA_PORT:1</prop>
<prop>RSSI:-24</prop>
<prop>TIME_STAMP:1424762477480</prop>
</props>
</data>
<locationData>
<class>LOCATED_TAG_DATA</class>
<epc>3030029b5379cb0000000126</epc>
<antenna>
<class>ANTENNA_DEFINITION</class>
<def>AdvanReader-m4-150,1,0,0,0,antenna1,1,0,0</def>
</antenna>
<location>
<class>LOCATION_DEFINITION</class>
<loc>antenna1,1,0,0</loc>
</location>
</locationData>
</item>
...
</items>
</inventory>
</data>
</inventory>
TAG_ALARM
<?xml version="1.0" encoding="UTF-8"?>
<deviceEventMessage>
<type>deviceEventMessage</type>
<ts>1398285445702</ts>
<status>OK</status>
<event>
<class>com.keonn.device.impl.DefaultTagAlarmEvent</class>
<type>TAG_ALARM</type>
<typeclass>com.keonn.spec.event.DeviceEvent$EventType</typeclass>
<deviceId>AdvanSafe-m-100-eu</deviceId>
<epcs>3008029b5379cb0000000021</epcs>
<alarmType>EPC_EAS</alarmType>
</event>
<deviceId>AdvanSafe-m-100-eu</deviceId>
</deviceEventMessage>
TAG_ALARM_ANTENNA_1
<?xml version="1.0" encoding="UTF-8"?>
<deviceEventMessage>
<type>deviceEventMessage</type>
<ts>1398285445702</ts>
<status>OK</status>
<event>
<class>com.keonn.device.impl.DefaultTagAlarmEvent</class>
<type>TAG_ALARM_ANTENNA_1</type>
<typeclass>com.keonn.spec.event.DeviceEvent$EventType</typeclass>
<deviceId>AdvanSafe-m-100-eu</deviceId>
<epcs>3008029b5379cb0000000021</epcs>
<alarmType>EPC_EAS</alarmType>
</event>
<deviceId>AdvanSafe-m-100-eu</deviceId>
</deviceEventMessage>
TAG_ALARM_ANTENNA_2
See TAG_ALARM_ANTENNA_1
TAG_ALARM_ANTENNA_3
See TAG_ALARM_ANTENNA_1
TAG_ALARM_ANTENNA_4
See TAG_ALARM_ANTENNA_1
TAG_ALARM_DISABLED
<?xml version="1.0" encoding="UTF-8"?>
<deviceEventMessage>
<type>deviceEventMessage</type>
<ts>1424762478112</ts>
<status>OK</status>
<event>
<class>com.keonn.device.impl.DefaultTagAlarmEvent</class>
<type>TAG_ALARM_DISABLED</type>
<typeclass>com.keonn.spec.event.DeviceEvent$EventType</typeclass>
<deviceId>AdvanReader-m4-150</deviceId>
<epcs>3030029b5379cb0000000126</epcs>
<alarmType>EPC_EAS</alarmType>
</event>
<deviceId>AdvanReader-m4-150</deviceId>
</deviceEventMessage>
TAG_ALARM_ENABLED
<?xml version="1.0" encoding="UTF-8"?>
<deviceEventMessage>
<type>deviceEventMessage</type>
<ts>1424762478112</ts>
<status>OK</status>
<event>
<class>com.keonn.device.impl.DefaultTagAlarmEvent</class>
<type>TAG_ALARM_ENABLED</type>
<typeclass>com.keonn.spec.event.DeviceEvent$EventType</typeclass>
<deviceId>AdvanReader-m4-150</deviceId>
<epcs>3030029b5379cb0000000126</epcs>
<alarmType>EPC_EAS</alarmType>
</event>
<deviceId>AdvanReader-m4-150</deviceId>
</deviceEventMessage>
SYSTEM messages
Possible SYSTEM events that will be received are:
ADVANNET_INFO
<?xml version="1.0" encoding="UTF-8"?>
<eventMessage>
<type>eventMessage</type>
<ts>1409827170979</ts>
<status>OK</status>
<event>
<class>com.keonn.advannet.impl.event.DefaultAdvanNetEvent</class>
<type>ADVANNET_INFO</type>
<typeclass>com.keonn.spec.event.AdvanNetEvent$AdvanNetEventType</typeclass>
<advanNetId>AdvanNet-instance-00:1e:8c:25:0c:43--1</advanNetId>
<deviceId>adrd-m4-100</deviceId>
<msg>Device[adrd-m4-100] started in mode: EPC_EAS_ALARM</msg>
</event>
</eventMessage>
ADVANNET_DEVICE_CONNECTED
<?xml version="1.0" encoding="UTF-8"?>
<eventMessage>
<type>eventMessage</type>
<ts>1398285635331</ts>
<status>OK</status>
<event>
<class>com.keonn.advannet.impl.event.DefaultAdvanNetEvent</class>
<type>ADVANNET_DEVICE_CONNECTED</type>
<typeclass>com.keonn.spec.event.AdvanNetEvent$AdvanNetEventType</typeclass>
<advanNetId>AdvanNet-instance-7c:66:9d:55:60:df--1</advanNetId>
<deviceId>AdvanSafe-m-100-eu</deviceId>
</event>
</eventMessage>
ADVANNET_DEVICE_DISCONNECTED
<?xml version="1.0" encoding="UTF-8"?>
<eventMessage>
<type>eventMessage</type>
<ts>1398285635331</ts>
<status>OK</status>
<event>
<class>com.keonn.advannet.impl.event.DefaultAdvanNetEvent</class>
<type>ADVANNET_DEVICE_DISCONNECTED</type>
<typeclass>com.keonn.spec.event.AdvanNetEvent$AdvanNetEventType</typeclass>
<advanNetId>AdvanNet-instance-7c:66:9d:55:60:df--1</advanNetId>
<deviceId>AdvanSafe-m-100-eu</deviceId>
</event>
</eventMessage>
Also several error messages can be received.
Embedded development
See the embedded development page.
Working with images
AdvanReader 70 Series uses an embedded Linux board with the required software for it autonomous operation. It is a flexible platform that can be extended.
The root user is required in some update steps. Please make sure to follow the guidelines as an improper use of the root user may cause the system to stop working.
All contents in the onboard memory will be erased by this process. make sure to back up any important data before starting this process.
This is a straightforward procedure:
Use a micro SD card of a minimum of 8 Gbyte and class 10:
When an SD is inserted, the system tries to boot from the SD first.
Prepare the micro SD that will be written into the onboard memory.
Must be a bootable SD. Only images provided by Keonn Technologies SL are supported.
The used space must not be larger than 3 GBytes
If the image provided by Keonn is in a compressed format (zip, tgz, tar.gz, ...), uncompress it first.
Flash the image by using:
Windows: use Win32DiskImager
Linux: there is no need to uncompress the image. Use a command similar to
sudo bzip2 -cd image.img.bz2 | dd of=/dev/sdb bs=128K
Insert the SD and power the device.
Make sure the device has started from the SD card. Check for
Files you know you have in the SD card only
Files you know you have in the eMMC memory only.
The size of the partitions: eMMC is 4 GB and SD cards may be larger.
Execute the command
sudo /home/keonn/bin/beaglebone-black-eMMC-flasher.sh
Creating an image of the on-board eMMC
Make sure to back up any important content on the onboard memory by some other means before attempting this process.
Follow the steps:
Prepare the micro SD that will be written into the onboard memory.
Must be a bootable SD.
Only images provided by Keonn Technologies SL are supported.
The used space must not be larger than 3 GBytes
Download the image file (links can be found at SD images)
Flash the image by using:
Windows: use Win32DiskImager
Linux: there is no need to uncompress the image. Use a command similar to
sudo bzip2 -cd image.img.bz2 | dd of=/dev/sdb bs=128K
Power off the board and insert the SD card.
Power the board. Make sure the board has booted up from the SD card
For example, checking AdvanNet version (if different)
Connect to the device by using SSH from an external PC.
Create an image of the eMMC direct to your PC
#sudo dd if=/dev/mmcblk1 bs=1M | ssh user@192.168.7.1 "dd of=/home/user/Desktop/adrd_Backup.img bs=1M"
Restoring an image to the onboard eMMC
All contents in the onboard memory will be erased by this process. make sure to back up any important data before starting this process.
Follow the steps:
Prepare a bootable SD. (see previous entry)
Power off the board and insert the SD card.
Power the board. Make sure the board has booted up from the SD card (see previous entries to verify this point)
Connect to the device by using SSH from an external PC.
Execute
#ssh user@192.168.7.1 "dd if=/home/user/Desktop/adrd_Backup.img bs=1M" | sudo dd of=/dev/mmcblk1 bs=1M
Power off the device and remove SD
Reboot.
Accessing the onboard eMMC from a bootable SD
Follow the steps:
Prepare a bootable SD. (see previous entry)
Power off the board and insert the SD card.
Power the board. Make sure the board has booted up from the SD card (see previous entries to verify this point)
Connect to the device by using SSH from an external PC.
Make sure the root partition is not mounted at /dev/mmcblk1p1. For example, run the df -h command. The output should be similar to:
keonn@AdvanReader-m2-60:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.7G 321M 1.3G 21% /
udev 10M 0 10M 0% /dev
tmpfs 100M 468K 99M 1% /run
/dev/mmcblk0p1 1.7G 321M 1.3G 21% /
tmpfs 249M 0 249M 0% /dev/shm
tmpfs 249M 0 249M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
Mount the /dev/mmcblk1p1
keonn@AdvanReader-m2-60:~# sudo mount /dev/mmcblk1p1 /mnt/
Access files in the internal eMMC always starting at /mnt. For example:
keonn@AdvanReader-m2-60:~# cd /mnt/
keonn@AdvanReader-m2-60:/mnt# sudo vi etc/network/interfaces
USB Driver Update
To update the USB driver in Windows for AdvanReader-70 series do the following:
1. Download the drivers.zip file in the download files section and extract the files.
2. Copy the following files (hidclass_keonn.sys, hidparse_keonn.sys, and hidusb_keonn.sys) in the drivers folder:
For Windows, the usual location is: C:\Windows\System32\drivers
3. Open the Device Manager, find the AdvanPay USB device and click on Update Driver option:
4. Click on the option to find the software on the computer:
5. Click on the option to pick from a list of drivers in the computer:
6. Choose the Have disk option:
7. Find the uncompressed driver folder and chose the input_keonn.inf:
8. Click Accept:
9. Click Next:
10. Click on the option to install the software:
11. When the operation is finished, there should be a device called USB Input Device Keonn:
Download files
Find the User Guide and other downloadable content below.