python - 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 调用该函数时,没有区别。
解决方案
推荐阅读
- mongodb - MongoDB - 使用聚合更新
- angular - 自定义范围:将 angular-oauth2-oidc 与 Auth0 和 Github 一起使用
- c# - 如何转换任务
要在 BackgroundWorker 中使用 byte[]? - python - 为什么 open("file", "w") 不阻塞?
- c++ - 不期望向量的 C++ 输出元素
- sql - Excel VBA sql查询为一列返回错误值(将值增加1)
- keras - 通过单个 RNN LSTM 单元的 for 循环和在 Keras 中返回序列的 RNN 之间有什么区别?
- delphi - 如何在运行时从任务栏中隐藏我的任务栏图标?
- amazon-s3 - Pharma 客户端不允许我们通过 Internet 路径将敏感数据移动到安全的 s3 存储桶
- xcode - xCode Simulator 失败(有不同的错误集)-CoreLocation / MapView 测试