我有一个构建我自己的自动旋转显示器的想法,因为在旋转时显示器的方向会发生变化。创建arduino(或覆盆子pi或其他东西)就可以轻松实现,只需从加速度计输入并在旋转90度时执行某些操作,并在计算机上创建python文件以更改显示器的方向相当容易同样。我无法弄清楚如何让arduino在收到信号时在我的计算机上调用文件。这是否可能,如果是这样,我该怎么做?
答案 0 :(得分:1)
Arduino不会直接在您的计算机上调用文件。它通过串行端口进行通信,并且只能发送/接收您必须解析的字节并确定操作。
您必须制定一个非常基本的协议,通过串口将加速计数据发送到您的计算机(原始数据就足够了)。在那里,打开串行通信,将其转换为操作并调用所需的相应脚本。
让Arduino调用文件需要在Arduino中创建一个库,并在主机中创建一个解释器。
作为评论,在完成使用之前不要关闭与Arduino的串行通信,因为Arduino每次建立新的串行连接时都会重置,从而产生不必要的延迟。
答案 1 :(得分:1)
你不能“让arduino在[你的]电脑上调用文件”。
相反,您需要在每个系统上运行一个程序(即Arduino和您的计算机)并让这些程序通过某些通道(如串行端口)相互通信。一个简单的例子就是在您的计算机上安装程序,比如使用PySerial的Python程序,偶尔检查端口以查看是否已从Arduino发送有关加速度计的消息。
但是,可能有更简单的方法来查找屏幕方向。例如,只需获取屏幕大小,通常会告诉您方向。你没有说平台,但跨平台的解决方案是使用wxPython和wx.DisplaySize()
。还有很多其他方法。
答案 2 :(得分:0)
我记得在处理中看到了一个http库。也许您可以在计算机上托管Web服务器,并从arduino请求文件的内容。
或者,如果您想在计算机中执行文件,您可以再次编写一个小型Web应用程序,在收到来自arduino的请求时执行脚本。