Home
Design of a RFID reader controller Final Report
Contents
1. 10 Vocabulary definitions s os a RE THREE ER EUER kam en ee ea a 12 CONTEXT PRESENTATION eesresesevevnveneenenneeneenesnnsnnsnnennenneenennennnenevnnssnsnnennenneenennennnennvnnennennennenneeneen 14 UNIVERSITY OF OTTAWA st in testet tete e GAGALING ARLAN 14 SCHOOL OF INFORMATION TECHNOLOGY AND ENGINEERING eene enn eene 14 CONTEXT OF THE PROJECT et 15 PROJECT SPECIFICATIONS NAA 17 PROJECT DEVELOPMENT neeveosvevvevvenvevnennenneenennevnnenesseennennennennnnnennennennennsnnennenneenenneennennennenneenennener 18 COMPARATIVE ANALYSIS OF RFID SIMULATORS rss 18 Ce a so EEE RP eats eae eset 18 DINUGO IR ER 18 CONCLUSIONS S RE htt a dt LL d dM M 24 EPOD 25 Reader Operation Section 26 Reader Device Capabilities Section sise 28 Reader Device Config Section ii uptime nt sr P Uii rh e ir ie eee 29 CONTROLLER DEVELOPMENT 0300s nn 3NG telnet einem teen rie amant De ERROR ER E eura 29 Introduction to LLRP Basic controller for one reader ss 30 Basic controller for two readers sise 32 Complete controller for two readers or more sise 35 FINANCIAL ESTIMATION ssssennennnnnenenenenenenenenenenenenenenenenenenenensse 39 CONCLUSION inp kasesa sisia 40 APPENDICES et h BAD 41 APPENDIX USER MANUAL retten tritt ette tener eine tbi toe GA ma rest in e t re pei ptite roin
2. Figure 20 Form to set up a new ROSpec Design of a RFID Controller Page 43 of 64 The configuration shown on the figure above will set up a ROSpec with an Antenna Inventory Spec which will last 3sec without tag filtering and with a priority of 3 After clicking on the Add button this window closes the ADD_ROSPEC message is send the ROSpec id added in the list and the Enable button is available Connection Achons ROS pec Succestuly added SUUM Enable ROSpee Statt ROSpec EN Disable ROSpec Delete ROSpec Delete All ROSpec Delete All Reader Information Firmware version Max antennas 0 Manulacturer Name 0 Model Name 0 GPI avaiable Fake GPO avaiable Fake Avalable Readers Reader Operations Tag Antenna inventory Tado Figure 21 New ROSpec Added Enable the ROSpec by clicking on the Enable button then start it by clicking on the Start button After 3 seconds the time that we configured and we created the ROSpec the controller receives a report from the reader and all the tags appear in the tag list RFID Controller ng Connection Actions ROSpec Succestuly added 2F BEE 48900950 4060D 2FD806 27706 23080 23788 134318DC Add ROSpec Enable ROSpec Status M Success 2F07ADF5675 32544690 24077 Status Connected 2F CEAEBSC27DSFEE 74C361F Enable ROSpec Start ROSpec Status M Success Stant ROSpec 2FF DCEA 704082473 2SQC7 1AE DF SISZE 6SE D S508 Stop ROSpe
3. lt HasUTCClockCapability value false gt lt DeviceManufacturerName value 0 gt lt ModelName value 0 gt ReaderFirmwareVersion value LLRP Readerl 4 gt lt ReceiveSensitivityTableEntry gt lt Index value 0 gt ReceiveSensitivityValue value 0 gt lt ReceiveSensitivityTableEntry gt lt GPIOCapabilities gt lt NumGPIs value 0 gt lt NumGPOs value 0 gt lt GPIOCapabilities gt lt PerAntennaAirProtocol gt AntennaID value 1 gt lt ProtocolElement value 1 gt lt PerAntennaAirProtocol gt lt PerAntennaAirProtocol gt AntennaID value 2 gt lt ProtocolElement value 1 gt lt PerAntennaAirProtocol gt lt PerAntennaAirProtocol gt AntennaID value 3 gt lt ProtocolElement value 1 gt lt PerAntennaAirProtocol gt lt PerAntennaAirProtocol gt AntennaID value 4 gt lt ProtocolElement value 1 gt lt PerAntennaAirProtocol gt lt GeneralDeviceCapabilities gt lt LLRPCapabilities gt lt CanDoRFSurvey value false gt lt CanReportBufferFillWarning value false gt lt SupportsClientRequestOpSpec value false gt lt CanDoTagInventoryStateAwareSingulation value false gt lt SupportsEventAndReportHolding value false gt lt MaxPriorityLevelSupported value 0 gt lt ClientRequestOpSpecTimeout value 0 gt lt MaxNumROSpecs value 1 gt MaxNumSpecsPerROSpec value 1 gt MaxNumInventoryParameterSpecsPerAISpec value 0 gt lt MaxNumAccessSpec
4. lui envoyer une requ te pour qu il renvoie le nombre et l tat de ses op rations configur es Ainsi le contr leur peut prend en compte ces nouvelles informations au moment de cr er une nouvelle op ration sur ce lecteur Le filtrage de tag lors d op ration de tag est une fonctionnalit offerte par le protocole EPC Global C1G2 Lors de la cr ation d une op ration l utilisateur peut sp cifier un masque et la zone de la m moire du tag sur laquelle appliquer ce masque Ensuite le lecteur ne renverra de rapport d op ration que sur les tags qui correspondent a ce masque sur la zone de m moire d finie Chaque fois qu un rapport d op ration de scan est recu par le contr leur celui ci met jour l tat de chaque tag que ce soit un tag nouvellement d tect ou un ancien Dans le cas des anciens tags la t che du contr leur est de d tecter ceux qui ne sont plus actif c est dire de d tecter les tags qui ont t lus une premi re fois par un lecteur et qui lors d une nouvelle op ration de ce lecteur ne sont plus scann s La distinction est ainsi faite entre les tags actifs et les tags dit inactifs Julien David Design of a RFID Controller Page 55 of 64 Appendix D RIFIDI Emulator documentation This appendix is a tutorial about how to set up correctly RFID Emulator in order to have a simulated RFID reader supporting LLRP The first thing to do is to create the reader to simulate To do that you must click on the Ad
5. t Grenoble INP ES SAr pur I uOttawa A pepe be L Universit canadienne Canada s university Host organization School of Information Technology amp Engineering SITE University of Ottawa 800 Avenue King Edward Ottawa Ontario KIN 6N5 Canada Student Julien DAVID Design of a RFID reader controller Final Report Internship period 11 of February to 11 of July Deepening module Computer science amp Network Company Supervisor Pr Miodrag Bolic mbolic site uottawa ca ESISAR Supervisor Dr Christophe Deleuze christophe deleuze esisar inpg fr Julien David Design of a RFID Controller Page 1 of 64 Abstract RFID is an acronym for Radio Frequency IDentification which is a wireless communication technology used to identify any sort of object which has a tag being attached to it It enables an unique identification for all these objects that have been tagged that s why it is more and more used in industrial applications such as supply chain management or asset tracking In a RFID network with multiple readers it is interesting to collect various information about reader s operations and tag reports As the amount of connected readers can be very important up to 100 readers it is essential to automate this control The objective of this project is to build a central unit which would be able to control and synchronize the readers process the information obtained from all
6. GEN2 GEN2 GENZ GENZ fr TagsView 23 Data Type DoD 96 DoD 96 DoD 96 DoD 96 DoD 96 DoD 96 DoD 96 DoD 96 k Tag ID 2F B4 FF 5085 2F 7A DF 2D 71 2F 3B BBFA 36 2F 6C 48 61 CE 2F D5 66 094 2F AF 891914 2F 43 D1 BD EB 2F 24 43 DS 0E Ng J mr E3 Properties Bi Reader1 22 Instantiated LLRPReader with name Reader Reader1 has 1 antennas Reader1 has 0 GPI Ports and 0 GPO Ports Tag ID 2F B4 FF 50 85 68 E8 C2 F 2F 74 DF 2D 71 61 8B FF 2F 3B BB FA 36 DA 9B 2F 2F DS 66 E0 94 B1 45 32 2 2F 6C 48 61 CE 50 A4 C6 2F AF 89 19 14 36 B8 B1 C Figure 30 Start the reader The configuration is now almost done The last things to do are select some tags and drag them to the antenna section of the reader That means that these tags are now readable by the reader Then select the reader in the ReaderView and click on the Start Reader button as on the figure above your reader is now waiting for connections Julien David Design of a RFID Controller Page 58 of 64 Appendix E Examples of LLRP messages GET READER CAPABILITIES RESPONSE Message type GetReaderCapabilitiesResponse gt lt LLRPStatus gt lt ErrorCode value 0 gt lt ErrorDescription value Success gt lt LLRPStatus gt lt GeneralDeviceCapabilities gt lt MaxNumberOfAntennaSupported value 4 gt lt CanSetAntennaProperties value false gt
7. The most important thing to do now is testing the controller with a large amount of connected readers As OPNET modeler was very long to master I didn t work with it and I had only two readers when debugging the controller This is not enough to be sure that the controller is really scalable Also because of a problem of readers I did not develop the features about detecting tags read twice or more or moving tags As the two readers I had one simulated and I real one did not work in the same environment they did not read the same tags so it was impossible to detect the moving tags and the tags read twice Julien David Design of a RFID Controller Page 40 of 64 Appendices Appendix A User Manual Graphical User Interface Presentation RFID Controller og Connection Actions 5 7 9 Status Not Connected Enable ROSpec Start ROSpec Stop ROSpec Disable ROSpec Delete ROSpec Delete All ROSpec 2 Available Readers Reader Operations 6 Tag 8 3 4 Antenna Inventory TadlD Stop Trigger Type Reader s Duration LastSeen First Seen Peak RSSI Active This first paragraph will present the different areas of the controller 1 Action on the reader area all the buttons to connect synchronize get capabilities configure the reader are in this zone 2 Reader Information zone this is the area where all the information about the reader are displayed firmware version number of antennas 3 List
8. identifier e The second case is different because the incoming messages are not answers When the user set up a reader operation he can choose to receive periodic reports with all scanned tags When this kind of message it is possible to identify the operation corresponding to this report Once again a parameter field indication the ROSpecID that Julien David Design of a RFID Controller Page 33 of 64 correspond to the operation So we just have to check which reader has a reader operation configured with the specified Id The only constraint is to manage the ROSpecIDs for the two readers together and not separately this is not really a constraint it was easier to manage only one list of used ROSpecIDs than one for each connected reader Added functionalities Regarding to the previous version the following functionalities have been added e Add a ROSpec and visualize the tag reports e Get the reader capabilities and process the data received e Set up the entirely the tag reports the access spec reports and also the antenna parameters All these features are built on the same pattern after selecting the active reader and clicking on the corresponding but a form open in order to change the parameters The SET READER CONFIG form is more complex because of the important number of parameters When closing the form the message is sent to the active reader and the answer is displayed on the main form This controller still needs improv
9. 53 of 64 Les paragraphes suivant sont donc consacr s au d veloppement de la derni re version du contr leur de lecteurs RFID Cette version est celle qui se rapproche le plus des objectifs d finis en d but de projet la majorit des fonctionnalit s ont t impl ment es et l int gration des fonctionnalit s manquantes a t facilit Le d veloppement Le d veloppement du contr leur s est fait l aide de biblioth ques provenant d un toolkit fournit par un consortium d industriel voulant promouvoir LLRP Afin l adoption de ce nouveau standard un groupe d industriels s est regroup pour d velopper des outils acc l rant l impl mentation de ce protocole Ainsi ils ont mit a disposition sur leur site internet 14 une boite outils disponible dans plusieurs langages de programmation facilitant le d veloppement d applications supportant le protocole LLRP x Cette boite a outils tant disponible entre autre dans le langage de programmation C NET elle a t utilis pour construire ce contr leur Les versions pr c dentes du contr leur ayant permis disposer d une base de logiciel capable de se connecter a un lecteur pour de lui envoyer des requ tes basique l objectif de cette version tait de rajouter des briques fonctionnelles La premi re chose faire f t de s assurer que le contr leur pouvait bien se connecter deux lecteurs ou plus Pour faire ce test le logiciel RIFIDI Emula
10. Data Type Tag ID Type LLRPReader Properties Figure 27 New reader created The next step is to create tags and drag them in the reading zone of our new reader Creating tags is almost as easy as create the reader you Just have to click on the Add Multiples Tags button a Tagsview 2 3 Ts Gen Data Type Tag Maga multiple Tags Figure 28 Add multiples tags in RIFIDI Emulator The window with the tags parameters looks like the one with the reader parameters Julien David Design of a RFID Controller Page 57 of 64 Create multiple tags Here you can create as many tags of one type as you want Enter tag prefix Select the tag datatype Select the tag generation Figure 29 Tags parameters DoD 96 GENZ Enter the amount of tags to create 5 You just have to choose the tag type the generation and the amount of tags to create For certain type of type a prefix is needed that means that all the tag ID will start with this prefix add the hex chain you want in the corresponding field and then click on Finish button Tawa El Rifidi Emulator Woes File Help eg b ER ReaderVie s art reader KU pu BM Readers px Antennas 1 Type LLRPReader Properties Gen Data Type DoD 96 DoD 96 DoD 96 DoD 96 DoD 96 2520205 DoD 96 Gen GEN2 GEN2 GEN2 GEN2
11. Inactive State Julien David Design of a RFID Controller Page 27 of 64 ENABLE_ROSPEC_RESPONSE This is the response by the Reader to a ENABLE_ROSPEC command If there was a ROSpec corresponding to the ROSpecID and the Reader was able to enable that ROSpec then the success code is returned in the LLRPStatus parameter If there is an error the appropriate error code is returned in the LLRPStatus parameter GET ROSPECS This is the request from the Client to the Reader to retrieve all the ROSpecs that have been configured at the Reader This message is used to synchronize the controller with the reader The controller connects to the reader and it doesn t know the state of the reader Using this command allows to know the operations and their characteristics already configured GET ROSPECS RESPONSE This is the response send back by the reader to the GET ROSPECS request The reader sends a list of all operations no matter about their state This list contains all the ROSpec with the characteristics defined when creating it The current state is also sent with the report parameters Reader Device Capabilities Section This section is about functions used to get the capabilities of the reader GET READER CAPABILITIES This message is a request send by the client to the reader The response detailed in the next paragraph contains information about the reader and its capabilities GET READER CAPABILITIES RESPONSE This is the re
12. activer ou pas le rapport des dates de scan l affichage de l identifiant de l antenne ayant scann le tag ou d autre informations de ce genre Les fonctions pr sentes dans la section Reader Operation sont e ADD ROSPEC e ADD ROSPEC RESPONSE e DELETE ROSPEC e DELETE ROSPEC RESPONSE e START ROSPEC e START ROSPEC RESPONSE e STOP ROSPEC e STOP ROSPEC RESPONSE e ENABLE ROSPEC e ENABLE ROSPEC RESPONSE e GET ROSPECS e GET ROSPECS RESPONSE Les messages RESPONSE correspondent aux messages renvoy par le lecteur et font office d accus de r ception ils contient le code de status de l op ration succ s ou erreur Reader Device Capabilities Section Cette deuxi me section comporte beaucoup moins de fonction que la pr c dente puisque seulement une fonction et sa r ponse correspondante sont disponibles Julien David Design of a RFID Controller Page 52 of 64 Cette fonction est une requ te envoy e au lecteur elle permet au client de demander au lecteur qui lui renvoie les informations relatives a ses capacit s Les informations pr sentes dans le message GET READER CAPABILITIES peuvent tre par exemple e Nombre d antennes connect es e Support de GPO GPI e Identifiant du fabriquant du lecteur e Version du Firmware Ce sont au total une vingtaine de champs diff rents que le lecteur renvoie Reader Device Config Section L encore cette section est assez courte puisque une seule fonction et sa r ponse sont dis
13. of available readers all the reader added by the user are displayed here Then the user can select the active reader and make all the actions 4 ROSpec list all the created ROSpec on the selected reader are displayed here with its id and its status 5 ROSpec actions zones all the buttons to create enable start stop disable and delete ROSpec are in this zone Julien David Design of a RFID Controller Page 41 of 64 6 Reader Operation information zone characteristic about the selected ROSpec are displayed in this area 7 Reader Answers area all incoming messages from the readers are displayed here 8 Tag information area the information about the tags are displayed here first seen date last seen date ID status 9 Tag zone all scanned tag are displayed in this area Setup a Reader Operation The following part explains how to connect a reader and configure a basic reader operation To connect the reader you have to first add the reader in the reader list To do this simply click on the Add Reader button and fill the blanks 3 Add Reader Jotg 127 0 0 1 Reader IP RIFID Reader Designation Use the default port Add Figure 17 Form to add a reader in the controller The field Designation corresponds to the name of the reader that will be displayed in the reader list The port field designs the LLRP port used by the reader the default port is 5084 After clicking of the Add butto
14. protocol and does not provide retransmission or reordering facilities State consistency between the Client and the Reader is critical for the correct functioning of the system Using LLRP messages the Client updates the Reader state which includes Reader configuration parameters dynamically created data structures ROSpecs and possibly vendor defined data For this reason LLRP requires acknowledgements for the Client to Reader transactions this provides a fail safe mechanism at the LLRP layer to cope with network error situations Also to cope with intermittent connections a Client can request a Reader s configuration state to confirm that a Reader s state is consistent with the Client after the Client reconnects LLRP is based upon an abstraction of RFID air protocols and their respective commands There are two principal concepts to the LLRP abstraction of RF operations by a Reader Reader Operations RO and Access operations AO Reader Operations RO define the parameters for operations such as Antenna Inventory and RF Survey Access Operations define the parameters for performing data access operations to and from a tag The timing control of an operation is specified using boundary specification which specifies how the beginning using start trigger and the end using stop trigger of the operation are to be determined Julien David Design of a RFID Controller Page 11 of 64 This is a basic presentation of LLRP with the m
15. qui scannent la m me zone ou encore deux tags scann s qui r pondent au m me moment Nous nous int resserons plus particuli rement aux collisions mettant en cause deux lecteurs reader to reader collision et verrons la solution mise en place pour les viter Le paragraphe suivant va pr senter un peu plus en d tail les deux l ments important de la technologie RFID les lecteurs et les tags Un lecteur RFID est compos de plusieurs parties e Un module RF e Une ou plusieurs antennes Le module RF est le cerveau du lecteur c est dans cette partie que sont g n r s les signaux envoyer et o sont trait es les r ponses des tags C est sur ce module ma tre que sont reli es les interfaces Ethernet et ou s rie En effet les lecteurs RFID disposent d une connexion r seau permettant un utilisateur ou un logiciel de se Julien David Design of a RFID Controller Page 48 of 64 connecter au module RF pour toutes sortes d op ration sp cifiques L autre partie du lecteur est l antenne Un lecteur a au moins une antenne qui lui permet d effectuer le dialogue avec les tags mais il peut en avoir jusqu quatre et ainsi avoir une zone de lecture tr s tendue Le fait d avoir plusieurs antennes permet un lecteur d avoir diff rents types d op ration effectu e en m me temps sur des zones diff rentes Le deuxi me interlocuteur lors d un dialogue RFID est le tag Ce petit circuit compos pour
16. several phases 1 Developing a simulator of a system 2 Propose the simulation environment this can be a stock in which RFID readers will scan the population of tags every 5min and report to the upper layers if there are any changes in the tag population The system must be able to break the regular reading procedure and to perform queries of specific items One processor might be allocated to do that 3 Determining the network topology and the number of routers needed The controller will be able to perform the following e Reader control and coordination We will work with the grid of readers that have one or four antennas For readers that have one antenna only the non neighboring readers will perform query at the same time For the neighboring readers many solutions can be implemented the easiest is time multiplexing but other could be studied during the project e Tag data smoothing and filtering Filters will be set by higher application layers Some of the filters include detecting tags that are read by two or more readers detecting tags that are constantly read by the same reader detecting moving tags and so on The EPC Global C1G2 filtering functions will also be implemented this is a filter which works on the tag ID only the tags which tag ID matches with the mask are read e Reader controller interface Readers and the controller are connected either using Ethernet or IEEE802 11 protocols RFID standard used for commun
17. specific criteria correspond to the criteria have to answer O am Tag 1 am attached to a cube device 2 would like to know all tags wich are attached to a cube device am Tag 2 am attached to a cube device l correspond to the criteria have to answer RFID Reader It is not my business this time can stay asleep Figure 2 Exchanges between the reader and the tags Example of direct application In a supermarket s warehouse all the items here have a tag attached to identify them If the director wants to know how many milk bottles he has in the warehouse instead of sending a trainee counting all the bottles he will used his RFID reader to query all the tags with a particularity in their ID If this particularity signifies that the tag is attached to a bottle of milk the director could have his answer quicker than with the trainee This is of course a schematic view of a RFID system actually it can t work like this because of the tag collision Like in all wireless communication technology there is Julien David Design of a RFID Controller Page 6 of 64 a collision problem that s mean that two entities can t speak at the same time If two or more queried tags try to answer at the same time the reader won t be able to decode all the signals The different answers may interfere each other and confuse the reader which won t be able to differentiate the signals
18. 96 4F 50 36 9A CE GEN2 CustomEPC96 4F 50 98 3F 7B GEN2 DoD 96 2F FA 38 AD 04 GEN2 SSCC 96 31 OG BS 4A 06 GENZ DoD 96 2F 54 4F 2F C7 GEN2 CustomEPC96 4F 50 35 E2 14 GEN2 SSCC 96 3116332670 lt I gt gt GENZ DoD 96 2F 1F D9 0A FA GEN2 DoD 96 2F 1F B8 75 DA S di ne GEN2 CustomEPC96 DD 4FSO7DiEAe Properties BM Reader1 BI Reader2 23 Hizo ME 21 LACE 60 DO Instantiated Symbol Reader with name Reader2 GEN2 S5CC 96 31 08 04 96 OC Reader2 IP Address 127 0 0 1 3000 GEN2 SSCC 96 31 09 20 7F A2 Reader has 2 antennas GEN2 CustomEPC96 4F 50 GE 81 BE Reader2 on GEN2 SSCC 96 31 08 8A A0 SB GEN2 S5CC 96 31 14 1A 6B 40 GEN2 CustomEPC96 4F 50611159 GENZ CustomEPC96 4F 50 E4 56 3F Figure 8 RIFIDI Emulator Simulating two readers At the same time using a console he can connect to the simulated reader to obtain reports about the activity of the reader Specific reports of each tag are available and they contain much information such as the First Seen date Seen Count or the amount of power received Peak RSSI All the reports are really a good point for this project this is what we need reports about the tags Another advantage of RIFIDI Emulator is the support of real off the shelf readers there are six different readers to be simulated two are fakes and four are real Among the two fakes readers one is called LLRP Reader this one support the LLRP Protocol
19. 9774 4339775 04340298 pdf 13 Opnet Modeler http www opnet com solutions network_rd modeler html 14 LLRP consortium http llrp org 15 Impinj Speedway reader http www impinj com rfid rfid reader aspx ekmensel c580fa7b 8 28 168 2 Julien David Design of a RFID Controller Page 64 of 64
20. C943 2FFC 22C2 E410 251B 9COD B9AD INFO Starting run 3 INFO ROSpec started INFO 4 tag report entries 2FF3 BA9B 2664 8296 13FE 5691 2FDF AFSD C505 7959 D763 BE60 2FD7 91AA 9B10 C161 701C C943 2FFC 22C2 E410 251B 9COD B9AD INFO Starting run 4 INFO ROSpec started INFO 2 tag report entries 2FDF AFSD C505 7959 D763 BE60 2FF3 BASB 2664 8296 13FE 5691 INFO Starting run 5 INFO ROSpec started INFO 1 tag report entries 2FDF AFSD C505 7959 D763 BE60 INFO Clean up reader configuration INFO Configuration reset to factory defaults INFO All ROSpecs are deleted INFO Finished INFO Done jdavid Hoogardeen media Data ESISAR PFE Data Stage LTK LTKC Examples M a5 f ll Terminal Figure 12 Screenshot of the modified example from the toolkit Julien David Design of a RFID Controller Page 30 of 64 As said in introduction the aim of this controller was to play with the LLRP functionalities to get knowledge about LLRP and the way it works There were not precise objectives in terms of functionalities As there was not any GUI developing in C language was the faster way build this program The first step was to study all the provided examples in the toolkit Sometimes modifying it to understand how it worked and to solve some bugs fig 12 The development step was done with RIFIDI Emulator as simulator the problem is that there are some LLRP implementation difference i
21. In order to get around this collision problem when the reader detects a tag collision ie when it receives a signal that he can t decode it sends a Gap Pulse Signal Figure 3 Anti tag collision protocol Once a tag receives this specific signal it generates a random temporization before resend his data As all the queried tags receive the signal and they all generate the random temporization they won t answer at the same time and the reader will be able to decode the different answers The figure above fig 3 shows this sequence This was a quick overview about the RFID technology and a simple anti tag collision algorithm The following section will detail the two main components the readers and the tags Julien David Design of a RFID Controller Page 7 of 64 RFID Reader RFID readers or interrogators are devices which have the capability of reading the information stored in the RFID tags but also writing data to them This act of writing is called creating a tag and along with associating it with an object to the tag is called commissioning the tag In terms of passive tags they also have to power the tag Readers are roughly made of the following 2 components e Antenna e RF Electronic Modules A reader can have one to four antennas connected The antenna is the device which sends the signal so this is the part who dialog with the tag There are several types of antenna depending on the application The RF module is the big b
22. LRP we can simulate a large amount of nodes and we can modify the behavior of each node to simulate different kind of readers Conclusion Table in figure 11 recalls the main characteristics of the analyzed software Tag Centric is definitively not adapted for the project as I said in its presentation it could be interesting to see how it is build but we can t use it in this project Julien David Design of a RFID Controller Page 24 of 64 I also eliminated RIFIDI Designer because it doesn t correspond to the use we need this software has been created to simulate the use of RFID in the production chain not to simulate a large amount of readers It is a powerful system but we don t need to visualize how the system evolves at least for the development step Perhaps in the next phase of the project it would be useful to have an evolving environment but for the moment a fixed one is enough Concerning RIFIDI Emulator the number of simulated reader is also a discriminating criterion but all the others criterions match with our needs OPNET seems to be the most useful program for the project all the criterions corresponds to that we need However this is also a complex program and as we don t need to simulate all the readers during the debugging step RIFIDI Emulator will also be used These two software match to all the requirements we will use RIFIDI when only few readers will be required and OPNET when the controller will b
23. Message where the starting state would not be Disabled The following step to activate the operation is the ENABLE ROSPEC Message which put the operation in the Inactive state This function has to be implemented even for a basic use of LLRP ADD ROSPEC RESPONSE This is the message sent by the reader after an ADD ROSPEC message if there is a problem creating the operation the error code is included in this response If the ROSPEC is successfully created the success code is returned in the LLRPStatus parameter DELETE ROSPEC This command is used to delete an existing ROSpec on the reader The ROSpec identifier must be precised in the parameter It is important to notice that the identifier 0 corresponds to the deletion of all the existing ROSpec on the reader A ROSpec can be delete at anytime no matter of the state even if it is active a DELETE ROSPEC message stop it and then delete it Even if it is not a mandatory function it is very useful to clean the reader s configuration and quite easy to implement because of the low number of parameters DELETE ROSPEC RESPONSE This is the response of the DELETE ROSPEC command it contains the status of the operation in the LLRPStatus parameter Julien David Design of a RFID Controller Page 26 of 64 If the deletion has not been done for any reason the corresponding error code indicates the cause in the LLRPStatus parameter START_ROSPEC This message is sent by the client to t
24. ROSpecID gt lt SpecIndex gt SpecIndex value 0 gt lt SpecIndex gt lt InventoryParameterSpecID gt lt InventoryParamSpecID value 0 gt lt InventoryParameterSpecID gt lt AntennalD gt AntennaID value 1 gt lt AntennaID gt lt PeakRSSI gt lt PeakRSSI value 0 gt lt PeakRSSI gt lt ChannelIndex gt ChannelIndex value 0 gt lt ChannelIndex gt lt FirstSeenTimestampUTC gt lt Microseconds value 1213305450421000 gt lt FirstSeenTimestampUTC gt lt LastSeenTimestampUTC gt lt Microseconds value 1213306047315000 gt lt LastSeenTimestampUTC gt lt TagSeenCount gt lt TagCount value 3 gt lt TagSeenCount gt lt TagReportData gt lt TagReportData gt lt EPC96 gt lt EPC value 2F 60 DB 59 CB 46 3B E4 5C A9 BB CE gt lt EPC96 gt lt ROSpecID gt lt ROSpecID value 3 gt lt ROSpecID gt lt SpecIndex gt SpecIndex value 0 gt lt SpecIndex gt lt InventoryParameterSpecID gt lt InventoryParamSpecID value 0 gt lt InventoryParameterSpecID gt AntennaID AntennaID value 1 gt lt AntennaID gt lt PeakRSSI gt lt PeakRSSI value 0 gt lt PeakRSSI gt lt ChannelIndex gt ChannelIndex value 0 gt lt ChannelIndex gt lt FirstSeenTimestampUTC gt lt Microseconds value 1213305450421000 gt lt FirstSeenTimestampUTC gt lt LastSeenTimestampUTC gt lt Microseconds value 1213306047315000 gt lt LastSeenTimestampUTC gt
25. a liste afin d tudier leur position vis vis des crit res de s lection L tude des logiciels open Julien David Design of a RFID Controller Page 50 of 64 source RIFIDI tag centric a pu tre faite assez rapidement du fait de leur disponibilit imm diate Pour les logiciels commerciaux OPNET RFID Anywhere il a fallu attendre d avoir re u l agr ment pour la licence de recherche universitaire pour avoir une id e plus pr cise de leurs capacit s Les r sultats de ces tudes sont r capitul s dans le tableau ci dessous Yes Yes No Yes Yes 6 3 Na Au moins 25 Deux logiciels correspondent aux crit res nonc s RIFIDI Emulator et OPNET Modeler La diff rence entre ces deux logiciels se fait sur le nombre maximal de lecteurs simulables Si OPNET peut largement atteindre la centaine de lecteurs RIFIDI est nettement plus limit sur ce point l C est pourquoi pour la phase de test de la mise l chelle puis de production le simulateur utilis sera OPNET Modeler Cependant tant donn que OPNET Modeler est un logiciel tr s complexe a prendre en mains nous utiliserons RIFIDI Emulator pendant la phase de d veloppement du contr leur En effet pendant cette phase du projet seulement un ou deux lecteurs seront n cessaires pour d velopper et tester les premi res fonctionnalit s Etude sur le protocole LLRP La deuxi me partie du projet a t consacr e l tude du protocole LLRP de ses pos
26. aay byuojJepeayyes TEI SJECSUMOd DUuo2Jspesuiss weled SJEISUSUNDHOd dS DYUOSISPESHISS Salpadoiqeuuajuy DijuoHJapeayjas Bled uonejnbguojeuusjuy DyuODJepesyyes Weed sedsuodeusssooy byuoaJiepeaues DgUoJspesujss 108102081504 SIspesu ERETTE TOMATE ppd pru PSE HSE ROGUE Tunog W103980504PPY meed ssdsoyppy Japeay PPT sse 3 9 ap02 4 Page 46 of 64 SF FF SPS SSS SST SSF SSS SF SS FF SS S Design of a RFID Controller Sasse s ypeqpasj puss eoedseuieN 1ejoJ1u0249peexjeuo 5us1sjs4 It 8sdejpo5 E Julien Davi spjaly aeAud ay 104 5105529998 A UO peau palqo wor payssyuy 329fqg Woy pajuayu 932090 woy paysayuy 329fqQ woy paguayuT paflqo Woy peyusqur Hafqo wos paysayuy 351 943 Ul J8pea4 e ppe 03 POUISW uondiau2sag uondiau2sa g nul YIIYM ssejo Ge ay yo sojon quoD uondi1253Q yoso 03 21d03 5143 uo 3eqpssj puss asedsaweN Ja D31u0 248peagsuo sse 5 DEL Oos v 33S s1apeay ee Issuyeed Da aU LUsasjse d 0335587 de ENDE ESS de Uaasisilg de 543 SAWOV e 9wueN samiedoig buinsor a auo Jasimaaquay 6 adApjay 6 2po3yseH399 azieutng 6 sjenb3 dspesuppe 6 awenN spouielN DEL 9ueN s403 2n rnsuo sagwa wi Burmo oy ay sasodxa adi BEI ayy x peqpasjpuss os y aes ssniedoig Spoljew Saojnajsuo 5580 DEL sioquen bel ae BIUBIBLAd Il ous s4equiaw 4 iv apop Iy asdeyjoa SSE D shnguangpubiadoijaje
27. ain concepts the following section will detail two points First the Client and then the Reader Operations which is the most used operation in this controller Vocabulary definitions Client As shown on the figure 6 LLRP has two end points the Reader end point and the Client end point The LLRP workgroup deliberated the naming of the Client end point In the first draft of the LLRP spec the Client end point was instead called the Host end point After many discussions this term was abandoned because of the familiarity to the IT Another proposition Controller was also cleared because it would imply that this end point would be hardware which is not the aim of the developers LLRP pa EE Reader Reader Ka Figure 6 LLRP Endpoints As a compromise now in the LLRP spec it s called the Client end point So anything that talks to a LLRP RFID Reader is simply called a Client This naming will be used to indicate the controller Reader Operation The reader operations RO are one of the types of operation that a Client can set up on a reader As the other type of operation is not implemented in the controller it won t be detailed in this section A reader operation defines the parameters for the operations that will be executed by the reader It contains at least one spec this spec could be an Antenna Inventory Spec AISpec or a RFSurveySpec An AISpec defines an inventory opera
28. ally use it After playing a bit with it it appears to be adapted for us It can simulate many protocols not only LLRP but almost all protocols existing on the different network layers There is specific module called RFID Network Simulator this is really a physical lab for testing business logic Everything can be simulated and tested from the appearance to the departure of a set of tags Even the tags can be modified to change the formats the values the used protocols But we can also plug real devices to make a network using the simulated readers and the existing ones This is the opposite of RIFIDI as the first one is specific light and easy to use RFID Anywhere is complex and large purpose Of course it could simulate our RFID Network because it can simulate everything in RFID but it would take too much time to learn how to use it and we have to keep in mind that simulates the RFID reader network is only the introduction of the project RFID Anywhere would match with all the criterions but it is definitely to complex OPNET Modeler I do not found technical documentation about OPNET Modeler but regarding to the commercial documentation Opnet Modeler is a software used for all kind all network simulation Based on the simulation on the Multi Channel MAC protocol for RFID Readers 12 the software is supposed to be able to simulate at least twenty five readers this is also possible to simulate reader to tag protocols and
29. ames are also given to the whole systems which lead to Active RFID systems and Passive RFID systems These two technologies while usually considered and evaluated together are fundamentally distinct technologies with different capabilities Therefore the most complete solutions use the advantages of both technologies and combine them in complementary ways During the development of the project we use only passives tags because of their low cost LLRP The EPC Global 3 ratified in April 2007 the Low Level Reader Protocol 4 This protocol is a standardization of the network interface for the RFID Readers After having standardized the tag and reader radio frequency air interface protocol this LLRP as the logical next step was one of the most waited in the RFID domain it was considered by the professional as the missing level to promote RFID technology and to promote it to a high using level Besides offering to common network interface to all types of readers LLRP also provides full access to all features of the air protocols supported by the reader that s why this protocol is called low level The design of this interface recognizes that in some RFID systems there is a requirement for explicit knowledge of RFID air protocols and the ability to control Readers that implement RFID air protocol communications It also recognizes that coupling control to the physical layers of an RFID infrastructure may be useful for the purpose of miti
30. c Synchronize pee eiie Delete All ROSpec Reader Information Firmware version Max ariternas 0 Manulactuer Name 0 Model Name 0 GPI avaiable False GPO available False Available Readers Reade Operations Tag Artanna Inventory TadiD 2F352838B75EFAB930250087 Stop Trigger Type Duration Readers RIFIDI 127 0 0 1 Duration LastSeen 22 08 2008 16 38 08 First Seen 22 08 2008 16 38 08 Peak RSSI Odim upise Active Tue Figure 22 Tags added in the tag list Julien David Design of a RFID Controller Page 44 of 64 You can now select a tag and read the information about it Setup the tag filtering The following part explains how to setup the tag filtering We will configure a new ROSpec that will scan only some tags We have first to create another a ROSpec but now enabling the tag filtering aj aax E E AlSpec Parameters AlSpecDuration AlSpecStopT riggerT ype InventoryS pecProtocol Filtering Option MemoryBankString PointerHexa TagMaskString TrunkAction UseT agFiltering ROSpec Parameters ROSpecPriority StartingState 2000 Duration EPCGlobalClass1Gen2 TaglD 28 FO Unspecified True 0 Disabled ROSpecStartT rigger Parameters ROSpecStartTriggerType Null ROSpecStopT rigger Parameters ROSpecStopTriggerType Null TagMaskString The pattem against which to compare hex string Figure 23 Configuring a ROSpec with the tag filtering We will now explain t
31. ct s afin d assurer que deux op rations sur deux lecteurs diff rents n ait pas le m me ID bien que ce serait correct au sens de LLRP Julien David Design of a RFID Controller Page 54 of 64 Un autre souci majeur lors de la phase de d bogage du logiciel a t les diff rences d impl mentation de LLRP entre RIFIDI Emulator et le standard RIFIDI a t utilis pour d bugger en raison de son interface graphique en effet comme il s agissait d un lecteur simul sur un ordinateur tous les messages re us ou envoy s taient affich s sur la console du logiciel ceci facilitant le d bogage N anmoins certaines fonctionnalit s n taient pas support es par RIFIDI telle que la prise en compte du Peak RSSI le fitrage de tag ou encore le fait de pouvoir supprimer toute les op rations en sp cifiant un id 0 dans les param tres Les fonctionnalit s La liste des fonctionnalit s principales pr sentes dans cette version du contr leur est la suivante e Connexion un nombre illimit de lecteurs e Requ te et traitement des capacit s des lecteurs e Configuration des lecteurs e Synchronisation du contr leur avec les lecteurs e Configuration d op rations sur le lecteur e Configuration du filtrage de tags lors d op ration de scan e Traitement des rapports d op rations des lecteurs e Mise jour de l tat des tags La synchronisation du contr leur avec les lecteurs consiste lors de la connexion avec un nouveau lecteur
32. d before these modifications the interface was a debugging interface without any reflection about the ergonomics and the work during this last step was to create the interface shown on the figure 15 The appendix A is a user manual that explains how to use this graphical interface Julien David Design of a RFID Controller Page 37 of 64 For technical purpose the programming documentation has been written and generated in html format This document is not really dedicated to be printed nevertheless the summary is presented in the appendix B with an extract of one class documentation Julien David Design of a RFID Controller Page 38 of 64 Financial estimation This exploitation sheet is established on the bases on e 5 months for the project duration e 20 per day for general charges of University energy services cleaning e 80 per hour for tutorial management Charges Total exploitation Project Project cost duration m duration Workstation PC Furnish material desk Tutorial management General exploitation charges Total Budget Julien David Design of a RFID Controller Page 39 of 64 Conclusion As this project was about a technology I didn t know before it I needed a training period before really start working on it It allows me to get a lot of knowledge about the radio frequency environment in general and the RFID environment in particular These information is presented in t
33. d Reader button see figure above EU Rifidi Emulator File Help sa gt Readerview 22 p a El add a reader Figure 24 Add a reader in RIFIDI Emulator A new window now opens where you can choose the type of reader you want select LLRP Reader as on the following figure and then click Next NG z og New reader wizard Fill out all fields and hit Finish to add reader Select the reader type LLRPReader EPC Reader Protocol v1 1 Figure 25 Select LLRP Reader The following window asks for the reader s parameters You can modify the reader s name the number of antenna and enable or not the GPI GPO but it is strongly recommended to let the default settings for the administration IP and the LLRP IP as on the figure above Julien David Design of a RFID Controller Page 56 of 64 New reader wizard For an explanation of the server mode feature see the Please enter a name Reader1 Select the number of antennas 1 LLRF Administration IP Address 127 0 0 1 10101 Enable Server Mode at startup LLRP Connection IP Address 127 0 0 1 5084 Enable GPI O For this Reader Figure 26 Parameters for the new reader When you click on the Finish button this window close and a new tab appears on the main window B Rifidi Emulator og File Help sago gt ReaderView 23 Ent reader sa EE L d EP Readerl NEW FEE Antennas 1 Gen
34. der development would go with the development of all the others RFID components such as new signal processing algorithms or new antenna design The third objective of the project is to develop an RFID deployment simulator After identifying the main weaknesses of the RFID it appears that they include erroneous reads problems of handling of large amount of data generated by the tags interferences problems and networking problems Build a complete RFID simulator would be helpful to identify the source of these weaknesses and correct them This simulator is divided in five parts and one of them is A baseline RFID simulator This part includes a 3D simulator for reader to tag communication and the simulator for controlling multiples readers Another student from ESISAR Guillaume Chanas worked on the 3D simulator project and my own contribution has been focused on the reader controller As the final motivation is to develop a deployment 3D Julien David Design of a RFID Controller Page 15 of 64 simulator that would includes these two parts the two simulators will converge but these two projects did not reach yet the point where the collaboration between us would be mandatory Julien David Design of a RFID Controller Page 16 of 64 Project specifications In this project RFID reader controller will be implemented This controller will be able to control up to 100 RFID readers and to process information obtained from tags The project has
35. e easier for users to grasp This software is a not really a RFID Simulator It allows the user to connect a database to his reader s network in order to stock and study information about read tags It is a kind of reader controller B TagCentric Dashboard ReaderlD Tag 305404ce588ebd4049910792 305404ce588ebd4049910796 305404ce588ebd4049910763 305404ce588ebd4049910767 305404ce588ebd4049910806 305404ce588ebd4049910776 305404ce588ebd4049910778 1 RPList Timestamp 1 2 3 Mon Aug 04 16 22 30 CEST 2 1 2 Mon Aug 04 16 22 30 CEST 2 3 4 Mon Aug 04 16 22 30 CEST 2 1 2 3 4 Mon Aug 04 16 22 30 CEST 2 2 3 4 Mon Aug 04 16 22 30 CEST 2 1 3 Mon Aug 04 16 22 30 CEST 2 1 2 Mon Aug 04 16 22 30 CEST 2 9 Local 3 Admin Di frest c Database 3 MySQL Cf Reader 3 Reader 305404ce588ebd4049910814 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910787 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910784 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910823 Mon Aug 04 16 22 30 CEST 2 305404ce588ehd4049910829 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910792 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910796 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910833 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910831 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910806 Mon Aug 04 16 22 30 CEST 2 305404ce588ebd4049910845 T O mTmo
36. e client may be software but it could be hardware too RFID System RFID Radio Frequency IDentification is an auto identification technology using radio frequencies signals This is a powerful technology that may replace soon the bar codes It is more and more used in the industry for various applications such as the supply chains management identify supermarket goods and even now in the passports The key of this system is the dialog between the reader and the transponder also called tag The transponder stores information on a small memory which is powered by the magnetic field transmit by the reader In a basic communication the reader scan a tag population that means it sends radiofrequency signals Powered by this signal the tag sends back the content of its memory to the reader F u Antenna RFID Reader Figure 1 RFID System Julien David Design of a RFID Controller Page 5 of 64 The figure 1 below shows how the reader sends the signal to power and queries the tags It sends a signal whose magnetic field will power the tag Once the tag is turned on it can received and decode the signal As the signal contains a query for the tag if the tag corresponds to the query it answers to the reader if not it stays quiet The following figure fig2 explains the exchanges between the reader and the tags In this example the reader use a filter that means that it doesn t query all the tags but only those who corresponds to the
37. e build and when a large amount of readers will be needed Yes Yes No No Yes Yes No Yes Yes 6 3 Na At least 25 Figure 11 Simulators comparison table LLRP Studies This part presents the different features of LLRP that have been implemented in the controller There are four sections with a description of each function and why it is essential in the controller The basics functions for the connection to the reader or the Julien David Design of a RFID Controller Page 25 of 64 disconnection and all their parameters are not presented here because they are so evident Reader Operation Section This section provides functions to set up and manage the reader operations ADD_ROSPEC This message is used to create a Reader Operation on the reader Although LLRP supports configuration of multiple ROSpec in the same message this features won t be used only one operation will be set up in each message This message contains all parameters for the operation such as the start trigger type stop trigger type operation type or reports configuration As a ROSpec is identified by a ROSpecID this message must specify this ID the identifier is generated by the client when it requests the creation of the operation Receiving this message the reader creates the operation in the state specified in the parameters Actually this is not really a parameter because only the waiting state is accepted a message must not accept an ADD_ROSPEC
38. e valid while the LLRP connection with the reader is open and until a new SET_READER_CONFIG message Example of application ROReportSpec parameter defines the reporting of operation reports format and trigger for a ROSpec ROReportSpec sent as part of SET_READER_CONFIG becomes the default ROReportSpec for the Reader A ROReportSpec sent as part of ROSpec in the ADD_ROSPEC command overrides the default value for that ROSpec However in cases where there is no ROReportSpec specified in a ROSpec sent as part of ADD ROSPEC that particular ROSpec inherits the default ROReportSpec This works same with the other parameters like the GPI GPO configuration antenna gain configuration events notification configuration and the keepalive configuration There is also a ResetToFactoryDefault field used to reset to the default configuration before applying the remaining parameters SET_READER_CONFIG_RESPONSE This is the response by the Reader to a SET READER CONFIG command If all the parameters specified in the SET READER CONFIG command are successfully set then the success code is returned in the LLRPStatus parameter If there is an error the appropriate error code is returned in the LLRPStatus parameter Controller development The following part deals about the development of the reader controller The development was in three steps The first one was to familiarize myself with LLRP using all the functions Julien David Design of a RFID Co
39. eadable and writable memory to store the information and the antenna is used to receive and transmit the signals from and to the reader Julien David Design of a RFID Controller Page 8 of 64 The two mains categories of tags are the passive tags and the active tags The difference between these two categories are the presence or not of a battery as power source But as their working is the same we will discuss first about the commons parts Both of these two categories of tags are composed by a memory This memory is composed by four parts fig4 1 a reserved part for the password used for the lock or kill functions the EPC part which contains a unique identifier generally the EPC the third part contains information about the tag possibly including a unique tag identifier distinct from the EPC and the last section of the memory is called user memory and is organized as the user wants byte O 1 word BANK NOOR ND O NOORWNHAO word Figure 4 Tag memory decomposition 1 The passives tags are those which do not have battery they use power induced by the received signal to power up the circuit and transmit the answer That s why a dialog with a passive tag must be initialized by the reader As the result passive tags are simpler to make and due to this simplicity their manufacturing cost is lower and subsequently the range in which they can be either interrogated by the reader or the
40. eader Then all these objects were stored in an appropriate collection The problem of the active reader was still present and solved with the same solution The functionality of deleting a reader from the list of connected readers has been added too But the reader must be disconnected before delete it Julien David Design of a RFID Controller Page 35 of 64 RFID Controller BAX Connection Actions ROSpec Succesfuly added 30565C0ER4E65CC79457067D 3041434E 3CFODC5B3EC22000 Add Reader Add ROSpec Enable ROSpec Status M_Success 30D 44239C2F 1554751854823 Status Connected 302807BDDB423F2F03CCF5D2 Enable ROSpec F Start ROSpec Status M Success 3032ACDE1D08464AD303E29F Start ROSpec Stop ROSpec Disable ROSpec Get Reader Capabilities Delete ROSpec Delete All ROSpec Delete All Reader Information Firmware version Max antennas 0 Manufacturer Name 0 Model Name 0 GPI available False GPO available False Available Readers Reader Operations Tag RIFIDI 127 0 0 1 1 Inactive Antenna Inventory TadD 302807BDDB423F2F03CCF5D2 Stop Trigger Type Duration Readers RIFIDI 127 0 0 1 Duration LastSeen 19 08 2008 12 45 26 First Seen 19 08 2008 12 45 26 Peak RSSI OdBm Active True Figure 15 Main interface The second improvement was about updating a tag report When a tag is selected in the tag list information about itself appears in the tag area fig 15 Among these in
41. eaders Instead of only one LLRP connection trough UPD there were two The user can add the IP or the hostname of the reader and choose to connect it whenever he wants Then the main difficulty was to know which reader is active and especially where to send the commands and which reader is answering or which reader is sending an operation report Briefly the main difficulty is not to connect to the two readers it is to manage these connections when the program is running Here the OOP was helpful an object called selected reader was defined and was a reference to the active reader object Every time the user changed the active reader or an event changed the active reader this reference followed and this reference was passed in argument to the functions This solution works only for the outgoing message but there is still a problem to identify the senders of the incoming messages Concerning the incoming messages the solution is different Actually the incoming messages are responses to the commands or operation reports n the first case the response arrives just after the command has been sent so if the incoming message corresponds we can imagine that it is the answer We can verify that because in each RESPONSE message there is a parameter with the identifier of the message that it responds to Every time that the engine sends a message it generates an identifier and check automatically that the response corresponds to this
42. eaed je auljap 0 pasn si ssejo SIYL abessaw Dijuoo sapea jas au Joy suajaweved je auyap o3 pasn si ssejo SIYL abessaui Bijuoa JapeaJ jas ay Joy sJajaweaed e auljap o3 pasn si ssejo SIYL abessaw biyuna sapea jas ay Joy suajaweied e auljap 0 pasn si ssejo SIYL abessaw Dijuoo 4apeaJ yas ayy 404 suajaueued je auyap 0 pasn si SSe siu abessaw Dijuoo Japeal jas 34 40 suajaueued e autjap 03 pasn si SSe SIYL 28050 P 34095 03 pasn si SSE SIYL potjeuu ayoads awos ppe 03 3sr eJ4g Woy pajuagxa 55819 Sse SIU el umop aJe SJAPEad payauU0D sJapeay JO SJURISUI BUG s4apeaJ ayy sjue4daJ sse SIL au pue 48 04U09 ay usamgag Bojeip au IND AU ur 4apeaa payepap uaea Joy pagasa dads uonejsdo4epeay au juasaiday ng pasn sse spalqo sapea ayy 8403s 0 pasn si sse o SIL poygaw ua4eas ayoads e ppe 03 4ap4o ui 3sr eAug LID papuajxa ssejo e si SIYL Lio aadsogppy a4 ur xoqisrisenaado4g sIweudp ayy dn yas 0 pasn sse 5 sJapead ayy Wo paAla224 ejep ay 552001d pue y eanBijuoo Japeas e ppe se YONS MOPUIM VIEW SIY Wo se qejie e 348 saJnjeaj jy ue4bo4d ay jo MOPUIM uieus au SI SIYL oedsow mau e 48j8WJEJEd 0 INS eu SUYESP Woy SIL 04409 pugkpadoigAy au yym ajggeduos aq 03 sse 5uue3sn5 puajxe SNL sse SIY Woy JadSoy ppe ay 404 s1e3eujeJed ay e autjap 03 pasn si ssejo SIYL uondinsag sbuyjuaA3pubAusdoigsjepdrn 0019410008 Ber Weise gbyuojJapeayyes med Modeyou byuojdapeayyes ued sAjed
43. ements to be useful Even with the added features the possibilities of the user are quite limited the basic sequence is e Connect to the reader e Get the reader Capabilities in order to have information about the support or not of GPI GPO and the number of antennas e Set the reader configuration o Reader Event Notification Enable or not different kind of event notification o Antennas properties Disconnect all the antennas or set up the gain o Reader Operation Report Enable or not the different kind of information about the tag in the Reader Operation reports o Access Report Configure the frequency of the Access Reports o Keepalive Parameters Enable the Keepalive and set the period o GPO GPI port Enable or not the GPI GPO ports e Add Enable and Start a Reader Operation e Visualize information about the scanned tags these information are the first seen date last seen date and the ID of the tag Julien David Design of a RFID Controller Page 34 of 64 For the moment the user cannot really act according to the results he has because he doesn t really have results This will be the goal of the next version give more possibilities to the user according to the results he obtains Another point will be to expand the number of connected readers Complete controller for two readers or more For this new version the improvements were Add_ Reader Y Class Fom Connecting to multiples readers Sup
44. ey were stuck by the complexity of this task After discussing with many software development companies and RFID expert they realized that a RFID simulation tool would be appreciable for testing applications Since that in March 2006 this team of developers and RFID consultants started to work on this RFID simulation project The RIFIDI project contains two parts RIFIDI Designer and RIFIDI Emulator They are two different software developed in parallel by the same team The Designer tool is used to visualize an RFID system The user can set up his production chain with the conveyors position a reader gate and see how the tagged items behave in this environment fig 7 Julien David Design of a RFID Controller Page 19 of 64 I Rifidi Designer BAX File Simulation Developer Actions Views Perspectives Help T N ET Layout Na 23 ET Componen O 3 Ungrouped Components T Conveyor ConveyorQ Conveyori I Reader Cardbox E d Grouped Components 145 Generated Components E Minimap 23 3 E Properties 23 EI Console EE ee Property Value lt gt Figure 7 RIFIDI Designer conveyor simulation The main weakness of this simulator is his capacity because of the GUI which requires a lot of resources the simulation capacity in terms of number of readers is very limited only two readers can be simulated at the same The second part of the RIFIDI project is closer to
45. formation appears the reader s that scanned this tag If the user clicks on the update button an operation will be set up on the corresponding readers to update the tag status If there is more than one reader who scans at least once this tag it is impossible to configure the same operation on these readers at the same time If we do the readers will scanned the same area at the same time and their signals will interfere Here the solution of time multiplexing is used The operations configured on the readers are periodic operations with an offset depending on the number of readers to configure The offset changes in order to avoid the readers scanning at the same time Another new feature is the possibility for the user to restart a finished reader operation In the Reader Operations area fig15 appears the information about the selected RO If the operation corresponds to the one the user would like to add he can just start it again The START_ROSPEC message will be sent with the ID of the corresponding RO The tag filtering has been implemented too This is a feature provided by the EPC Global C1G2 protocol It allows the reader to define a mask on one of the bank of the tag memory The mask can have a variable length and can be applied to all the Julien David Design of a RFID Controller Page 36 of 64 memory banks The figure below fig 16 shows that it is also possible to select the trunk action if the tag must or mustn t matc
46. gating RFID interference LLRP provides some functions used by a Client to connect to the Reader in order to perform operations It is specifically concerned with providing the formats and procedures of communications between the two RFID entities The LLRP protocol data units are called messages Appendix E illustrates with 3 examples the format of data exchanges Messages from the Client to the Reader include getting and setting configuration of Readers capabilities discovery of Readers and managing the inventory and access operations at the Readers Messages from the Reader to the Client include the reporting of Reader status RF survey and inventory and access results The figure 5 below shows how these messages take place in a typical LLRP sequence Julien David Design of a RFID Controller Page 10 of 64 Client Reader Tag s Air Protocol Dependent Reader Configuration Capability Config lt query setup M p Tag Access Rules Setup A Update es M RO d a sr rh mg mn as EC a Tag inventory and n RO and Access Reports Access using Air Protocol ag Inventory II and Access and ans Commands MN RF Survey results pled dete D PT a as from the reader Event Notifications r Reader Status Manga from Reader Access RO RO and Access Report Figure 5 Typical LLRP Timeline and Access and RF Survey results Tag Inventory LLRP is an application layer
47. h to the mask 5 Job E AlSpec Parameters A SpecDuration 2000 AlSpecStopTriggerType Duration InventorySpecProtocol EPCGlobalClass1Gen2 Filtering Option MemoryBankString EPC PointerHexa 20 TagMaskString 3028 TrunkAction Truncate UseT agFiltering True ROSpec Parameters ROSpecPriority 0 StartingState Disabled ROSpecStartT rigger Parameters R SpecStartTrigaerType Immediate ROSpecStopT rigger Parameters ROSpecStopTriggerType Null TagMaskString The pattern against which to compare hex string Figure 16 Add ROSpec form with tag filtering configuration This is an example of features offered by an Air Protocol protocol used between the reader and the tags used with LLRP The detection of idles tags is the last improvement of the last version of the controller The problem was that the tags were displayed in the tag list all the time once they have been scanned and with no distinction between the actives tags and the idles tags The idles tags are those who have been scanned once by a reader and who were not present anymore after a second scan In this new version there is an active field in the tag information area fig 15 that indicates if the tag has been read during the last scan of the reader In order to implement this functionality each time that a reader sends a report the controller must check if all tags from lasts reports are still active The modifications of the graphical interface won t be detaile
48. he introduction I thought that someone who wouldn t have any knowledge about RFID would understand enough this technology to read this document Working on a development project allows me to improve my programming skills After my industrial project in 4 year which was a development project too we had a course of Software Engineering during the 5 year This course gave me essentials methods during a development project and applying them made me save a lot a time I really felt the differences between my two development project in terms of methodology and my approach of the project was really different Paradoxically working alone on this project made me feel the importance of the work in team All the exchanges we had during the industrial project when we worked in a team of 3 students were not present there In this project as I worked alone there were only few discussions and it made really a difference in the way of following the project And of course being in Canada during this project allows me to practice and improve my English during five months The human and cultural aspects were very present during this project too and I really learnt many things about the work in another country with another culture that the ones I knew Regarding to the project specification the project is not finished yet Only the base of the RFID reader controller is built with the essentials functions but some required features are not developed yet
49. he parameters that we set match with the mask MemoryBank we select now the bank of memory on which apply the mask Here TagID is selected that means that the tagID will have to Pointer this is the offset to apply on the mask As there are two reserved words of 16bits in the TagID bank before the tagID the default value is 20 The value of 28 indicates that we will apply the mask on the second and third words of the tagID TagMask this is the value of the mask in an hexa format TrunkAction this is the truncate action if it is unspecified the reader decides what truncate action to take If it is truncate the reader report only the portion of the ID following the mask Now click on the Add button to add the ROSpec in the ROSpec list then select it enable it and start it The reader will report only the tags starting with XFO Julien David Design of a RFID Controller Page 45 of 64 Appendix B Source Code documentation w404 3adso4 ppe 34 ui pub eniadoud silueuip ay ayepdn 03 juana ayy eJe pap 03 pasn si sse SIYL ypalqo beg ay je 24095 03 pasn pi ssejp SIYL poyjaw uo4easaJ 94I9ads e ppe o3 4ap4o ul 3sr eJ4g Woy pajuagxa ssejo e si SIYL sse 5 Be si JO a2uejsui ue o spuodsa1109 He peau yoeg she au juasauday 03 pasn sse 5 abessaw bijuoo 4apeaJ jas au 404 suajauueued e auyap 03 pasn si sse SIL abessaw blyuod sapea 395 ay Joy suajaweued e auljap 0 pasn si SSE SIYL abessaw Dijuoo sapea jag au Joy siajaw
50. he reader It asks the reader to put an operation in the Active state The ROSpecID must be specified in parameter A ROSpec must be in the Inactive state to be started START_ROSPEC_RESPONSE This is the response sent back by the reader when receiving a START_ROSpec request It contains the status of the operation in the LLRPStatus parameter The different failure causes are e There is not any operation with the specified id e The operation is not in the nactive State e The maximum number of actives operations set up on the reader is reached STOP_ROSPEC This message send by the client to the reader stops the execution of the ROSpec corresponding to the ROSpecID passed in parameter Upon receiving the message the reader overrides all the priorities stops the execution of the operation and moves the ROSpec to the Inactive state But the operation is not deleted it is still configured on the reader and can be launched once again with a START_ROSPEC message STOP_ROSPEC_RESPONSE This is the response send by the reader when receiving a STOP_ROSPEC message If the specified id does not correspond to an existing operation on the reader the LLRPStatus parameter will indicates it If the stop command has been run successfully the status code value is M_Success ENABLE_ROSPEC This is the message send by the client to the reader used to move the ROSpec corresponding to the ROSpecID passed in parameter from the Disable State to the
51. iae 41 Graphical User Interface Presentation ss 41 Setup aRe d r OPC Gti OM oc ives cc dti tire e testi de des ABUS 42 Setup the tag filtering RE tysdag innsidesak edda 45 APPENDIX B SOURCE CODE DOCUMENTATION enne enne enne enne nnne enn 46 APPENDIX C SYNTHESIS IN FRENCH S YNTHESE EN FRANCAIS nn esee 48 Julien David Design of a RFID Controller Page 3 of 64 Tntroduchonsss usa dan la Gas and LA etaed ie um eps a ALAN Re cer UE 48 D veloppement dit pr jeku gunn ro ite she tes he eie ANN eU PRU er AG ee es 50 APPENDIX D RIFIDI EMULATOR DOCUMENTATION unes 56 APPENDIX E EXAMPLES OF LLRP MESSAGES essere nennen neret ee nett nnn enne nennen 59 GET READER CAPABILITIES RESPONSE esses eene eene nennen nnne nnne 59 ADD ROSPEC MESSAGE ns eee nnne enne enne enne 60 RO ACCESS REPORT ulunan ana NANANA NANANA 61 REFERENCES EEE 64 Julien David Design of a RFID Controller Page 4 of 64 Introduction As the main domain of this project is the RFID this introduction will present the basics knowledge about this technology We will see quickly what is an RFID system how does it work and what it consists in After this first part I will present the main components of an RFID system the readers and the tags and the dialog between these two entities Then I will present LLRP the protocol used as interface between the readers and a client Usually is called Client the entity which dialog with a reader via LLRP th
52. ication is Low Level Reader Protocol LLRP 4 e Reader tag interface We will focus on EPC Global Class 1 Gen 2 UHF standard 9 because it is the commonly used Julien David Design of a RFID Controller Page 17 of 64 Project development The project has been divided in three distinct parts the first thing to do was study the different RFID simulators and choose one Then I started working on LLRP study the protocol and spot the essentials features At last I worked on the development of a basic controller and then on the final controller Note There are in this part some references to the performances of the computer My evaluation is based on the computer I used during this project PC with 1 4 GHz processor 2Go of RAM equipped with WinXP Comparative analysis of RFID simulators This part has to present the different solutions for simulating RFID readers First the criterions for selection will be presented and explained All this criterions are linked to the project specifications and has been defined regarding to these specifications Then all the simulators will be described with their strengths and weaknesses and finally all the solutions and how they correspond with the criterions will be summarized Criterions The following criterions have been defined e Simulation of real readers e Support of the Reader to Tag communication e Support of the Reader to Tag protocol Support of EPC Global Class 1 Gen 2 e Support
53. ir signal be transmitted to the reader is much shorter compare to other tags types and is usually between 2 5cm to about 100m 2 Active tags are those which are carrying an onboard power source although this shouldn t necessarily be a battery source as other sources such as solar might be feasible as well Two different terms are often used to express the type of active tags they are transmitter and transponder Transmitters are those kinds of active tags which transmit data all the time regardless of presence or absence of a reader because it is not necessary for the tag to have a reader in accessible range Transponders on the other hand are those which can be entered into a sleep state when there is no reader in their accessible range and as the result they are capable of having a much longer lifetime as they are waiting for a wake up command from the reader to start up and therefore saving battery on other occasions The batteries in active tags can last from two to seven years The onboard battery feature makes active tags more expensive and complex and also larger to make Julien David Design of a RFID Controller Page 9 of 64 compare to their passive counterparts but also makes them work in a much larger range as well as the capability of working in much higher frequencies Although active and passive are two different types of the same component RFID tag usually depending on which type of tag has been used these two different n
54. jorm oorjojorm ojo i Mon Aug 04 16 22 31 CEST 2 D Jl Start Test Manage Companies Manage Test Types Clear Table Figure 9 Fake reader running on TagCentric As it is possible to connect a fake reader fig 9 which allows the user to have a virtual reader we could use it for our simulation but the possibilities of this reader are very limited However as the source code is available we could study it for inspiring us for the way to build our own controller RFID Anywhere The third solution is in my mind the most complete This is very big commercial software in which RFID simulation is only a part Julien David Design of a RFID Controller Page 22 of 64 RFID Anywhere is a flexible software infrastructure that integrates business logic and processes with a variety of automatic data collection and sensor technologies including RFID barcodes mobile devices PLCs location tracking systems environmental sensors and feedback mechanisms This powerful infrastructure enables the creation of intelligent sensor networks out of the box By using RFID Anywhere sensors are able to work together as an intelligent network by combining organizing and coordinating these technologies through a common management structure advanced feature set and event driven development framework 5 I have downloaded the evaluation version and installed it But as it is huge software I do not manage to re
55. les plus simples d une antenne et d un circuit int gr Il existe des tags appel actifs qui ont en plus une batterie ce qui leur permet d mettre leurs informations en continue sans n cessit de recevoir au pr alable une requ te de la part du lecteur La puissance pr sente dans le tag tant beaucoup plus importe ces tags peuvent tre lus depuis des distances bien plus importantes En contrepartie ils coutent beaucoup plus cher d velopper et sont beaucoup plus gros que leurs homologues passifs Le paragraphe suivant va pr senter le protocole LLRP Low Level Reader Protocole Ratifi en avril 2007 par l EPC Global en tant que standard ce protocole sert standardiser l interface r seau des lecteurs Attendu depuis plusieurs ann es ce protocole est vu par beaucoup d industriels comme l l ment manquant pour promouvoir la technologie RFID un tr s haut niveau d utilisation L unit de donn es de LLRP est le message ces messages sont transmis du Client vers le Lecteur ou du Lecteur vers le Client Dans LLRP est appel Client toute entit qui dialogue avec un lecteur RFID Ce client peut tre logiciel mais il peut tre mat riel aussi c est pour a que cette d signation a t choisit car elle ne sugg re pas d id e quand a l tat du Client En utilisant des messages LLRP le Client met jour l tat du lecteur cela inclut les param tres de configuration du lecteur les structures de don
56. lt C1G2EPCMemorySelector gt lt TagReportContentSelector gt a a p P p p Y 2 lt ROReportSpec gt lt ROSpec gt sage gt RO_ACCESS_REPORT lt lt lt lt lt lt lt lt lt lt lt lt Message type ROAccessReport gt lt TagReportData gt EPC96 gt lt EPC value 2F OC 5C 42 38 54 E2 F6 63 9F 44 C3 EPC96 gt ROSpecID gt lt ROSpecID value 3 gt ROSpecID gt lt SpecIndex gt SpecIndex value 0 gt SpecIndex gt InventoryParameterSpecID gt lt InventoryParamSpecID value 0 gt InventoryParameterSpecID gt lt AntennaID gt lt AntennalD values ws AntennaID gt lt PeakRSSI gt lt PeakRSSI value 0 gt PeakRSSI gt lt ChannelIndex gt lt ChannelIndex value 0 gt ChannelIndex gt lt FirstSeenTimestampUTC gt lt Microseconds value 1213305450421000 gt FirstSeenTimestampUTC gt lt LastSeenTimestampUTC gt Microseconds value 1213306047315000 gt lt LastSeenTimestampUTC gt lt TagSeenCount gt lt TagCount value 3 gt lt TagSeenCount gt lt TagReportData gt lt TagReportData gt EPC96 gt Ji Ss Julien David Design of a RFID Controller Page 61 of 64 lt HPC walues 2r 33 AD SA HO BD Gg Gs GS Se yi CB V s lt EPC96 gt lt ROSpecID gt lt ROSpecID value 3 gt lt
57. lt TagSeenCount gt lt TagCount value 3 gt lt TagSeenCount gt I Julien David Design of a RFID Controller Page 62 of 64 lt TagReportData gt lt Message gt Julien David Design of a RFID Controller Page 63 of 64 References 1 The RF in RFID Physical layer operation of passive UHF tags and readers http www enigmatic consulting com Communications_articles RFID RFID_protocols html 2 Wikipedia English Radio Frequency Identification http en wikipedia org wiki Rfid 3 EPC Global http www epcglobalinc org home 4 EPC Global LLRP Low Level Reader Protocol http www epcglobalinc org standards IIrp 5 School of Information Technology and Engineering SITE http www site uottawa ca eng 6 Wikipedia English University of Ottawa http en wikipedia org wiki University_of Ottawa 7 Wikipedia English University of Ottawa Research http en wikipedia org wiki University of Ottawa Research 8 Research Proposal Development and Simulation of Enhanced RFID Systems Miodrag Bolic Ata M Khan Mustapha C E Yagoub Oliver W W Yang 9 EPC Global Class 1 Generation 2 UHF Air Interface Protocol http www epcglobalinc org standards uhfc1 g2 10 RIFIDI project http rifidi org 11 RIFIDI Source code SVN https 67 207 137 86 svn rep external 12 Multi channel MAC Protocol http ieeexplore ieee org iel5 433
58. n es cr es dynamiquement ROSpecs et ventuellement d autre donn e propri taires C est pourquoi LLRP n cessite des accus s de r ception pour les changes entre lecteur et client Les Reader Operation sont un des types d op ration qu un client peut param trer sur un lecteur C est l op ration qui a t la plus largement utilis e dans le d veloppement du contr ler c est pourquoi le paragraphe suivant ne traitera que de ce type d op ration Une Reader Operation d finit les param tres pour un traitement ex cuter par le lecteur Elle contient au moins une sp cification que ce soit une sp cification pour une op ration de type inventaire AISpec ou une sp cification pour une op ration de type radio fr quence RFSurveySpec Le principe d une op ration de type inventaire est que le lecteur va interroger tous les tags pr sents dans sa zone Pendant une op ration de type radio fr quence le lecteur Julien David Design of a RFID Controller Page 49 of 64 effectue des mesures de puissance du signal au niveau des antennes et cela dans des gammes de fr quences diff rentes D veloppement du projet La partie suivante aborde le d veloppement du projet ce projet s est d roul en trois phases e Une tude comparative des diff rents simulateurs de lecteurs RFID existants e Une tude sur le protocole LLRP e D veloppement du contr leur de lecteur RFID Etude comparative sur les sim
59. n the reader is now displayed in the reader list Available Readers RIFIDI 127 0 0 1 Figure 18 New reader displayed in the reader list The following step is now to connect to the reader by selecting the reader and clicking on the Connect button After doing that new actions are available Julien David Design of a RFID Controller Page 42 of 64 Connection Actions Add ROSpec Status Connected Enable ROSpec Connect Start ROSpec Stop ROSpec Delete ROSpec Set Reader Conf Reader Config Delete All R Spec a PA DI Delete Reader Reader Information Firmware version Max antennas D Manufacturer Name 0 Model Name 0 GPI available False GPO available False Delete Figure 19 New features available when the reader is connected Click on the Get Reader Capabilities in order to get information about the reader and then on the Add button in the ROSpec action zone A new window opens where you will set up the ROSpec Julien David SE EI AlSpec Parameters AlSpecDuration A SpecStopTriggerT ype InventorySpecProtocol E Filtering Option UseT agFiltering El ROSpec Parameters ROSpecPriority 3 StartingState Disabled E ROSpecStartTrigger Parameters ROSpecStartTriggerType Immediate 3000 Duration EPCGlobalClass1Gen2 False E ROSpecStopTrigger Parameters ROSpecStopTriggerType Null ROSpecPriority Lower numbered priority values are given higher priority Possible Values 0 7
60. n at the same time Basic controller for two readers The two mains improvements of the new version of the controller were e Support of connecting to two readers e Addition of a graphic user interface In order to move closer to the requirements is was indispensable to manage to connect to several readers at the same time and to add an interface able to present clearly of the features provided by the controller For these two reasons I selected the C NET language instead of C language the Toolkit is available also in C I fully beneficiated of the advantage of an object Julien David Design of a RFID Controller Page 32 of 64 oriented programming OOP language in the development of a big software using classes objects inheritances and all the general concepts of the OOP The choice of the language was mine and I choose C because of my experience using it during my industrial project in 4 Developing in C allows also using Visual Studio with the WYSIWYG graphical user interface tool It makes save a lot of time in the development of the graphical user interface Connecting to two readers Note During the debugging step I continue working with RIFIDI Emulator but for the second reader I made tests with a real RFID reader from Impinj 15 The appendix D shows how to set up properly RIFIDI Emulator in order to use it with the controller This was the main work of this version allowing the controller to connect to multiples r
61. n both the simulator and the toolkit Some parameters are required by RIFIDI and are not in the example programs or some the toolkit allows the user to start a ROSpec which has not been enabled This was the first part of my job on this controller compile the examples run them and understand why they work or did not work and finally solve the problems Once I had these examples running correctly I built my own functions and a basic program with the objective to have a program able to connect to the reader and send only one or two basics commands For example as shown on the fig 3 the sequence could be e Connect to the reader e Send a basic SET READER CONFIG message e Close the connection Julien David Design of a RFID Controller Page 31 of 64 Session Edition Affichage Signets Configuration Aide davidjegrimbergen Documents client src main What do you want to do 1 Connect to the Reader 2 Quit 1 Try to Connect to the Reader O What do you want to do 3 Set Reader Config 4 Diconnect Sending Configuration Command Config Set What do you want to do Set Reader Config Diconnect Quit 4 Disconnected What do you want to do 1 Connect to the Reader You are leaving the program davidj grimbergen Documents client src J as Terminal ili Terminal No 2 Figure 13 Screenshot of the basic C program Of course this basic program was only able to manage one LLRP connectio
62. ntroller Page 29 of 64 Then the second step was about working on a basic controller with a GUI but only the basics features and finally the third one was to build a complex controller with almost all asked features Introduction to LLRP Basic controller for one reader After the ratification of the LLRP standard a group of companies and universities started working together in order to build a robust toolkit to purpose to the public 14 The objective of this development was to enable an accelerate LLRP development This toolkit is available in different programming languages such as C C NET JAVA or Perl After my work on identifying the required LLRP features I started working on a basic implementation of LLRP based on this LLRP toolkit in C language Ju 1david Hoogardeen media Data ESISAR PFE Data Stage LTK ETKC Example ermin Session dition Affichage Signets Configuration Aide jdavid Hoogardeen media Data ESISAR PFE Data Stage LTK LTKC Examples examplel v 127 0 0 1 Connecting to 127 0 0 1 Connected checking status Connection status OK ROSpec added ROSpec enabled Starting run 1 ROSpec started 3 tag report entries 2FEA 7987 57DA 1A9C SFAD 4FF5 2FD7 91AA 9B10 C161 701C C943 2FFC 22C2 E410 251B 9COD B9AD INFO Starting run 2 INFO ROSpec started INFO 4 tag report entries 2FEA 7987 57DA 1A9C SFAD 4FF5 2FDF AFSD C505 7959 D763 BE60 2FD7 91AA 9B10 C161 701C
63. of LLRP e Limit for the number of readers to simulate the objective is to simulate 100s readers The simulation of the dialog between the tags and the readers is required because some information are exchanged in this communication for example the tag filtering is set up on the reader and then the reader filter the tag using EPC Global C1G2 As tag filtering is one of the requirements for the controller this dialog has to be simulated Simulators The various software studied are Julien David Design of a RFID Controller Page 18 of 64 of e RIFIDI e Tag Centric e Opnet e RFID Anywhere This list has been defined at the beginning of the project they are all software that have been identified as RFID simulators RIFIDI Here is the presentation of the software on the website 10 Components and removes the dependency infrastructure that RFID typically that behave like their real life counterparts Rifidi is the premier open source IDE for RFID let s you develop an RFID system entirely Software hardware and demands Rifidi makes it possible to Virtualize your infrastructure with Software Defined RFID Readers RFID Tags and RFID Events IRALE n gh RIFIDI is an open source software developed in JAVA The source code is available via the SVN repository on the web 11 This RIFIDI development project born when a team of industrial engineers tried to implement a client for 10 s a readers and th
64. ox of the reader this is the electronic and process part of the reader All the antennas are connected to the RF module but also the serial link or the network link Readers are usually classified into two different groups e Serial reader e Network reader The serial readers use a serial communication link to communicate with an application and usually serially connected to a computer through RS 232 or RS 485 serial connections The main advantage of this sort of readers is reliability of communication link and as the result using these readers is minimizing the dependency on a communication channel Their main disadvantage is the dependency on maximum cable length that can be used to connect them to a computer The network readers communicate with an application through both wired and wireless communication Unlike their serial counterparts they don t depend on the maximum cable length that can be used to connect them to a computer Another advantage that they have is the ability to update their firmware remotely without any need to physically visit the reader and consequently the maintenance effort and ownership costs of these readers are lower The disadvantage they have when compared to their serial counterpart is that they are not as reliable as serial readers Tag The tags are the other part of the RFID system this is a small component composed essentially by an antenna and an integrated circuit This circuit contains a small r
65. panga F Sse 2 uanoajoo Del saipadoigd Helga a spoypap be lr Siaquiayy He 1g 10 N4SU09 felg sselo be 1p unua UONEPNBA weie dfyuogapeaates 7 SSEID Were dHyUoquapesHlasey nuweg podayoy fyuoouapesujes pE 319 weed podayoy FUUOOISRESMES EN B 219 weied anjedaay BUUOOISPESNESS HB Jed ejegeiuodo Hyuoquapeawesey eisiuaun2uogido9 Byuogsapeauesg m 19 samedodeuuauy BUUOOISPES MISE B uopeinGyuooeuuaquy Hyuoquapeawlesgy B 3 sedsuodessa ov hyuoquapeamesey F Sse 23 HyuoquapesHesgy B SSEID uopaaljo908ds0 Nga 8 SSE19 SISPESUS m SSEID 3BUg018pE aNg m SSI UONIAI ODSPE SSD fr SSEID 18 HAd0 dg Bm Sse 23 QE L N 7 SSE 2 Puokuadordiug F SSe 23 madudu E SSEID XOGISF N ft SSEID LUO IG iz SSEID UIO JI81SOYPP Vg E s4angpapaanajepan weed 3edsodppy r ed amp 1uoneniesqoDeyueje d 3edsogppv z 3 ed piueg aouiay Weed 28ds08pPy g SSEID Weld 18d505PPVgy F SSE19 APES AAV E asedsaweN laljonuos18pesdeuO E EE Page 47 of 64 Design of a RFID Controller Julien Davi Appendix C Synthesis in french Synthese en francais Ce document traite de mon projet de fin d tude effectu au premier semestre 2008 dans un laboratoire de l universit d Ottawa au Canada plus particuli rement dans le d partement ing nierie Ecole de Technologie de l Information et d Ing nierie EITI Le sujet de ce projet tant Design d un contr leur de lec
66. ponibles Cette commande permet de reconfigurer le lecteur avec des nouveaux param tres Le message contient une liste de huit diff rents types de param tres ces types peuvent tre e Configuration des antennes e Configuration des GPO GPI e Configuration des messages de keepalive Le lecteur r pond ensuite avec un message SET READER CONFIG RESPONSE contenant le statut de la commande Il faut savoir que les fonctions pr sent dans cette partie sont les fonctions qui ont t impl ment s dans le contr leur Il existe d autres fonctions qui n ont pas t d sign es comme tant indispensable pour le fonctionnement du contr leur D veloppement du contr leur de lecteur RFID La partie suivante d taille le d veloppement logiciel du contr leur de lecteurs RFID Ce d veloppement s est d roul en trois phases e Une premi re phase d criture de programme C utilisant les biblioth ques de fonction de LLRP e Une deuxi me phase de construction d un logiciel avec interface graphique en C NET e Une troisi me phase d am lioration du pr c dent logiciel avec int gration de fonctionnalit s plus complexes Les deux premi res phases n ayant pas produit de r sultats concrets pour la fin du projet elles ne seront pas d taill es dans cette synth se Pour plus d informations concernant les deux premi res versions du contr leur elles sont d taill es dans le corps du rapport Julien David Design of a RFID Controller Page
67. port of time multiplexing Possibility to restart a finished RO Support of tag filtering Detection of idles tags Graphical interface improvements I AddRospec Par po myPropertyGrid Class PropertyGrid myTab g Chss PropertyTab Readers Class Resources Y SetReaderConfi Class SetReaderConfi Class SetReaderConfl x Figure 14 Class diagram of the re RFID reader controller AddROSpecForm Y Class Form Gm en oe eme m m m m Program I Static Class I ROSpecCollection Class Tb Arraytist Class Class Tag x SetReaderConfi 3 Formi Cass Form PropertyList myListbox Class gt ListBox readerCollection myProperty Y Chass ReaderOSpec 3 Chss I SetReaderConfi Chss Class Class NameObjectCollectiontis bArraptist SetReaderConfig x SetReaderConfi Class Class Form I SetReaderConfi SetReaderConfi Class tagCollection updateProperty Chass ArrayList EventArgs SetReaderConfi Chass ICustomClass x Interface The first objective of this new version was to enable the connection to more than two readers It has been done by changing the data structure to manage the different connections Using advantages of the OOP a Reader class has been defined fig14 and an instance of this class was created for each connected r
68. programs in a large range of disciplines in the eleven faculties e Art e Civil law e Common law e Education e Engineering e Graduate and Postdoctoral studies e Health sciences e Medicine e Sciences e Social sciences e Telfer school of management The research is also now an important activity for the university because it is part of the Group of Thirteen which is a group that describes itself as the leading research intensive universities in Canada But according to the RESEARCH Infosource 2007 publication 7 the university is ranking as 5 in research intensity and 9 in total research funding School of Information Technology and Engineering The School of Information Technology and Engineering SITE is the University of Ottawa s centre for research and teaching in all domains related to computing computers and communications This department founded in 1997 by the merger of the Department of Computer Science and the Department of Electrical and Computer Engineering counts now about 775 undergraduates students and 400 Julien David Design of a RFID Controller Page 14 of 64 undergraduates students working on advanced degrees on Computer Science and Electrical and Computer Engineering This department is also very active in research with over than 70 permanents researchers working with the students and leading the research groups There are 15 research groups based on Photonics Software Engineering Robotics Bioinforma
69. s value 0 gt lt MaxNumOpSpecsPerAccessSpec value 0 gt lt LLRPCapabilities gt lt RegulatoryCapabilities gt lt CountryCode value 0 gt lt CommunicationsStandard value 0 gt lt UHFBandCapabilities gt TransmitPowerLevelTableEntry Julien David Design of a RFID Controller Page 59 of 64 lt Index value 0 gt lt TransmitPowerValue value 0 gt lt TransmitPowerLevelTableEntry gt lt FrequencyInformation gt lt Hopping value false gt lt FixedFrequencyTable gt lt FrequencyElement value 0 gt lt FixedFrequencyTable gt lt FrequencyInformation gt lt UHFC1G2RFModeTable gt lt UHFC1G2RFModeTableEntry gt lt ModeID value 0 gt lt DRValue value false gt lt Conformance value false gt lt Mod value 0 gt lt FLM value 0 gt lt M value 0 gt lt BDRValue value 0 gt lt PIEValue value 0 gt lt MinTariValue value 0 gt lt MaxTariValue value 0 gt lt StepTariValue value 0 gt lt UHFC1G2RFModeTableEntry gt lt UHFC1G2RFModeTable gt lt UHFBandCapabilities gt lt RegulatoryCapabilities gt lt C1G2LLRPCapabilities gt lt CanSupportBlockErase value false gt lt CanSupportBlockWrite value false gt lt MaxNumSelectFiltersPerQuery value 0 gt lt C1G2LLRPCapabilities gt lt Message gt ADD_ROSPEC_MESSAGE l
70. sibilit s et de ses diff rentes fonctions Les fonctions de LLRP sont regroup es dans trois sections e Reader Operation Section e Reader Device Capabilities Section e Reader Device Config Section Julien David Design of a RFID Controller Page 51 of 64 Reader Operation Section La premi re section regroupe les fonction relatives aux Reader Operation On trouve par exemple des fonctions pour cr er une ROSPEC l activer puis la d marrer Dans l autre sens il existe aussi des fonctions pour stopper une ROSPEC la d sactiver et la supprimer Chacune de ces fonctions est b tie sur le m me mod le c est dire qu chaque fois il est indiqu en param tre du message un identifiant de ROSPEC Cet identifiant unique pour chaque op ration est g n r par le client lors de la cr ation de l operation ADD ROSPEC L action correspondante au message est ensuite effectu e sur la ROSPEC ayant l id pass en param tre La cr ation d une op ration est le seul message un peu diff rent des autres C est la seule de ces fonctions qui comporte d autre param tres que l identifiant Comme pr sent dans l introduction sur LLRP une ROSPEC d finit un certain nombre de AISPEC ou de RFSurveySpec Les param tre de ces SPEC sont donc pr sents dans le message de cr ation ainsi que les param tres de rapport Le client via le message ADD ROSPEC peut choisir le type d information qu il souhaite dans les rapports d op rations il peut
71. sponse to the GET READER CAPABILITIES request By sending this message the reader informs the client about its capabilities The information send by the reader are grouped in four categories GeneralDeviceCapabilities LLRPCapabilities RegulatoryCapabilities and AirProtocolLLRPCapabilities The names of the categories are quite explicit and I won t detail all these groups except the General Device Capabilities which correspond to the data used in the controller The information send in the General Device Capabilities are for example the support or not of GPI GPO and the number of ports the manufacturer identifier the firmware version the maximum number of antennas to connect the model identifier but also more technical information with the number of Air Protocols supported by the antennas or the sensitivity range received for each antenna Julien David Design of a RFID Controller Page 28 of 64 In this controller we use this request to know the number of GPI GPO ports available and the general characteristics such as the firmware version or the manufacturer identifier Reader Device Config Section This section is dedicated to the functions used for the configuration only the function to set the configuration is implemented in our controller SET_READER_CONFIG This command sent by the Client to the Reader is used to set the reader configuration using the parameter defined by the Client The values configured by this command ar
72. t Message type AddROSpec gt lt ROSpec gt ROS pee DDE vcs 10213 s lt Priority value 0 gt lt CurrentState value 0 gt lt ROBoundarySpec gt lt ROSpecStartTrigger gt lt ROSpecStartTriggerType value 0 gt lt ROSpecStartTrigger gt lt ROSpecStopTrigger gt lt ROSpecStopTriggerType value 1 gt lt DurationTriggerValue value 1000 gt lt ROSpecStopTrigger gt lt ROBoundarySpec gt lt AISpec gt AntennaElement value 0 gt lt AISpecStopTrigger gt lt AISpecStopTriggerType value 1 gt lt DurationTrigger value 1000 gt lt AISpecStopTrigger gt lt InventoryParameterSpec gt lt InventoryParameterSpecID value 1234 gt ProtocolID value 1 gt lt InventoryParameterSpec gt lt AISpec gt Julien David Design of a RFID Controller Page 60 of 64 lt Mes lt ROReportSpec gt lt ROReportTrigger value 2 gt lt N value 0 gt lt TagReportContentSelector gt EnableROSpecID value true gt EnableSpecIndex value true gt EnableInventoryParameterSpecID value true gt EnableAntennaID value true gt EnableChannelIndex value true gt EnablePeakRSSI value true gt EnableFirstSeenTimestamp value true gt EnableLastSeenTimestamp value true gt EnableTagSeenCount value true gt EnableAccessSpecID value true gt lt C1G2EPCMemorySelector gt lt EnableCRC value false gt lt EnablePCBits value false gt
73. teur RFID ce rapport commencera par une rapide introduction sur les concepts cl de la technologie RFID Ensuite je pr senterai le protocole LLRP qui a t tudi puis impl ment dans ce projet avant de d velopper plus en d tail le travail effectu pendant ce projet Introduction La RFID est une technologie sans fil qui utilise des signaux de radio fr quence C est une technologie mergente qui est de plus en plus utilis dans l industrie pour des applications diverses allant du suivi sur une chaine de production l identification des produits dans un entrep t Derni rement cette technologie t int gr e dans certains passeports pour une lecture rapide des informations de bases La cl de cette technologie repose sur le dialogue entre les deux entit s cl d un cot le lecteur et de l autre l tiquette ou tag Le tag est un l ment dot d un micro circuit int gr avec sa m moire et d une antenne Le signal lectromagn tique mit par le lecteur via son antenne suffit alimenter le tag qui peut ensuite d coder le signal recut et le cas chant y r pondre Ce mod le de communication implique donc que le lecteur initialise l change chaque fois puisque le tag n est aliment qu une fois le signal recu Comme dans toutes les technologies sans fil il existe un probl me de collision lorsque deux ou plus entit s essayent d acc der au canal Il existe diff rentes sorte de collision deux lecteurs
74. that we need for this project The Emulator tool is not far away from his small brother the simulator engine is the same But here there is no evolving environment the user can just set up readers generate tags and put them in the readers read range then remove or change their area fig 8 Julien David Design of a RFID Controller Page 20 of 64 Rifidi Emulator og Eile Help s2 gt Readerview 23 CO Blei RB reader eo Gen Data Type Tag ID Gen Data Type Tag ID T GENZ CustomEPC96 4F 50 36 9A CE 56 37 DE E4 01 C6 78 1 GEN2 DoD 96 2F 54 4F 2F C7 03 2E 87 BA 46 8C 44 G GENZ CustomEPC96 4F 50 7D 1E A6 C3 43 AC 76 2D F6 2C A GENZ CustomEPC96 4F 50 61 11 59 32 C6 67 60 20 DS 84 T GENZ DoD 96 2F C2 2E BA B9 28 B5 B1 FE AD 7A F9 T GEN2 CustomEPC96 4F 50 35 E2 14 1F FD 39 13 E8 16 CD RI GEN2 CustomEPC96 4F 50 98 3F 7B 29 EA D8 9C 31 A6 6D T GEN2 DoD 96 2F 1F 68 75 DA 00 86 46 F1 SD 28 BB T GEN2 55CC 96 31 08 04 96 OC 31 44 98 38 00 00 00 T Genz DoD 96 2F 1F D9 04 FA 59 BB 54 A7 9D 2B 7A 7 GEN2 DoD 96 2F FA 38 AD 04 12 CE AE 1C 48 CO C7 L T GEN2 55CC 96 31 09 20 7F A2 OC 57 BF AA 00 00 00 A GENZ CustomEPC96 4F 50 BE 81 BE 96 86 90 BC 1C 61 AD E Ba GENZ SSCC 96 31 14 14 6B 40 60 BC 94 OD 00 00 00 Lu Tagsview 25 o GEN2 55CC 96 31 08 BA A0 9B 76 5D DC 43 00 00 00 Gen Data Type TagID HR GEN2 DoD 96 2F C2 2E BA B9 T Genz CustomEPC96 4F 50 61 11 59 32 C6 67 60 20 D5 84 GEN2 CustomEPC
75. that we will use The black point of this emulator is one more time the simulation capacity Even without the graphical evolution of the environment the limit is about six simulated readers running at the same time Even if it is in progress regarding RIFIDI Designer it is still not enough for the project requirements However using a such user friendly software for simulating only a couple of readers during the debugging step could be useful As the only bad point is the amount of readers that can be simulated it is interesting to keep an eyes on RIFIDI Emulator Moreover the development team is very active there are often new releases it is available on an IRC channel and is listening all the incoming comments or demands Julien David Design of a RFID Controller Page 21 of 64 TagCentric This software developed by a lab of the University of Arkansas lab accredited by the EPC Global for RFID testing is also an Open Source software Written in Java language it is built as a collection of classes that wrap RFID related devices It is a very simple software with a user friendly GUI The general goal of this software effort is to provide a simple open source application capable of integrating RFID readers RFID tag printers and a database of the user s choosing In the never ending battle between simplicity and complexity we generally err on the side of simplicity Simple software is easier to manage and simple user interfaces ar
76. the readers and configure specific scanning operations on the readers This report explains the approach done in the different steps of the project which are e Analyze and choose software for RFID Reader simulation Because of the large amount of readers to control it was impossible to work only with real readers e Study the Low Level Reader Protocol LLRP in order to identify the main and essentials features e Implement the main LLRP operations on a basic controller e Develop a software which is able to connect to several readers and allows the user to set up operations on all these readers But before going through these issues I will present the context of the project with a detailed description of the main RFID component and the protocol LLRP There is a French synthesis of this technical report in appendix C Acknowledgements I would like to thanks Pr Miodrag Bolic for his support during this project supplying me the resources of the University of Ottawa and guiding me in this project development Julien David Design of a RFID Controller Page 2 of 64 Table of content ABSTRACT Let M BRUN 2 TABLE OF CONTENT N 3 INTRODUCTION 5 REID SYSTEM E 5 AA 8 yr E 8 EERP
77. tics and Biomedical Engineering or Wireless Networks and Mobile Computing in which this project was attached SITE has also strong connections with local industry and this results in a dynamic environment of collaboration and practical impact Many research projects are entrusted by these industries to various labs of the university and many undergraduates students after working for a company during their studies are employed by the companies The project beneficed of all the resources available at the SITE computers of course but also RFID components readers and tags Context of the project This RFID reader controller project is part of a big research proposal Initiated by four professors from the University of Ottawa Prs Bolic Khan Yagoub and Yang this project is called Development and Simulation of Enhanced RFID Systems 8 The objectives of this research project are multiple the first one is to get important knowledge about RFID Because of its high potential to improve automate and facilitate many existing applications RFID is really a key technology and it is really important for researchers to master it This first objective is more theoretical than the others and the second objective is to develop a new RFID reader with uncommon features that would be used for several new applications These features include detection of fast moving tags positioning of tags or mitigation of interference problems Of course this rea
78. tion to be executed by the reader that means that the reader will query all the tags present in his read range The other kind of operation RFSurvey operation is an operation during which the reader performs a scan and measures the power levels across a set of frequencies at an antenna Julien David Design of a RFID Controller Page 12 of 64 Many RO can be set up on a reader depending of the reader capabilities each one with his priority If all the operations have the same priority the first started is executed and as soon as the reader has a free slot the second one can be launched too However some readers allow only a restricted number of configured RO even if they are not started Julien David Design of a RFID Controller Page 13 of 64 Context presentation University of Ottawa The internship took place in a lab at the University of Ottawa particularly in the SITE School of Information Technology amp Engineering department 5 Located in Ottawa downtown Ottawa University is a bilingual university that means that the courses are fairly divided both in English and in French Founded in 1848 by the Missionary Oblates of Mary Immaculate the Bytown College was at the beginning a small catholic school 6 Now with more than 30 000 students in 11 different faculties Ottawa University is the most important bilingual university of North America The university purposes courses of first second and third level and professional
79. to have an Ethernet channel or other wireless channel This software is often used to validate protocols such as RFID readers to tag protocols but also reader to reader protocols Colorwave protocol for example The main advantage is the variable abstraction level the user can specify a network using existing device in the library but he can also go to a lower level in order to modify the behavior of each component of the network The level can be downed to Julien David Design of a RFID Controller Page 23 of 64 the point where the user can create a new device from a finites states machine definition Ea Project Satellite Demo Scenario baseline Subnet top Jog Fie Edt View Scenarios Topology Traffic Services Protocols NetDoctor Flow Analysis DES SONY Design Windows Help OSHSIGRRROONVSERP Aa MANN ee AGE Bs Project Editor rise Network Scenario with traffic Subnet top imported Network Tepdogy Trac Seres Protos NetDodor Plow Anas DES 3087 Oei Windoes He Open Model Source Code Tep manager v3 OPEN Enter Dec Sg une Figure 10 All abstraction levels available in Opnet Modeler 13 All levels can be modified in order to simulate precisely a network fig 10 After this first step of network definition the user can specify all the data he wants to analyze Because of the flexibility of the simulation Opnet modeler is really a software that matches to our project needs It supports L
80. tor 10 ainsi que le lecteur Impinj Speedway 15 ont t utilis Les diff rents sc narios ont t essay s deux lecteurs simul s puis le troisi me r els trois lecteurs simul s en m me temps des sc narios avec des d connections successives des lecteurs tout a pour s assurer que l exigence principale de ce contr leur tait bien respect L envoi de message plusieurs lecteurs n est pas plus complexe que l envoi a un seul Etant donn que les messages ne s adressent qu un seul destinataire le message est envoy au lecteur dit actif dans le logiciel Une liste des lecteurs tant affich le lecteur s lectionn est celui actif celui avec lequel contr leur va dialoguer Le probl me principal d avoir plusieurs lecteurs connect intervient lors de la r ception de rapport d op ration En effet comme les op rations peuvent avoir des dur es variables parfois non connues du contr leur le client peut programmer une op ration jusqu avoir scann un nombre n de tags diff rents il est impossible de se baser sur la chronologie des messages pour savoir qui est l metteur d un rapport La solution qui a t retenue est de rep rer l identifiant de l op ration correspondante puis de chercher quel est le lecteur sur lequel a t configur l op ration avec cet identifiant Cette solution implique d avoir une gestion des identifiants d op ration qui soit commune a tous les lecteurs conne
81. ulateurs RFID L objectif du projet tant de construire un contr leur de lecteurs RFID capable de g rer jusqu 100 lecteurs il est bien entendu impossible dans un premier temps de faire fonctionner une centaine de lecteurs pour le d veloppement La solution est donc d utiliser un logiciel de simulation de lecteurs RFID Il existe un certains nombres de ces logiciels parmi lesquels e RIFIDI e Tag Centric e RFID Anywhere e OPNET Modeler La premi re phase du projet a donc t d identifier le simulateur ad quat pour ce projet Il a fallu donc d finir les crit res de s lection du simulateur et leur importance En ayant en parallele le cahier des charges voici la liste de crit res s lectionn s e Simulation de lecteurs existants e Simulation de la communication entre le lecteur et le tag e Support des protocoles entre le lecteur et les tags o Support de EPC Global Class 1 Gen 2 e Support de LLRP e Limite du nombre de lecteur simulables La simulation du dialogue entre les tags et les lecteurs est n cessaire parce que certaines informations importantes sont chang es pendant cette communication Par exemple le filtrage des tags est configur sur le lecteur puis le lecteur filtre les tags en utilisant EPC Global C1G2 Comme la fonctionnalit de filtrage des tags est n cessaire le support du protocole EPC Global C1G2 devient tout aussi n cessaire Une fois les crit res d finie il a fallu utiliser chacun des logiciels de l
Download Pdf Manuals
Related Search
Related Contents
QX4500 User Manual Installation Manual Triumph Rocket III Version 2 Lincoln Electric IM607 User's Manual TM817 instrucciones PICASSO 1 DYNAPAC CA150 ENTRETIEN TechniBox HD VA2 Stampa Copyright © All rights reserved.
Failed to retrieve file