首页 > 解决方案 > PySerial 无法在 PyQt5 GUI 上从 Arduino 读取数据

问题描述

我正在尝试创建一个 GUI 应用程序,以便使用 PyQt5 和 PySerial 向 Arduino 发送和接收数据。但是,它不能向 Arduino 写入任何数据。

我已经尝试在 Python 控制台上导入库并尝试发送/接收数据并成功。

    def connectArduino(self):
        self.port = self.serialList[self.serialBox.currentIndex()]
        if len(self.port) < 2:
            errorWindow = QMessageBox()
            errorWindow.critical(self, "Error", "Arduino not selected.")
        else:
            ex.serial = SerialInterface(9600, self.port)
            ex.serial.serial.flush()
            ex.serial.write("id")
            time.sleep(5)
            teststr = ex.serial.read()
            print("Output: " + teststr)
            if teststr == "OK":
                self.serialButton.setText("Connected")
                self.serialButton.setDisabled(True)
                self.serialBox.setDisabled(True)
                self.serialButton.setStyleSheet("background-color: rgb(0, 255, 0);")
            else:
                errorWindow = QMessageBox()
                errorWindow.critical(self, "Error", "Selected serial port is not valid.")
                ex.serial.close()

编辑:我在 Arduino 中添加了一个 LED,我将它设置为在接收数据时闪烁。当从控制台触发时,LED 会闪烁,但是当从 GUI 调用该函数时,没有区别。

标签: pythonserial-portpyqt5pyserial

解决方案


推荐阅读