I'm using the device service device-rfid-llrp-go for reading EPC tags data from different RFID readers. I'm having many problems with Zebra FX7500 reader with only two antennas attached(number 1 and 4). I'm sending a ROSpec.json file attached below, using the command.sh script located in the examples folder of this repository https://github.com/edgexfoundry/device-rfid-llrp-go#device-rfid-llrp-go.
{
"ROSpecID": 1,
"Priority": 0,
"ROSpecCurrentState": 0,
"ROBoundarySpec": {
"StartTrigger": {
"Trigger": 0,
"PeriodicTrigger": null,
"GPITrigger": null
},
"StopTrigger": {
"Trigger": 0,
"DurationTriggerValue": null,
"GPITriggerValue": null
}
},
"AISpecs": [
{
"AntennaIDs": [1, 4],
"StopTrigger": {
"Trigger": 0,
"DurationTriggerValue": null,
"GPITrigger": null,
"TagObservationTrigger": {
"Trigger": null,
"NumberOfTags": null,
"NumberOfAttempts": null,
"T": null,
"Timeout": null
}
},
"InventoryParameterSpecs": [
{
"InventoryParameterSpecID": 1,
"AirProtocolID": 1,
"AntennaConfigurations": [
{
"AntennaID": 1,
"RFReceiver": 0,
"RFTransmitter": {
"ChannelIndex": 1,
"TransmitPowerIndex": 15
},
"C1G2InventoryCommand": {
"TagInventoryStateAware": false,
"RFControl": {
"RFModeID": 23,
"Tari": 0
},
"SingulationControl": {
"Session": 1,
"TagPopulation": 4,
"TagTransitTime": 1
}
}
},
{
"AntennaID": 4,
"RFReceiver": 0,
"RFTransmitter": {
"ChannelIndex": 1,
"TransmitPowerIndex": 15
},
"C1G2InventoryCommand": {
"TagInventoryStateAware": false,
"RFControl": {
"RFModeID": 23,
"Tari": 0
},
"SingulationControl": {
"Session": 1,
"TagPopulation": 4,
"TagTransitTime": 1
}
}
}
]
}
]
}
],
"RFSurveySpecs": null,
"Custom": null,
"LoopSpec": null,
"ROReportSpec": {
"Trigger": 2,
"N": 1,
"TagReportContentSelector": {
"EnableROSpecID": true,
"EnableAntennaID": true,
"EnableFirstSeenTimestamp": true,
"EnableLastSeenTimestamp": true,
"EnableTagSeenCount": true,
"EnableSpecIndex": false,
"EnableInventoryParamSpecID": false,
"EnableChannelIndex": false,
"EnablePeakRSSI": false,
"EnableAccessSpecID": false
}
}
}
In particular I'm following these steps:
- ./command.sh add ROSpec ROSpec.json
- ./command.sh enable ROSpec 1
- ./command.sh start ROSpec 1
After that I read that the ROSpecCurrentState becomes 2, that means "Active". In this way I should read the EPC value because I've added a Printf in the newROHandler() function of the device.go file, but nothing. I've also had a look to this link LLRP for Zebra FX7500 with llrpjs doesn't read tags, where there is a similar problem with llrpjs library. Can anyone give me a hand to solve this issue?