我正在尝试使用非接触式OmniKey 5321读卡器读取智能卡信息.
编辑:添加了赏金.
我正在.NET 3.5程序中编写C#3,所以这是一个Windows应用程序.
该卡上印有一些信息,我会假设,卡片数据中存在某些信息(下面有卡片和读卡器的照片.)
该卡上印有以下信息:
1* 00447 21091328-32
使用OmniKey读卡器附带的诊断应用程序时,我会收到以下信息:
Smart Card Name: iCLASS 16KS UID:EE 74 0E 00 FB FF 12 E0 ATR : 3B 8F 80 01 80 4F 0C A0 00 00 03 06 0A 00 1A 00 00 00 00 78 Protocol : ISO 15693 (Part 2)
现在,我已经考虑了一些转换:
这是我的问题:
这是照片,如果它给你任何信息.

uniqueidentifier smartcard smartcard-reader winscard iso-15693
我正在尝试使用nfc安卓库读取ISO15693 RFID标签:
以下是有关标签的更多信息:http://img42.com/gw07d+
标签ID已正确读取,但标签中的数据未正确读取.
onCreate 方法:
// initialize NFC
nfcAdapter = NfcAdapter.getDefaultAdapter(this);
nfcPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, this.getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
Run Code Online (Sandbox Code Playgroud)
onNewIntent 方法:
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction()) || NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) {
currentTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
byte[] id = currentTag.getId();
Tag_data_TextDisplay.setText("TagId:" + Common.getHexString(id));
for (String tech : currentTag.getTechList()) {
if (tech.equals(NfcV.class.getName())) {
NfcV nfcvTag = NfcV.get(currentTag);
try {
nfcvTag.connect();
txtType.setText("Hello NFC!");
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "Could not open a connection!", Toast.LENGTH_SHORT).show();
return;
}
try {
byte[] cmd = new byte[]{
(byte) …Run Code Online (Sandbox Code Playgroud) 我看到很多论坛都说RFID与NFC不同.我完全同意这一点,因为两者都有不同的标准并且在不同的频率上运行.
经过一些进一步的研究,我发现一些RFID标准(HF-RFID)存在于13.56 MHz频段,与NFC使用频率相同(见此处).但是,我没有发现任何明确说明NFC设备和HF-RFID可以互操作的东西.此外,我看过一个在线视频,其中有人正在使用支持三星NFC的手机阅读HF-RFID标签.
我知道NFC和RFID都使用射频.
我的问题是,可以使用支持NFC的手机读取HF-RFID(13.56 MHz)标签吗?
而且,HF-RFID阅读器还可以用来读取NFC标签?
有没有人测试过这个并给出任何链接,它确认它可能吗?
在我的 NFC 应用程序中,我遇到了一个命令,该命令似乎需要比transceive()方法允许的更多时间来响应。结果我得到一个TagLost异常。
还有就是方法setTimeout(int timeout)的IsoDep标签,但据我所知不是NfcV标签。
有谁知道是否有办法增加NfcV操作的超时值?
“喂,哥,怎么了?”
我在 NDEF 消息格式方面遇到了麻烦。
我浏览了 NFC 论坛,了解如何使用带有有效载荷的单个 NDEF 记录(文本 RTD)构建 NDEF 消息,因此我可以通过 I2c 对我的标签 (M24LR16E) 进行编程。
除此之外,我使用外部编写器对我的标签进行了编程,以获得格式良好的记录示例。
然后我通过 I2C 使用完全相同的值对我的标签进行编程,一切运行良好。更改有效载荷字符给了我成功的证明 =)
“但你来这里并不是为了向我们展示一切都很好,不是吗?”
你是对的,知道我正在尝试改变有效载荷长度,但我遇到了麻烦。一旦我更改了 NDEF 记录的 PAYLOAD_LENGTH,它就不再被识别为一个。我将 PAYLOAD_LENGTH 从 10 改为 5,所以这不是溢出配置字段的问题。
“好故事,给我看一些代码/配置”
这是我的记录配置:
另外,我注意到如果在 NDEF 消息之前覆盖 6 个字节,则 NDEF 消息将不再被识别。我不知道这些数据是什么,因为 NFC 规范没有谈论这个,标签数据表也没有。
“你应该问一个问题……”
嗯,嗯...
我的读者:带有 NXP 的“TagInfo”应用程序的 Nexus 4
我正在尝试使用 WRITE MULTIPLE BLOCKS 命令通过NfcV对象将一些数据写入 NXP ICODE SLIX SL2S2002 标签(ISO 15693):
private void writeTagData(Tag tag) throws Exception {
int offset = 0;
int blocks = 19;
String _writedata = "1hello34567850000071234561815064150220161603201016022018112233445552031033";
byte[] data = _writedata.getBytes(StandardCharsets.UTF_8);
data = Arrays.copyOfRange(data, 0, 4 * blocks );
byte[] id = tag.getId();
boolean techFound = false;
for (String tech : tag.getTechList()) {
if (tech.equals(NfcV.class.getName())) {
techFound = true;
NfcV nfcvTag = NfcV.get(tag);
try {
nfcvTag.connect();
} catch (IOException e) {
Toast.makeText(this, "IO Exception", Toast.LENGTH_LONG).show(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的Android应用程序中阅读恩智浦开发的NFC标签.可以使用Android读取标签:NXP的应用程序和另一个正确读取它.
确切的标签类型是"ICODE SLI-L(SL2ICS50)",RF技术是"Type V/ISO 15693"(从这些工作应用中获取的数据).存储器由2个页面组成,每个页面有4个块,每个块有4个字节 - 我只想将整个数据存储在存储器中.
标签必须使用Android的NfcV类处理,标签的数据表在这里可用,但很难找到使用的任何工作代码示例NfcV.我尝试了几个由数据表自己总结的东西,并尝试了我在谷歌找到的PDF中的通信样本,但没有任何效果.
我的活动中的相应方法(我使用NFC Foreground Dispatch)如下所示:
public void onNewIntent(Intent intent) {
android.nfc.Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NfcV tech = NfcV.get(tag);
try {
tech.connect();
byte[] arrByt = new byte[9];
arrByt[0] = 0x02;
arrByt[1] = (byte) 0xB0;
arrByt[2] = 0x08;
arrByt[3] = 0x00;
arrByt[4] = 0x01;
arrByt[5] = 0x04;
arrByt[6] = 0x00;
arrByt[7] = 0x02;
arrByt[8] = 0x00;
byte[] data = tech.transceive(arrByt);
// Print …Run Code Online (Sandbox Code Playgroud) 我有一些 ISO15693 / Tag-it HF-I Plus 芯片,需要在上面写点东西。这些芯片是完全新鲜的,我现在读了很多 pdf 告诉我的都是一样的。但是没有任何效果,我一直收到 Transceive Failed 错误。
我在收发命令中发送这些数据:
Byte: <data>
0: 0x00 // pdf says the tag understands only flag = 0x00
1: 0x21 // write single block
2-10: ID // needs to be send for this tag, only supports addressed mode
11: 0x00 // Block ID, try to write to block 0
12-16: DATA // LSB First
17-18: CRC16 // do i need to send this? and if yes, LSB first?
Run Code Online (Sandbox Code Playgroud)
我尝试了非常不同的标志和写入模式,但它们都不起作用:
Flags: 0x01, …Run Code Online (Sandbox Code Playgroud)