RFIDService/Release5.1.1
Jump to navigation
Jump to search
RFID Controller Version 5.1.1[edit | edit source]
r1381 2014-08-14
As part of a new initiative to keep better track of versions released to customers and in the field, we are going to be using the version field in the existing forkliftreader_linux service more. This release marks the first release where we are beginning this new scheme, starting with v5.1.1. Previously, we had released 5.1 somewhat arbitrarily 9 months ago, and the original 5.0 release was created with the first release of the Linux board. Using the version numbers more will help us organize features going into the RFID service. For this release page, only some major pieces are represented:
Features[edit | edit source]
- VRProto Support: this is a new binary protocol we developed initially for use over the CAN bus. It is similar in concept to the VR Reader Telnet API protocol (commands/responses/async events), but uses an efficient binary protocol based on Google's Protocol Buffers.
- This is planned to provide the transport interface for new devices going forward, including low-functionality CAN or serial devices (like switches or lights), new interfaces like USB or 802.15.4/ZigBee, and difficult features to use with a text API such as file transfer and command routing / device hierarchy. Since we are transferring serialized objects over the wire instead of text, parsing is non-existent and objects can contain much more detail.
- Device hierarchy: devices can be both CONTROLLERS (sending commands like RFID AUTO, STOP, receiving events) and DEVICE mode (receiving commands, doing work) at the same time. Together with a special mode for the Telnet API, this allows for compatibility with existing applications while taking advantage of the distributed networks available with the new connection support.
- A CAN bus transport is available for all devices that support CAN (Beaglebone, SurfaceReader / ShelfReader) using ISO-TP framing.
- A TCP server is listening for VRProto DEVICE mode commands on port 2121 by default. This is announced using zeroconf / multicast DNS + DNS-SD / Bonjour / Avahi for discovery of devices on the network.
- A TCP client interface is available in VRProto CONTROLLER mode to connect to the server above. This will soon be automated to provide connections to slave devices without any configuration required, similar to how it works with the CAN Bus.
- Auto Reader Sequencing can coordinate an RFID AUTO operation between multiple connected devices to fit in a power budget or to reduce RF interference.
- VR Serial Numbers are a required feature helping device management.
- An API is in development for using this from external applications.
- Unfortunately, the features available with VRProto are not so well-documented at the moment. We are working on that though.
- Location Manager client support, which queries an external server when checking for entry and exit authorization. This is used to prevent entry or exit at sites where the device is used for controlled / gated access.
- IPv6 support, needed for IPv6 link local zero-configuration mode so connections can be made with no network configuration necessary - in cases where there is no IP address set.
- Tyden Brooks tag strap support, an RFID tag we developed which stores the unlock/lock states of a security strap, and downloads its log when it comes into range of our reader.
Bugfixes[edit | edit source]
- Optional WAL mode and
PRAGMA SYNCHRONOUS = NORMALsupport for increased speed of internal sqlite3 database operations. This can fix an issue where Sqlite sync operations starve the process and cause increased latency, resulting in missed I/O events. - Various updates for the ThingMagic API used internally to talk to the ThingMagic module.
Other[edit | edit source]
- Merging the forkliftreader_linux_can_cont and any other branches back into the trunk, and releasing new versions from the trunk.
- This release also marks the official end of using the SVN revision number (r1381) to keep track of the service version, instead we will start referring to the build by the version number (5.1.1), reported by GET VERSION. Of course, the build metadata is still available in GET BUILD.