Как сохранить COM-соединение между веб-страницами? (Electron) - PullRequest
1 голос
/ 27 февраля 2020

В настоящее время я создаю электронное приложение, где на главной странице представлен список действий, которые может выполнить устройство, подключенное через USB (arduino), а команда отправляется через COM-порт (UART?). В том же приложении у меня есть пункт меню, который открывает новое окно, в котором я могу выбрать 4 com порта для 4 модулей. Как сохранить соединение COM после закрытия окна выбора com-порта? Я полагаю, что альтернативный вопрос может быть - как правильно это сделать?

Мой элементарный код в настоящее время:

    // Connect to COM ports. Called from the COM port window
    connectCOM() {
        var sp = require("serialport");
        // Make all ports available

        var ports = new Array(4);
        var modport_text = [];
        var modport_value = [];

        for (var i = 0; i < 4; i++) {
            /* Read options to find the selected COM ports to connect */
        }
        for (var i = 0; i < modport_value.length; i++) {
            if (modport_value[i] != "0") {
                ports[i] = new sp(modport_text[i], {
                    baudRate: 9600,
                    parser: new sp.parsers.Readline("\r\n")
                });
            } else {
                ports[i] = -1;
            }
        }

        localStorage.setItem("allports", JSON.stringify(ports));
        this.logPorts();
}
// Other functions

    // For debugging purposes. This displays the connections over console.
    // Called from Main window
    logPorts() {
        var sp = require("serialport");
        //var ports: typeof sp;
        var ports = JSON.parse(localStorage.getItem("allports"));

        ports[0].on("open", () => {
            console.log("this will never output");
        });
    }

Это даже правильный путь для продолжения? Сериализация объекта не сохраняет свойства Serialport, и я даже не знаю, сохранит ли он последовательный порт открытым.

...