Return Home
HOW TO: Create an open source EPCglobal Network
Contents |
Introduction
This work was conducted by Brian Auth, Software Engineer at Penn State Beherend RFID Center, with the help of:
Brian Zentis - Lab manager at the Penn State Beherend RFID Center,
Ed Blazer - President of logicAlloy,
Hans Isern - Vice President of Business Development at logicAlloy,
the Rifidi Team, and
the Accada team
We are interested in hearing feedback from users!
Post all comments at http://epcglobalnetworkdemo.freeforums.org/
This page will show you how to create your own EPCglobal Network using open source software! This tutorial will consist of reading in tag data, filtering it with the ALE server, using EPCIS to capture the data, then using EPCIS to query the data from a repository. You will be installing a lot of software during this setup. It is recommended that you create a file that keeps track of user names, passwords, port numbers, URLs, etc...
EPCglobal
You can find a description of all the standards at http://www.epcglobalinc.org/standards.
TextPad
This download is optional, but it is very useful for looking at XML or error logs. http://www.textpad.com/download/
Rifidi
This program will simulate an RFID reader and tags.
- Go to http://www.rifidi.org/download.html and download the Rifidi emulator.
logicAlloy
logicAlloy will take care of filtering tag data and reporting the filtered data to the EPCIS repository.
- Go to http://www.logicalloy.com/ and download the ALE server.
- Right click on 'My Computer' -> Manage -> Services and Applications -> Services -> ALE Server -> start.
- Log into logicAlloy by going to http://localhost:8080/admin/login.do. Your password is most likely to be 'password'.
- Click on Server -> Settings -> edit. Enter urn:myco:aleserver:12345.67890 in the ALE ID field.
Accada
Accada will provide the capture and query interface of the EPCIS Spec.
- Go to http://www.accada.org/epcis/download.html and download the Accada EPCIS Repository.
- Go to http://www.accada.org/epcis/docs/user-guide.html and follow steps 1-5 under Setup your own EPCIS Repository
- Note you will need to download Apache Tomcat as well. It is very important to change the HTTP Connector Port to something different from logicAlloy's port (8080).
- For Example 8081 or 9090 will do fine
- Note you will need to download Apache Tomcat as well. It is very important to change the HTTP Connector Port to something different from logicAlloy's port (8080).
- Go to http://www.accada.org/epcis/demo.html and click 'Launch Query Client'. Save the file so you have a shortcut to the query client.
MySQL Connector/J
This is a necessary plug-in that allows Accada's Query Client to communicate with the database.
- Go to http://dev.mysql.com/downloads/connector/j/5.1.html
- Copy the .jar file into /$TOMCAT_HOME/lib
- Right click on 'My Computer' -> Manage -> Services and Applications -> Services -> Apache Tomcat -> restart.
Setting up the Demo
- Open RifidiEmulator.exe
- Add a new Reader
- Reader Type: AlienALR9800
- Name: myReader
- Number of antennas: 2
- IP Address: 127.0.0.1:20000
- Heartbeat Address: 255.255.255.255:3899
- Add multiple tags
- Type: SGTIN-96
- Generation: GEN2
- Amount:2
- Repeat previous step with Type: SSCC-96
- DON'T drag the tags onto the antennas quite yet.
- Right click on the reader -> start
- Add a new Reader
- Log into logicAlloy
- Click READERS -> Logical Readers
- Disable the default Logical Reader by going into edit
- Click New
- Name: RifidiGroup
- Persist Time: 5000
- Status: Enabled
- Click READERS -> EPC Devices
- Alien 9-Series -> New
- Name: MyRifidi1
- Logical Reader: RifidiGroup
- Status: Enabled
- IP: 127.0.0.1
- Port: 20000
- Username: Alien
- Password: password
- Alien 9-Series -> New
- Click EC SPECS -> Specs
- New
- Cycle Name: demo
- Include Spec in Reports: Yes
- Logical Reader: RifidiGroup
- Stable Set: 0
- Repeat After: 10
- Duration: 5000
- Spec Name: spec
- Report Set: Additions
- Report Only on Change: Yes
- Include EPC: Yes
- Filters: urn:epc:pat:sscc-96:*.*.*
- Save
- New
- Click EC SPECS -> Subscribers
- EPC-IS Capture Interface Subscriber -> New
- EC SPEC: demo
- Action: OBSERVE
- Host: localhost
- Port: Tomcat's Port (8081 or 9090)
- Path: epcis-repository-0.2.3/capture
- Save
- EPC-IS Capture Interface Subscriber -> New
- Click READERS -> Logical Readers
- Open the EPCIS Query Client
- Query interface URL: http://localhost:8081/epcis-repository-0.2.3/services/EPCglobalEPCISService
- Check ObjectEvents
- Query Arguments:
- business location = urn:myco:aleserver:12345.67890
- record time >= YYYY-MM-DDTHH:MM:SS.sss-HH:00
- Use the current time here. For example: 2008-03-14T13:20:00.000-04:00
- Use the current time here. For example: 2008-03-14T13:20:00.000-04:00
Run the query. The table should be empty. In logicAlloy we set up the demo spec to only update the database when new tags are seen.
Right now there shouldn't be any tags in the field. Go into Rifidi and drag the tags onto the antennas.
Wait a few seconds (we generate a report every 5 seconds)
You'll notice that the tags now appear in the database.
You'll also notice that logicAlloy filtered out the SSCC-96 tags.
Now go back to the Query Client and adjust to the current time again.
Run the query and you'll see nothing because no new tags were added.
If you would like the event report to be stored in the database every time one occurs, then edit the demo spec to:
Report only on change: no, and Report Set: CURRENT.
We are interested in hearing feedback from users! Let me know if you can/can't get it to work.
Post all comments at http://epcglobalnetworkdemo.freeforums.org/
Trouble Shooting
- You can check the logs for logicAlloy at Server -> Logs
- You can check the logs for Tomcat at /$TOMCAT_HOME/logs/epcis-repository.log
- Try restarting the ALE and Tomcat servers
- Make sure the configuration file at $TOMCAT_HOME/conf/Catalina/localhost/epcis-repository-<version>.xml is correct. Use 'root' as the user name.
- Check if http://localhost:8081/epcis-repository-0.2.3/services/EPCglobalEPCISService is a valid URL
- Check if http://localhost:8081/epcis-repository-0.2.3/capture is a valid URL
- Check if Rifidi is reporting tags. The output box should be constantly updating with new reports. If it is not, then restart the ALE Server.








