RFID-lukijoiden ja -tunnisteiden hyödyistä + Java SDK niitä varten

Standardoituihin viivakoodeihin voidaan tallentaa vähemmän tietoa kuin RFID-tunnisteisiin, sillä viivat itsessään veisivät liikaa tilaa useimmissa käyttötarkoituksissa. RFID-tunnisteiden etuihin sisältyy niiden suuremman muistikapasiteetin lisäksi myös se, että niihin tarvita suoraa näköyhteyttä lukijalaitetta varten (luettavuus jonkin läpinäkymättömän materiaalin läpi), sekä mm. pidempi lukuetäisyys ja useiden tunnisteiden samanaikainen lukeminen. Jo pelkästään se, että RFID-tunnisteet voidaan koteloida lukuisin eri tavoin ja niitä voidaan lukea useissa erilaisissa lukulaitteen asennoissa, monipuolistaa sovelluskohteita, pidentäen myös tunnisteiden käyttöaikaa jopa useisiin vuosiin. RFID-tunnisteita voidaan käyttää mm. tuotteiden ja asioiden havainnointiin, tunnistamiseen ja yksilöintiin. Teknologian toiminta perustuu tiedon tallentamiseen RFID- tunnisteeseen ja sen langattomaan lukemiseen RFID-lukijalla radioaaltojen avulla. RFID-tunnisteen muistin koko on standardista riippuen muutamasta tavusta muutamaan kilotavuun.

Tunniste ja lukija on suunniteltu keskustelemaan keskenään radioteitse juuri tietyllä taajuudella. HF (High Frequency) -taajuusalueella taajuus on standardin mukaisesti 13,56MHz, mahdollistaen käytännön lukuetäisyydet senteistä yhteen metriin (optimiolosuhteissa jopa 1,5 m:n etäisyydeltä), tosin standardista on useampia johdoksia kuten Philips Mifare, jossa lukuetäisyys on rajattu 3 – 4 cm:iin. Variaatiota tuo lisää se, että UHF (Ultra High Frequency) -taajuusalueella toimiva tunniste kommunikoi lukijan kanssa vastaanottamalla lukijalaitteen lähettämää sähkömagneettista säteilyä (radioaaltoja), kun taasen HF ja LF RFID-tunnistuksessa on on kyse induktiivisesta kytkennästä, jossa tunniste reagoi lukijan luomaan oskilloivaan magneettikenttään. RFID-tekniikasta on kerrottu tarkemmin RFID Lab Finland ry:n verkkosivuilla.

Jos tunniste sisältää pariston, lukijan ei tarvitse lähettää niin vahvaa signaalia tunnistetta lukiakseen, minkä lisäksi myös lukuetäisyys kasvaa. Lukijalaitteesta riippuen tunnisteen lukuasennolla voi olla enemmän tai vähemmän merkitystä. Tunnisteen lukijalaite voi olla kiinteäasenteinen tai kädessä/pöydällä pidettävä. Kiinteästi asennettuihin RFID-lukijoihin sisältyy tavanomaisesti mahdollisuus liittyy yksi tai useampi antenni, jolloin ne voivat, tietokoneohjelman tukemana, lukea ripeästi ja useita eri taajuuksia samanaikaisesti käyttäen. Euroopassa käytettävissä olevat UHF-taajuudet ovat välillä 865-868 MHz ja Pohjois-Amerikassa välillä 902-928 MHz. Kiinteästi asennetut RFID-lukijat voivat erota kädessä ja pöydällä pidettävistä malleista myös siten, että ne voivat saada virtansa Ethernet-liitännän kautta eli erillistä virtalähdettä ei välttämättä tarvita.

Erilaisia variaatioita sellaisten (kaikentyyppisten) RFID-lukijoiden välillä, joita toimintaa voidaan ohjata suoraan PC:llä, muodostuu myös siitä, kuinka ne kommunikoivat PC:n kanssa (USB, WLAN ym.), mikä käyttöjärjestelmä lukijassa on, saako niihin yhteyden jonkin Windows- tai verkkosovelluksen kautta, millä ohjelmointikielillä niiden toimintaa voidaan automatisoida, voiko niihin ladata sovelluksia, onko niissä näppäimistöä, minkälainen näyttö yms. Ehkäpä tärkein ero on kuitenkin siinä, mitä tunniste-standardien variaatiota ne tukevat. Esim. eräs lukija listaa spekseissään tukevansa seuraavaa: “compatible to all major HF chips from various suppliers like Atmel, EM, ST, TI, Infineon and NXP (incl. MIFARE DESFire / EV 1, Ultralight / C, Plus, etc.) ja toinen kertoo tällaista: “works with all Gen2-compliant (ISO-18000-6C) RFID chips. Verified with Alien, Avery Dennison, Impinj, TI, UPM Raflatac”

Esimerkkejä RFID-tunnisteiden hyödyistä

Motorolan RFID-lukijoiden esittelysivuilta on löydettävissä tapauskuvauksia, joista saa tuntumaa mihin RFID-tunnisteita voi hyödyntää. Esim. museoesimerkissä jokainen kävijä saa uniikin (mutta anonyymin) sisäänpääsykortin, joka sisältää RFID-tunnisteen. Jokaisessa museon huoneessa on useita kätkettyjä lukijalaitteita, jotka voivat lukea tunnisteet kaukaa ja triangularointi-tekniikkaa käyttäen, tallentaa tiedon siitä, kuinka monta ihmistä saapui johonkin huoneeseen ja kuinka kauan he seisoivat jonkin esille olleen teoksen äärellä. Tämä tieto kerätään reaaliaikaisesti tietokantaan. Sairaalaesimerkissä kerrotaan, kuinka kaikki yli 5 USD:n arvoiseksi arvotetut esineet merkittiin RFID-tunnisteilla ja sijoitettiin käytävien varsille lukijalaitteita ja antenneja, joiden avulla saatiin automatisoitua inventaarionhallinta ja tiedettiin aina missä mikäkin esine sijaitsi. Esimerkistä, jossa kerrottiin RFID-tunnisteilla merkityistä kengistä kenkiä myyvässä liikkeessä, on opittavissa, että myyjäliikkeen työntekijät kokevat erittäin mukavaksi sen, että RFID-tunnisteiden ja käsikäyttöisen lukijan käyttöönottamisen jälkeen ei enää tarvitse pelkällä katseella arvioida, minkälaisia kenkiä esittelytilasta puuttuu edellispäivän jäljiltä, eikä tarvitse käännellä esillä olevia kenkiä nähdäkseen, mikä sen valmistajan ilmoittama koodi on, vaan riittää kun osoittaa lukijalaitteella suunnilleen yksittäisiin kenkäpareihin päin ja käy ne siten pari kerrallaan läpi. Se mihin ennen kului runsaasti monen työntekijän työaikaa, eikä ollut ajankäytöllisistä syistä toistettavissa usein, oli nyt tehtävissä yhden työntekijän toimesta joka aamu. Kyse oli isosta kenkäliikkeestä ja kokonaisratkaisuun kuuluu myös kiinteästi asennettuja RFID-lukijoita, niiden ollessa sijoitettuna mm. myyntipisteiden äärelle. Käsikäyttöinen lukija mahdollisti myös geigermittarin tapaisen toiminnon eli lukijaa saattoi pyytää etsimään liikkeen sisältä tietyllä RFID-tunnisteella merkityt kengät, jolloin laite antoi sekä visuaalisia, että auditiivisia vihjeitä kenkien sijainnista.

Ohjelmistokehittäjän näkökulma

Ohjelmistokehittäjän kannalta erityistä merkitystä on sillä, kuinka helppoa näitä laitteita on ohjelmoida niiden ohjelmointirajapintojen kautta (jos niissä on sellainen). Läheskään kaikkiin malleihin ja merkkeihin ei ole saatavilla .NET- tai Java-ohjelmistokehityspakettia (SDK), mikä voi ryvettää mielenkiinnon sellaisten ohjelmoijan kohdalla, joka ei halua käsitellä laitteilla liian matalalla tasolla (bittien luennan tasolla), eikä halua opetella vielä yhtä uutta protokolla, jonka välityksellä ohjelmointi tapahtuisi. Jälkimmäisessä tapauksessa saattaisi tulla tarpeeseen käyttää jonkinlaista väliohjelmistoa (eng. middleware) kuten Microsoft BizTalk RFID:tä tai jotain muuta esim. seuraavilta valmistajilta: OatSystems, Oracle ja Xterprise. Jonkinlaista yritystä on ollut sen suhteen, että muodostuisi jonkinlainen yhteinen matalan tason protokolla eri laitteiden välille, viitaten LLRP:hen (Low Level Reader Protocol), mistä on saatavissa myös omat ohjelmistokirjastonsa mm. Javalle, Perlille, C:lle ja .NET:lle, mutta houkuttelevin ja luontevin vaihtoehto on usein se, että laitevalmistaja itse tarjoaa huolella ja laajasta dokumentoidun ohjelmistorajapinnan ja ohjelmistokehityspaketin olennaisimmille ohjelmistokehyksille/ohjelmointikielille, näitä ollen tavanomaisesti Java ja .NET. Yhteiskäytössä olevissa protokollissa voi ilmetä ajan kanssa se onngelma, että protokolla itsessään ei ehdi laitevalmistajan kehitystyön tahdissa, jolloin uudet mahdollisuudet jäävät sitä kautta saavuttamamattomaksi – varsinkin, jos kyse on avoimen lähdekoodin projektista, jossa kukaan tekijöistä ei saa palkkaa.

Seuraavassa on listattuna muutamia sellaisia RFID-lukijoita eri valmistajilta, joita on käytetty sekä tämän kirjoituksen taustatyön aikana tiedonhankinnassa. Eräissä niistä on se mielenkiintoinen lisämahdollisuus, että laitteeseen itseensä voi jättää ajettavaksi JavaScriptiä (täysin eri asia kuin Java), mikä tekee helpoksi lyhyiden skriptimäisten ohjeiden kirjoittamisen ja ajamisen esim. sellaisessa tarkoituksessa, jossa halutaan, että lukijalaite itsessään prosessoi RFID-tunnisteesta luetun tiedon ja lähettää lukijasta eteenpäin jossain itse valitussa formaatissa vaikkapa WLANin kautta.

Intermec IF2 Network Reader
Intermec IF61 Enterprise Reader
Intermec 70 Series RFID Computers
Intermec IP30 Handheld RFID Reader
Intermec Developer Resource Kits (Java ja C#)

CAEN RFID R4300P – ION
CAEN RFID A941MEI
CAEN RFID R1260I – SLATE
CAEN RFID SDK (Java ja .NET)

Mercury6
Mercury API (Java ja .NET)

IDENTIVE Multi-ISO HF Reader SDK (Java ja .NET, tulee IDENTIVE Multi-ISO High Frequency Desktop Readerin kera)

Orcanthus CL1356A
Orcanthus CL1356A JAVA SDK (Java)

Motorola FX7400 Fixed RFID Reader (API .NET:lle ja Javalle)
Motorola MC3190-Z Handheld RFID Reader

Alien ALR-9650 Smart Antenna RFID Reader (SDK Javalle ja .NET:lle)

Speedway Revolution UHF RFID Reader (SDK vain .NET:lle)
Speedway: Creating RFID Applications with Java (Java-ohjelmointia Java LTK:lla)
How can I to set the antenna power in java? (lyhyt koodivertailu virallisen SDK:n ja Java LTK:välillä)

LÄHTEET

RFIDLab Finland Ry: RFID-tietoutta

Leave a Reply