2015-11-22 157 views
0

我有一个通过UART(TxRx)连接的Raspberry Pi和Arduino,我有一个托管在rPi上的网站HTML。
当网站上的按钮被按下时,我需要做什么,一个字符串将通过UART发送到arduino。
我已经尝试通过命令echo test > /dev/ttyAMA0从rPi的终端发送字符串,测试是我想发送的字符串,它工作。Raspberry PI Arduino通信

回答

0

您需要在rPi上使用CGI脚本。当用户的Web浏览器进入该页面(或通过按下按钮指向该页面)时,CGI scirpt将在可以将数据从串行端口输出的rPi上运行。继承人随机CGI tutorial如果它有帮助,但你应该看看你运行的任何网络服务器的文档(可能apache?)

+0

是的我正在运行一个Apache Web服务器。 我忘了写我已经尝试创建一个.sh文件,其中有'echo'命令。 这是我创建的.sh脚本:#!/ bin/sh echo 1>/dev/ttyAMA0 此脚本将'1'发送到/ dev/ttyAMA(Arduino)。 但不知何故,这并没有为我工作... –

+0

按照该Apache链接...你必须配置Apache以允许CGI脚本运行(以及什么文件夹包含CGI脚本)。您还必须在脚本的顶部有#!/ path/to/shell,以便apache知道如何执行它。 – whitey04

0

是的我正在运行一个Apache网络服务器。 我忘了写我已经尝试创建一个.sh文件,其中有echo命令。 这是我.SH剧本我创建:

#!/bin/sh 
echo 1 > /dev/ttyAMA0 
echo "Content-type: text/html" 
echo "" 
echo "<html><head><title>DzAnej Systems" 
echo "</title></head><body>" 
echo "<meta http-equiv=\"refresh\" content=\"0; url = http://192.168.1.3/dashboard.html\" />" 
echo "</body></html>" 

这个脚本发送到1在/ dev/ttyAMA(Arduino的) 和用户返回到前一页...... 底部部分工作(返回上一页)但echo命令是不知何故不工作...

+0

这不是一个答案;你应该编辑你的问题。 – whitey04

+0

看来你的脚本没有运行......只是为了确保你能将/ dev/ttyAMA0插入你的PC,看看这个值是否会出来,但是arduino忽略了它?更改您的CGI响应以生成页面;有时间戳的东西,所以你知道CGI脚本在你点击按钮时运行。 – whitey04