我如何从网站运行raspberry pi终端命令?

时间:2015-12-27 13:04:13

标签: arduino raspberry-pi

我正在制作一个带有Raspberry Pi和Arduino的家庭自动化系统。我在pi上托管一个简单的HTML网站,带有一些按钮和指示器。我已经通过UART(Tx,Rx)将Arduino连接到PI,我可以使用命令echo [data] > ttyAMA0向Arduino发送一个字节/字符串。
现在我想问一下如何从网站上的Pi终端上执行命令 - 让我们说当我按下其中一个按钮时,我想向Arduino发送命令echo A1 > ttyAMA0

1 个答案:

答案 0 :(得分:1)

您可以将您的程序设置为专用的Web服务器(您不必总是在Rasberry Pi上安装Apache或Lighttpd等通用Web服务器程序)。

特别是,您可以编写自己的C程序并在其中使用libonion HTTP Web服务器库。这个libonion有一个examples/oterm/子目录,完全符合你的要求(给一些Web界面提供一个终端 - 在浏览器中使用HTML5和AJAX技术 - 用shell)。您可以使用一些Web处理程序为您的libonion程序编写一些IO(使用fprintf& fflush)到您的Arduino板。但要注意安全问题。

此外,Web服务器可以使用CGIFastCGI技术来运行外部程序。如果运行通用Apache或Ligghtd,您可以明智地配置它以启用和使用CGI或FastCGI程序。