如何将rfid标签数据(ascii)转换为JAVA中的字符串

时间:2013-07-18 13:58:14

标签: java serial-port raspberry-pi rfid

我正在使用Raspberry Pi的(id12创新)RFID读取。 使用PI4J java库和它的串行示例,我能够读取一些数据,如(5002CF13C6),我不确定这些数据是什么!它假设得到这个号码(0002948115)。

这是我的代码:

// create an instance of the serial communications class
final Serial serial = SerialFactory.createInstance();

// create and register the serial data listener
serial.addListener(new SerialDataListener() {
@Override
public void dataReceived(SerialDataEvent event) {
    //-----------
    System.out.print("\n" + event.getData());
    //-----------
}

});

try {
    // open the default serial port provided on the GPIO header
    serial.open("/dev/ttyAMA0", 9600);

    // continuous loop to keep the program running until the user terminates the program
    for (;;) {
        try {

        } catch (IllegalStateException ex) {
            ex.printStackTrace();
        }
        try {
            // wait 1 second before continuing
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            Logger.getLogger(Rfid.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

} catch (SerialPortException ex) {
    System.out.println("e: RFID setup failed : " + ex.getMessage());
}

我应该怎么做event.getData()才能读取真实数据?

1 个答案:

答案 0 :(得分:1)

event.getData(),正在返回id12芯片在串口上所说的内容。数据是十六进制数字的10个字符的字符串表示,后跟2个字符的校验和。

行为在id12数据表中指定,可以在谷歌上快速找到,或者在http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/ID/ID-2LA,%20ID-12LA,%20ID-20LA(2013-4-10).pdf。在链接的PDF中,它是第4页。

如果您想在java中解析这些数据,请提供一些实际读取数据,以及属于该读取数据的相应预期值。