我正在使用Ridberry 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()做什么?
event.getData()
,将完全返回给您id12芯片在串行端口上所说的内容。数据是一个十六进制数字的10字符串表示形式,后跟2字符的校验和。
该行为是在ID12数据表中指定的,该数据表可以在Google上找到,也可以在以下位置快速找到:http ://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/ID/ID-2LA,%20ID-12LA,%20ID-20LA ( 2013-4-10).pdf。在链接的PDF中,它是第4页。
如果您希望在Java中解析此数据有帮助,请提供一些实际读取的数据以及属于该读取数据的相应期望值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句