Python 从arduino在我的计算机上运行文件

Python 从arduino在我的计算机上运行文件,python,arduino,raspberry-pi,Python,Arduino,Raspberry Pi,我有一个想法,建立我自己的自动旋转显示器,因为显示器的方向改变时,它旋转。创建arduino(或raspberry pi或其他什么)来做这件事很容易,只需从加速度计获取输入并在它旋转90度时做一些事情,在我的计算机上创建一个python文件来更改显示器的方向也相当容易。我搞不懂的是,当arduino收到信号时,如何让它调用我计算机上的文件。这可能吗?如果可能,我该怎么做?Arduino不会直接调用计算机上的文件。它通过串行端口进行通信,只能发送/接收需要解析和确定操作的字节 您必须制定一个非常基

我有一个想法,建立我自己的自动旋转显示器,因为显示器的方向改变时,它旋转。创建arduino(或raspberry pi或其他什么)来做这件事很容易,只需从加速度计获取输入并在它旋转90度时做一些事情,在我的计算机上创建一个python文件来更改显示器的方向也相当容易。我搞不懂的是,当arduino收到信号时,如何让它调用我计算机上的文件。这可能吗?如果可能,我该怎么做?

Arduino不会直接调用计算机上的文件。它通过串行端口进行通信,只能发送/接收需要解析和确定操作的字节

您必须制定一个非常基本的协议,通过串行端口将加速计数据发送到您的计算机(仅原始数据即可)。在那里,当串行通信打开时,您可以将其转换为操作并调用所需的相应脚本

让Arduino调用文件需要在Arduino中创建一个库,并在主机中创建一个解释器

请注意,在使用完Arduino之前不要关闭与它的串行通信,因为Arduino每次建立新的串行连接时都会重置,从而产生不必要的延迟。

您不能“让Arduino调用[您的]计算机上的文件”

相反,您需要在每个系统(即Arduino和您的计算机)上运行一个程序,并让这些程序通过某些通道(如串行端口)相互通信。一个简单的例子是在您的计算机上安装该程序,例如,一个使用PySerial的Python程序,偶尔检查端口以查看是否有来自Arduino的关于加速计的消息


不过,有可能更容易找到屏幕方向的方法。例如,仅获取屏幕大小,通常会告诉您方向。您没有说您是平台,但跨平台解决方案是使用wxPython和
wx.DisplaySize()
。还有许多其他方法。

我记得看到一个http库正在处理。也许您可以在计算机上托管一个web服务器,并从arduino请求文件内容

或者,如果您想在计算机中执行一个文件,您也可以编写一个小型Web应用程序,当它收到arduino的请求时执行脚本