java - RFIDRW-E-232 无法理解来自 Raspberry Pi 的命令

标签 java raspberry-pi rfid

您好,我在与这款动物 RFID 标签阅读器进行通信时遇到一些问题。 我正在使用 Rasperry Pi、Java 和 PI4J。 我根据文档向阅读器发送命令:http://www.priority1design.com.au/rfidrw-e-usb.pdf

我尝试打开/关闭 LED、获取固件版本和许多其他命令。我仍然得到答案 0x00(命令不理解。)

这是我的主要方法:

public static void main(String[] args) {
    final Serial serial = SerialFactory.createInstance();

    try {
        serial.open(Serial.DEFAULT_COM_PORT, 9600);
        serial.addListener(new SerialDataListener() {
            @Override
            public void dataReceived(SerialDataEvent event) {
                try {
                    String data = event.getData();
                    byte[] array = data.getBytes("US-ASCII");
                    String s = "";
                    System.out.println("Read: ");
                    for (int i = 0; i < array.length; i++) {
                        s = s + String.format("%02X ", array[i]);
                    }
                    System.out.println(s);
                } catch (UnsupportedEncodingException ex) {
                }
            }
        });
        //byte [] data = "VER".getBytes("US-ASCII");
        String data = "VER";
        //byte [] data = {(byte) 0x56,(byte) 0x45,(byte) 0x52};

        serial.write(data);
        //serial.write("\r");
        Thread.sleep(3000);

        System.out.println("done");
    } catch (Exception e) {
        System.out.println(e.getMessage());
    } finally {
        serial.close();
    }
}

你知道问题出在哪里吗? 感谢您的所有回答。

最佳答案

我不知道这是否有帮助,但是当我查看pi4j Serial example page

它表明了这一点,我想知道您是否尝试过禁用 COM 端口作为控制台?

    // !! ATTENTION !!
    // By default, the serial port is configured as a console port 
    // for interacting with the Linux OS shell.  If you want to use 
    // the serial port in a software program, you must disable the 
    // OS from using this port.  Please see this blog article by  
    // Clayton Smith for step-by-step instructions on how to disable 
    // the OS console for this port:
    // http://www.irrational.net/2012/04/19/using-the-raspberry-pis-serial-port/

似乎还存在一个用于从控制台切换端口的实用程序 https://github.com/lurch/rpi-serial-console

关于java - RFIDRW-E-232 无法理解来自 Raspberry Pi 的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21528974/

相关文章:

python - 如何通过linux终端向minicom发送文件?

linux - 扫描可用的 WiFi 网络会产生奇怪的字符 (Raspbian)

docker - 找不到RPI Kubernetes节点上的Traefik返回404页面

java - 如何对排名选择应用适当的成本

java - 自定义对象的ArrayList的排序是如何工作的?

java - 在Java Socket中,DataInputStream没有完全读取数据

java - 如果通过java使用neo4j,如何重置neo4j数据库?

.net - 为什么我的 RFID 阅读器读取到不存在的 RFID 标签代码?

android - 如何在我们的 Android 应用程序中实现 RFID 功能?

Android Mifare Classic 身份验证 key A 不工作