openbci

這一兩個月,研究一下嵌入式的東西買材料試試看動手能力,掏到一片openbci 的主機板,整個過程紀錄一下,最後真的可以用哈哈 9000塊可以玩初階的腦機介面 ,順便練習一下動手能力, https://docs.openbci.com/AddOns/Headwear/MarkIV/ 這份是 openbci 的3d列印帽子的設計圖 詳細就印下來給廠商叫他列印零件,強度的話我是選碳纖維印下來在螺帽的部分強度不太夠 下圖是完成圖

image

請買杜邦線版本不然腦機街口沒辦法接,這邊主板用對岸翻版本的 deepbci image

因為是對岸自幹的usb協議他有給一個繞過的部分主要還要裝process 但是你要修改裡面的

java
    private LinkedList<String> getCytonComPorts() {
        final String[] names = {"FT231X USB UART", "VCP"};
        final SerialPort[] comPorts = SerialPort.getCommPorts();
        LinkedList<String> results = new LinkedList<String>();
        for (SerialPort comPort : comPorts) {
            for (String name : names) {
                if (comPort.toString().startsWith(name)) {
                    // on macos need to drop tty ports
                    if (isMac() && comPort.getSystemPortName().startsWith("tty")) {
                        continue;
                    }
                    String found = "";
                    if (isMac() || isLinux()) found += "/dev/";
                    found += comPort.getSystemPortName();
                    println("ControlPanel: Found Cyton Dongle on COM port: " + found);
                    results.add(found);
                }
            }
        }

        return results;
    }

直接繞過去

java
private LinkedList<String> getCytonComPorts() {
    final SerialPort[] comPorts = SerialPort.getCommPorts();
    LinkedList<String> results = new LinkedList<String>();
    for (SerialPort comPort : comPorts) {
        String found = "";
                    // on macos need to drop tty ports
                    if (isMac() && comPort.getSystemPortName().startsWith("tty")) {
                        continue;
                    }

                    if (isMac() || isLinux()) found += "/dev/";

        // 对于Windows,通常不需要添加任何前缀,因为SystemPortName已经包含了"COMx"格式
        found += comPort.getSystemPortName();
        println("ControlPanel: Found Cyton Dongle on COM port: " + found);
        results.add(found);
    }
    return results;
}   
/*
    private LinkedList<String> getCytonComPorts() {
        final String[] names = {"FT231X USB UART", "VCP"};
        final SerialPort[] comPorts = SerialPort.getCommPorts();
        LinkedList<String> results = new LinkedList<String>();
        for (SerialPort comPort : comPorts) {
            for (String name : names) {
                if (comPort.toString().startsWith(name)) {
                    // on macos need to drop tty ports
                    if (isMac() && comPort.getSystemPortName().startsWith("tty")) {
                        continue;
                    }
                    String found = "";
                    if (isMac() || isLinux()) found += "/dev/";
                    found += comPort.getSystemPortName();
                    println("ControlPanel: Found Cyton Dongle on COM port: " + found);
                    results.add(found);
                }
            }
        }

        return results;
    }
*/

實際測量還真的可以跑xd image image

image