2015-11-22 155 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