ExTime ja ImpinjListener


Tässä on linkki ImpinjListenerin zipattuun pakettiin Muutettu 14.6.2021 / JTu

Sisällys:
Taustaa
Asennukset
Käynnistys
Asetusarvoja
Takaisin ExTimen ohjeiden sivulle

Taustaa

Impinj:n lukija Speedway R420 on RFID-tunnisteiden lukija, se ei ole ajanottokello. Tämän laitteen ja ExTimen työnjakona on urheilijan tunnistaminen etäluettavan sirun avulla, aika on 'sivuseikka' ja ainakaan FIS:n hiihtokilpailuissa ajan ottaminen etäluettavaan siruun pohjautuen ei ole edes FIS:n sääntöjen mukaista.

Speedway R420 lukijaan voidaan liittää suoraan 4 erillistä antennia, kuvassa tuo vaalea neliö nojaamassa lämpöpatteriin ja hubin avulla yhteensä 32 (4 hubia, jokaisessa 8 antennia). Lukija pystyy käsittelemään 1100 tagia sekunnissa, joten teho riittänee ainakin pikku kisoihin.

Lukija kiinnitetään ExTimeä ajavaan työasemaan verkkokaapelilla, välissä on tietysti kytkin. Ja jos kytkin on PoE-piirteellä (Power over Ethernet) varustettu, laite ei edes tarvitse erillistä virransyöttöä.

Rakensin tälle lukijalle ensimmäisen tukipaketin erillisen ImpinjListener-ohjelman avulla. Säästämme 150 euroa lukijaa kohti, kun emme tarvitse tiedonsiirtoon laitevalmistajan Connect-ohjelmaa. Lukija on muuten edullinen ja kertakäyttöiset (voi toki käyttää monta kertaa) RFID-sirut myöskin ovat halpoja ja alan standardoitumisen takia ostopaikkoja löytyy useita.

ImpinjListener käyttää valmistajan laitekirjastoja, ne tulevat asennuspaketissa mukana. Lukija skannaa useamman kerran sekunnissa antennikentässään olevat RFID-sirut ja lähettää ne lukuohjelmalle. ImpinjListener:ssä on taulukko, johon RFID-sirujen numerot kerätään ja vain silloin, kun sirua ei löydy taulukosta, tai sen ensimmäisestä lukemisesta on kulunut annettu aika sekunteja, sen numero lähetetään ExTimelle. Menetelmä on siis First Seen. Antennien sijoituksella ja suuntauksella voidaan säätää, milloin siru tulee lukualueelle ja luetaan ensimmäistä kertaa. Se, mikä neljästä antennista havaitsi sirun, voidaan jäljittää aikakanavan avulla. Jokaiselle antennille voidaan siis laittaa eri aikakanava.

Taulukon koko on säädeltävissä. Sama siru voidaan lukea siis uudelleen, kun ensimmäisen luvun jälkeen taulukkoon on tullut niin paljon muita tunnistinnumeroita, että ne korvaavat aikaisemmin luetut numerot. Jos urheilijat ohittavat lukupaikan nopeasti, taulukon koko voidaan pitää pienenä, koska yhteen siruun ei ehdi kohdistua monta lukukertaa. Toki ExTime ymmärtää myös sen, että urheilija saa samasta pisteestä monta lukukertaa. Vain ensimmäisen lukukerran aika merkitään ajaksi tässä pisteessä.

Näytössä on myös aikalaukaisin sekunteina, siru on luettavissa uudellen tämän annetun sekuntimäärän kuluttua. Tunnistinnumeroita voi myös selata ja poistaa sieltä käsin haluttu tai lähettää tunnistin uudelleen ExTimelle. Myös koko lista voidaan poistaa kerralla, silloin ExTime saa taas kaikki lukualueelle tulevat tunnistin numerot.

Taustalukemista asiasta kiinnostuneille löytyy vaikkapa RFID-maailman määrityksistä. Impinj-lukijan valmistajan sivuilla on myös runsaasti RFID-lukijan käyttöönottamisen kehitystyökalulinkkejä.

Tässä esimerkkejä RFID-siruista, alla sirut tarrarullasta, josta niitä on helppo liimailla numerolappujen taakse. Sirun ympärillä on suojaava solumuovikerros, johon on painettuna sirun numero.

Oikealla puolella taas on vaikkapa ranteessa pidettävä siru, joka on laminoitu säätä kestävän muovin sisään ja jonka etupuolella on sirun numero ja maksajan, esim. hiihtohallin logo.

Ohjeen alkuun


Asennukset

ImpinjListener on ExTimen kanssa parina toimiva ohjelma, joka kuuntelee Speedway R420 RFID-lukijaa verkkoyhteyden kautta ja lähettää sieltä saamansa sirunumerot ja luentahetken ajan edelleen ExTimelle. Lukija voidaan avata ExTimessä joko ulkoisena laitteena tai ajat ja numerot voidaan käsitellä suoraan (kuten F10-näppäimellä). Lukija on pakko avata ulkoisena lukijana, jos ImpinjListeneriä ajavassa työasemassa ei ole lainkaan ExTimeä käytössä. ImpinjListener on tehty C¤:lla.

ImpinjListener vaatii toimiakseen Impinj tekemät DLL-kirjastot, kolme kappaletta. Nämä löytyvät samasta zip-paketista kuin itse ImpinjListener. Kaikki ohjelmapalikat kannattaa sijoitaa samaan kansioon ExTime.exen kanssa.

Impinj-lukijan käyttämä IP-osoite pitää olla selvillä ennen ohjelman käyttöä. Siihen on valmistajalla omat työkalunsa, siihen en puutu sen enempää. Testeissäni totesin kyllä, että välillä lukija ei vastaa pingaukseen, vaikka osoite on ihan oikein. Silloin lukija pitää 'herättää' selaimen avulla, siitäkin on valmistajan ohjeet olemassa. Samalla lukija kannattaa laittaa myös kisa-aikaan, se yksinkertaistaa lukijan tarkkailua. Lukijaa hallinnoidaan PuTTY-ohjelman avulla, hallinnan ohjeet löytyy valmistajan sivuilta. Ohessa kelloajan muutoksen ohje lukijan antamana.

Kisakäytössä kannattaa kyllä lukijan kelloaika korvata sillä ajalla, jolloin ExTime sai taginumeron tietoonsa. Väkänen paikkaan Aika on PC:n lukuhetki, ei lukulaitteen kellon, tämä Säädöt-valikon Asetusarvot-välilehdellä Tunnistimet. Alempana siitä lisää kuvan kera.

Ohjeen alkuun


Käynnistys

Ensin sinun tulee käynnistää ExTime ja avata kilpailutiedosto.

Heti perään voitkin käynnistää ImpinjListener-ohjelman, jolloin saat näkyviin alla olevan ikkunan. Jos kuitenkin käynnistit ImpinjListener:n ensin, on listassa kaikkien TCP/IP osoitteiden alla huomautus, että Muistaa käynnistää ExTime ja hakea yhteys. Nyt Teemun seura ei ole enää yllätys, jatkossa kuva vaihtuu.

Kaksi ylintä yhteystapaa, vasemman alaosan pallukoista (Lähetä vain taginumero, aika ExTimestä ja Taginumero ja aika suoraan ExTimelle) eivät tarvitse erillistä lukijan määrittelyä, taginumerot ja aika kulkevat suoraan ohjelmalta toiselle.

Alin tapa (Taginumero ja aika kellotapahtumana TCP/IP:llä) taas tarvitsee erillisen lukijan määrityksen. Lukija on avattava erikseen valikon Ajanotto/Ulkoiset laitteet kautta, laitteen nimi on Impinj R420, portti pitää olla tuo napissa mainittu 1444, työaseman TCP/IP-osoite taas näkyy napin Etsi ExTime alapuolella, esimerkissä siis 192.168.1.115.

ImpinjListener yhdistyy siis automaattisesti ExTime-ohjelmaan, jos se on käynnistettynä. Samalla ExTime saa lukijalta kelloajan merkiksi yhteyden muodostumisesta.

Näin alussa ImpinjListener:stä tukee vain yhtä lukijaa. Jos lukijoita on useampia, sitten täytyy käynnistää useampi ImpinjListener tai käyttää tuota TCP/IP yhteyttä.

Oikean reunan ylärivin nappien käyttö (Salli yhteydet (portti 1444), Sulje yhteys) on tarpeen vain silloin, jos ExTime ja ImpinjListener toimivat eri koneissa. Napin painalluksen jälkeen ImpinjListener alkaa toimia kuin ajanottokello, siis yhteystapa 3. Se kuuntelee lukijan tapahtumia ja lähettää niitä TCP/IP-yhteyden kautta ExTimelle. Sulje yhteys-nappi taas lopettaa lukijana toimimisen.

Aseta muistilistan koko-napilla asetetaan tarkkailtavien RFID-sirujen määrä, oletuksena 32 sirunumeroa. Jos kisa on pieni ja väliaikalähtökisa, listan koko voi olla hyvinkin pieni (3-5), vain muutama siru on kerrallaan lukualueella. Vaihda lukumäärä ennen muistilistan koon asetusta.

Lukija on erillinen verkkolaite, sen IP-osoite on asetettava ennen lukijan käynnistämistä, esimerkissä osoite on 192.168.1.124. Lukija käynnistetään napilla Aloita lukeminen ja napilla Lopeta luku lukijan lukijatoiminto sammutetaan, se näkyy lukijan valojen vilkkumisen päättymisenä.

Lukijan käynnistymiseen on varattava aikaa, se kestää noin 10 - 15 sekuntia. Avauksesta tulee kaksi ilmoitusta, ensin sen aloittamisesta ja sitten noin 10 - 15 sekunnin kuluttua joko iloinen homma OK tai surullinen timeout-ilmoitus.

Tuossa oikealla puolella selostettuja uusia rastittavia kohtia voi muuttaa lukijan ollessa käynnissä mutta ne pitää erikseen ottaa käyttöön napilla Ota käyttöön. Nappi aktivoituu, kun rasti merkataan tai otetaan pois.

Käytetyt asetukset menevät talteen tiedostoon ImpinjListener.ini, josta ne automaattisesti otetaan käyttöön ohjelman seuraavalla käynnistyskerralla. (Samassa kansiossa kuin ImpinjListener.exe).

Tässä uusimman version (kesäkuu 2021) kuvassa on kolme uutta säätöarvoa.

  1. Ylimpänä oikealla puolella on ruutu, johon voi laittaa jokaiselle antennille (lukijassa on neljä johtopaikkaa antenneille) oman aikakanavan koodin. Kuvassa ne ovat HIJK, kaikki merkit kirjoitetaan välittömästi peräkkäin. Oletuksena kaikissa on I, eli IIII. Ensimmäinen merkki vastaa ensimmäiseen johtopaikkaan laitetun antennin aikakanavaa.
  2. Aikakanavaruudun alapuolella on rastittava kohta Käytä 16 bitin lukuna (0-65535). Tämän avulla isoista sirunumeroista (yli 6 merkkisiä) voidaan käyttää lyhyempää versiota.
  3. Sen alapuolella on rastittava kohta Sirunumero on BCD-koodina. Joissain transpondereissa oli siruun printattu numero, esim 191, tallennettu sirun sisälle BCD-koodina binäärikoodauksen sijasta. Normaali tapauksessa merkkijono 191 (binäärikoodi hexana) tulkitaan luvuksi 1 * 256 + 9 * 16 + 1, eli kymmenjärjestelmän lukuna numeroksi 256 + 144 + 1 = 401, joka suuresti eroaa pinnassa olevasta koodista 191. Rastimalla BCD-koodin käyttö, merkkijono 191 tulkitaan kymmenjärjestelmässä 1 * 100 + 9 * 10 + 1 = 191, joka nyt vastaa pinnassa olevaa numeroa.

Listalla olevien sirujen numerot (kymmenlukujärjestelmässä)  nähdään Näytä lista-napilla ja lista voidaan tyhjätä Tyhjää lista-napilla. Tyhjäyksen jälkeen ovat kaikki sirut taas luettavissa. Siru on uudelleen luettavissa myös, kun sen lukemisesta on kulunut ruudussa Tunnistin säilyy listalla xx sekuntia annettu sekuntimäärä.

Listan vasemmassa reunassa on sirun/tagin/transponderin numero ja sen jälkeen laskuri, joka kertoo, montako kertaa siru on ehditty havaita. Aika on sirun ensimmäisen havainnon kelloaika, ja tämä on nyt lukijan käymää kelloaikaa, ei kisa-aikaa. Sekuntimäärä ajan jälkeen kertoo, montako sekuntia siru on ollut lukijan antennien tavoitettavissa.

Listalta valittu tapahtuma voidaan lähettää uudelleen ExTimelle napilla Lähetä valittu nykyajalla ja se poistetaan listalta napilla Poista valittu.

Nykyaika tarkoittaa työaseman kelloaikaa, ei enää lukijan aikaa. Ja kun yhteystavaksi on valittu se, että ExTimen lukuaika ratkaisee, niin silloin aika on napinpainalluksen kisa-aika.

Alimman ruudun lukema Lx: 1081 tarkoittaa, että lukija on lähettänyt sirunumeroita ImpinjListener:lle 1081 kertaa. Lukemaa päivitetään 5 sekunnin välein.

Tämä kuva on siis vanhan version kuva, syyskuulta 2020.

Ohjeen alkuun


Asetusarvoja

Laitteelta tulevat lukutapahtumat saavat aikakanavan I, näin siis nyt kun ImpinjListener tukee vain yhtä lukijaa. Oikeus muutoksiin säilyy minulla..

Ehkä asetusten uusi piirre (Aika on PC:n lukuhetki, ei lukulaitteen aika) kannattaa rastia päälle, jos aikaa aiotaan myös käyttää.

Rastiminen vaikuttaa sitten myös lukijan omiin säätöarvoihin, eniten oikealla oleva kuva.

Ohjeen alkuun


Mitä tästä lyhyestä ohjeesta puuttui tai oli huonosti sanottu ? Kommentoi.

Takaisin ExTimen ohjeiden sivulle