永发信息网

如何发现设备

答案:2  悬赏:0  手机版
解决时间 2021-01-25 12:26
如何发现设备
最佳答案
您可以自动实现设备发现,也可以从客户端手动实现设备发现。当RFID 服务提供程序对已注册的提供程序调用 StartDiscovery 时,会自动进行设备发现。提供程序返回 DeviceDiscoveryEvent,它包含设备 ID、设备名称(如果支持)和相关的连接信息。而服务则根据从提供程序检索到的信息对返回的信息作出反应。下面的参数在发现期间起着很关键的作用。DeviceID:在以下方案说明中使用 ID1、ID2、ID3 代表此参数。
DeviceName(如果受支持):在以下方案说明中使用 N1、N2、N3 代表此参数。
ConnectionInformation:在以下方案说明中使用 C1、C2、C3 代表此参数。
假设有两个设备带有参数 ID1 – N1 – C1 和 ID2 – N2 – C2,这些参数已经存在于 RFID 服务存储中。还假设该服务现在已接收到具有以下参数的发现事件:ID1 - N1 - C1 或 ID1 - NoName - C1:此参数表示这是现有设备的发现事件。这是不需要任何更新的最简单情况,除非设备处于“失败”状态,如果是那样,会引起自动启用设备。
ID3 - N3 - C3 或 ID3 - NoName - C3:此参数表示这是新设备的发现事件。服务向 RFID 存储添加具有这些参数的新设备。如果未报告名称,服务将自动为设备生成名称。新添加的设备被初始化为“禁用(未配置)”状态,必须先手动启用,然后才能使用。
ID1 - N1 - C3 或 ID1 - NoName - C3:此参数表示现有设备的连接信息已更改,它表示“物理漫游”方案(同一个设备,但地址不同,这可能是 DHCP 服务器导致的)。服务用以下方式响应此事件:如果 RFID 服务存储中的现有设备为“未配置”状态,则服务会直接将其 ConnectionInformation 从C1 更新到 C3;否则,服务会首先连接到 C3,并且,如果连接有效,服务会将设备的 ConnectionInformation 更新到 C3,并且会启用此设备(如果设备处于“故障”状态)。
ID3 - N1 - C1 或 ID3 - NoName - C1:此参数表示 ConnectionInformation 与现有设备的一样,但 DeviceID 已更改,这就是“逻辑漫游”情况。例如,如果刚刚用一个新的设备更换原有的设备,就可能发生这种情况。服务通过以下方式响应此事件:将对应于设备(对应于 C1)的 DeviceID 从ID1 更新到 ID3。另外要注意,如果设备处于“失败”状态,则引发设备的自动启用。
ID3 - N1 - C3:此参数表示新设备,但其名称与现有设备的名称匹配。服务对此事件作出的响应是,生成默认新名称 N3(基于提供程序名称自动生成),将此新设备添加到存储,再将其初始化为“禁用(未配置)”状态。我们不用相同的名称来更新现有设备,因为这样会导致“名称强占”。
ID1 - N3 - C1:如果设备处于未配置状态,服务会尝试将设备的名称从 N1 更新为 N3,否则,服务将在日志中记录一个名称冲突,然后放弃该事件。
ID1 - N1 - C2 或ID1 - NoName - C2:此参数表示正在报告现有设备的新连接信息,并且报告的连接信息与另一现有设备的相应信息冲突。服务用以下方式响应此事件:服务首先尝试连接到新报告的连接信息 (C2),如果发现新连接有效,则服务会使有此连接信息的旧设备的连接信息变为无效,并使其进入禁用状态。然后,此服务会将对应于 ID1 的设备连接信息从 C1 更新到 C2。可以手动对已禁用的设备进行更新,或通过该设备的另一发现事件完成更新。
ID3 - N3 - C1:此参数表示正在报告发现新设备,但报告的连接信息与另一现有设备的相应信息冲突。服务用以下方式响应此事件:服务首先尝试连接到新报告的连接信息 (C1),如果发现新连接有效,则服务会使有此连接信息的旧设备的连接信息变为无效,并使其进入禁用状态。然后,服务会添加一个对应于 ID3-N3-C1 的新设备。可以手动对已禁用的设备进行更新,或通过该设备的另一发现事件完成更新。
对于其参数影响多个设备的发现事件,服务会先在日志中记录描述冲突的事件日志条目,然后放弃该事件。同样,对于更改了现有已配置设备的名称的发现事件,服务也会先在日志中记录描述名称冲突的事件日志条目,然后放弃该事件。 实现设备发现的步骤实现StartDiscovery 和StopDiscovery 以支持自动发现。实现StartDiscovery 时,应搜索提供程序支持的设备。找到设备后,提供程序应触发发现事件,该事件应包括关于设备的详细信息。
全部回答
[这是预发布文档,可能会在将来的版本中进行更改。空白主题以占位符的形式显示。] 设备发现指的是使用一组方法使 biztalk rfid mobile 能确定您的提供程序支持哪些设备。您可以自动实现设备发现,也可以从客户端手动实现设备发现。通常,在对已注册的提供程序调用 startdiscovery 方法时会进行设备发现。提供程序返回 devicediscoveryevent,它包含设备 id、设备名称(如果支持)和相关的连接信息。实现设备发现实现devicelistener.startdiscovery 方法和 devicelistener.stopdiscovery 方法,以支持设备发现。实现startdiscovery 时,应搜索提供程序支持的设备。找到设备后,提供程序应触发发现事件,该事件应包含关于设备的详细信息。 public override void startdiscovery() { logger.info("startdiscovery called"); } public override void stopdiscovery() { logger.info("stopdiscovery called"); } public override void triggerdiscovery() { logger.info("starting triggered discovery..this will raise a dummy device discovery event"); discovermydevice(); } private void discovermydevice() { transportsettings tsettings = new vendordefinedtransportsettings("virtualdevice", null); connectioninformation cinfo = new connectioninformation(providername, tsettings); deviceinformation dinfo = new deviceinformation("1", cinfo, null); propertyprofile pp = new propertyprofile(); pp.add(new propertykey(standarddevicepropertygroups.general, generalpropertygroup.name), (object)"mycedevice"); discoveryeventargs args = new discoveryeventargs(dinfo, pp); if (this.discoveryevent != null) { this.discoveryevent(this, args); } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
乒乓球怎么打可以才又低又旋?
为什么我把手机电池拿下去还可以继续充电?
伊芙世家地址在哪,我要去那里办事
耆耆去吐鲁番北站怎么坐车?
生活污水接户管道埋设深度不得高于土壤冰冻线
一箱糖果重60千克.水果糖4分之1,巧克力糖3分
挪火柴智力题求答案
themostlove是什么意思
发名扬地址好找么,我有些事要过去
cloupor mini 怎么样
大一新生可以转学么
小米电视怎么才可以看电视直播
我妈说我虚伪,很多人也这么说,为什么,怎么
俗话说“女大十八变,越变越好看”。你认为发
日本电器在中国如何使用
推荐资讯
真海藻会不会有腥味
泉州动车站到石狮的车最迟一班是几点的?
【楚国历代国君】战国时期楚国的最后一个国君
家用纯水机RO膜承受最大压力一般是多大?
解答题阅读材料,回答问题。材料一仲舒复对曰
对于第一次接触单反的初学者,有哪些购买和使
出cos正片,出剧情型的,是不是要按照原著的
请问photoshop cc2015和photoshop5区别大不大
安徽省境内被认为是道家发源地的是
ipad版的wps怎么修改页眉页脚啊
我是个爱害羞,内向,不爱说话的人,以后怎么
英语专八改错答题技巧六:判断冠词是否有误
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?