通过RPi托管网站控制Arduino输出

时间:2016-01-30 19:44:01

标签: php arduino raspberry-pi http-post

我目前有一个由我的Raspberry Pi托管的基本网站。我想要做的是通过HTML表单按钮控制数字输出。目前,当我在局域网上时,它可以工作,因为按钮表单操作设置为Arduino的本地IP。我正在努力弄清楚如何从另一个网络或我的手机控制这些输出。

我是否正确地认为我需要将开/关命令传递给RPi上托管的php脚本并让php脚本生成Post请求?

有没有人有一个例子让我指出正确的方向?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以使用RPi托管网站控制Arduino GPIO。

您需要学习的内容:

  • Arduino与之间的I2C /串行/ SPI通信RPi(Sample Tutorial (I2C)
  • CGI能够执行用C / C ++,Python等编写的程序,将print / println / cout重定向为web响应,并且可以执行系统命令来操作通信总线,gpio和系统调用。要了解有关CGI的更多信息,click here。 (Get started with CGI
    • 您可以通过URL调用CGI程序,就像调用网页一样:(“ 192.168.1.0/cgi-bin/HelloWorld ”,对于RPi“ / usr / lib / cgi-bin / “是存储CGI程序的文件夹,而” HelloWorld “是您的可执行文件。)
  

举个例子,假设您想通过RPi上托管的网页打开Arduino的板载D13。网页包含两个按钮,On和Off。当按下(单击)“On”时,通过I2C调用写入命令Arduino的C / C ++或Python代码。定义要遵循的通用协议,以便Arduino可以理解C / C ++或Python发送的字节。比如,如果Arduino从主设备(RPi)收到1,它应该打开D13 led并关闭0。