【问题标题】:Communication between and Arduino controller and a Qt ApplicationArduino控制器和Qt应用程序之间的通信
【发布时间】:2012-07-11 20:13:51
【问题描述】:

我的兄弟在他一直从事的这个伟大的副项目上寻求帮助,但他使用的工具对我来说是新的,我不知道从哪里开始阅读。

问题是这样的:我们有一个使用 Qt 在 Linux 机器上运行的应用程序。我们通过 USB 连接了一个 Arduino 控制器(这被读取为虚拟 com 端口)。这个想法是有一个图形界面来控制他家的灯。 Arduino 每五秒报告一次它所连接的灯是否打开。您可以向 Arduino 发送命令来打开/关闭灯。

我有过高级软件项目的经验,但我从未编写过任何以这种方式与外部硬件接口的东西。我对操作系统功能的了解有限。

我需要学习做到以下几点:

  1. 如何从 Arduino 获取关于灯开/关的输入信号到我们的 Qt 应用程序?
  2. 如何从 Qt 应用程序向 Arduino 发出信号,告诉它开/关灯?

我应该说我已经使用 minicom 成功设置了与 Arduino 的单向通信。我可以每五秒钟看到一次指示灯状态的脉冲。我还不能向另一个方向发送“打开/关闭”信号。

我非常感谢任何关于阅读什么以了解我需要学习的内容的建议。我已经成功阅读了通过谷歌找到的关于 Arduino 的材料(这就是我让 minicom 工作的方式),但我无法找到与 Qt 集成的正确信息。我对操作系统如何工作的细节的无知阻碍了我。

【问题讨论】:

  • 你需要打开Arduino的串口(可能是/dev/ttyUSBXX,XX是随机的),然后使用<termios.h>接口与Arduino通信。

标签: qt operating-system serial-port arduino


【解决方案1】:

您所需要的只是某种与串行端口通信的方式,理想情况下无需处理所有依赖于操作系统的东西。如果将 Qt4 与 Python 结合使用,pyserial 可能是要走的路。对于 Qt/C++,有一些可能很方便的扩展,例如 qextserialport

【讨论】:

  • 好的,是的。我怀疑我把事情复杂化了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多