首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于具有llrpjs的Zebra FX7500的LLRP不读取标记

用于具有llrpjs的Zebra FX7500的LLRP不读取标记
EN

Stack Overflow用户
提问于 2022-04-22 13:57:48
回答 1查看 227关注 0票数 0

使用llrpjs库 for Node.js,我们尝试从斑马FX7500 (摩托罗拉?)读取标签。这一讨论指向142-144页,但没有指出设置设备的潜在值。

根据我们可以收集的内容,我们应该发出一个带有自定义参数(MotoDefaultSpec = VendorIdentifier: 161, ParameterSubtype: 102, UseDefaultSpecForAutoMode: true)的MotoDefaultSpec = VendorIdentifier: 161, ParameterSubtype: 102, UseDefaultSpecForAutoMode: true。我们是否也需要包括ROSpec和/或AccessSpec值(它们是必需的)?在发送SET_READER_CONFIG消息之后,还需要发送常规的LLRP消息(ADD_ROSPECENABLE_ROSPECSTART_ROSPEC)吗?如果没有MotoDefaultSpec,即使在发送常规LLRP消息之后,发送GET_REPORT也不会检索标记,也不会使用MOTO_GET_TAG_EVENT_REPORT检索自定义消息。它们都会触发一个RO_ACCESS_REPORT事件消息,但是tagReportData是空的。

用于llrpjs的自述文件将“供应商定义支持”作为TODO项目列出。虽然这有点模糊,但是库是否可能没有实现自定义LLRP扩展(消息/参数)支持,这就是为什么我们的尝试都没有起作用?MotoDefaultSpec参数和MOTO_GET_TAG_EVENT_REPORT是为供应商/芯片组定制的。MOTO_GET_TAG_EVENT_REPORT自定义消息似乎触发了类似于基本LLRP GET_REPORT消息的RO_ACCESS_REPORT,因此我们假设该部分正在工作。

值得注意的是,Zebra的123 tool桌面安装和优化工具按预期连接和读取标签,因此设备和天线正在工作(读取标签)。

这些问题是否与我们正在使用的ROSPEC文件有关(见下文)?

代码语言:javascript
复制
{
  "$schema": "https://llrpjs.github.io/schema/core/encoding/json/1.0/llrp-1x0.schema.json",
  "id": 1,
  "type": "ADD_ROSPEC",
  "data": {
    "ROSpec": {
      "ROSpecID": 123,
      "Priority": 1,
      "CurrentState": "Disabled",
      "ROBoundarySpec": {
        "ROSpecStartTrigger": {
          "ROSpecStartTriggerType": "Immediate"
        },
        "ROSpecStopTrigger": {
          "ROSpecStopTriggerType": "Null",
          "DurationTriggerValue": 0
        }
      },
      "AISpec": {
        "AntennaIDs": [1, 2, 3, 4],
        "AISpecStopTrigger": {
          "AISpecStopTriggerType": "Null",
          "DurationTrigger": 0
        },
        "InventoryParameterSpec": {
          "InventoryParameterSpecID": 1234,
          "ProtocolID": "EPCGlobalClass1Gen2"
        }
      },
      "ROReportSpec": {
        "ROReportTrigger": "Upon_N_Tags_Or_End_Of_ROSpec",
        "N": 1,
        "TagReportContentSelector": {
          "EnableROSpecID": true,
          "EnableAntennaID": true,
          "EnableFirstSeenTimestamp": true,
          "EnableLastSeenTimestamp": true,
          "EnableSpecIndex": false,
          "EnableInventoryParameterSpecID": false,
          "EnableChannelIndex": false,
          "EnablePeakRSSI": false,
          "EnableTagSeenCount": true,
          "EnableAccessSpecID": false
        }
      }
    }
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-18 21:53:27

对于任何有类似问题的人,我们发现试图配置比Zebra设备更多的天线会导致整个规范失败。在我们的例子中,我们有两个天线连接,所以包括天线3和4在规范是造成问题。

关于ROSPEC的工作,见下文。data.AISpec.AntennaIDs属性中的额外天线被删除,并允许我们的应用程序连接和读取标记。

在尝试STOP_ROSPEC时,我们仍然对llrpjs有一些问题,因为它发送一个没有resName值的RO_ACCESS_REPORT响应。有关详细信息,请参阅关于GitHub的问题

也就是说,我们的应用程序在不发送STOP_ROSPEC命令的情况下工作。

代码语言:javascript
复制
{
  "$schema": "https://llrpjs.github.io/schema/core/encoding/json/1.0/llrp-1x0.schema.json",
  "id": 1,
  "type": "ADD_ROSPEC",
  "data": {
    "ROSpec": {
      "ROSpecID": 123,
      "Priority": 1,
      "CurrentState": "Disabled",
      "ROBoundarySpec": {
        "ROSpecStartTrigger": {
          "ROSpecStartTriggerType": "Null"
        },
        "ROSpecStopTrigger": {
          "ROSpecStopTriggerType": "Null",
          "DurationTriggerValue": 0
        }
      },
      "AISpec": {
        "AntennaIDs": [1, 2],
        "AISpecStopTrigger": {
          "AISpecStopTriggerType": "Null",
          "DurationTrigger": 0
        },
        "InventoryParameterSpec": {
          "InventoryParameterSpecID": 1234,
          "ProtocolID": "EPCGlobalClass1Gen2",
          "AntennaConfiguration": {
            "AntennaID": 1,
            "RFReceiver": {
              "ReceiverSensitivity": 0
            },
            "RFTransmitter": {
              "HopTableID": 1,
              "ChannelIndex": 1,
              "TransmitPower": 170
            },
            "C1G2InventoryCommand": {
              "TagInventoryStateAware": false,
              "C1G2RFControl": {
                "ModeIndex": 23,
                "Tari": 0
              },
              "C1G2SingulationControl": {
                "Session": 1,
                "TagPopulation": 32,
                "TagTransitTime": 0,
                "C1G2TagInventoryStateAwareSingulationAction": {
                  "I": "State_A",
                  "S": "SL"
                }
              }
            }
          }
        }
      },
      "ROReportSpec": {
        "ROReportTrigger": "Upon_N_Tags_Or_End_Of_AISpec",
        "N": 1,
        "TagReportContentSelector": {
          "EnableROSpecID": true,
          "EnableAntennaID": true,
          "EnableFirstSeenTimestamp": true,
          "EnableLastSeenTimestamp": true,
          "EnableTagSeenCount": true,
          "EnableSpecIndex": false,
          "EnableInventoryParameterSpecID": false,
          "EnableChannelIndex": false,
          "EnablePeakRSSI": false,
          "EnableAccessSpecID": false
        }
      }
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71969968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档