我有一個Raspberry pi 3.並安裝了Web服務器。我有一個文件http1.py,監聽端口432,並通過URL傳遞變量「a」,它將通過GPIO打開和關閉指示燈:「http://192.168.0.5:432/turn?a=1」 我還在端口80的路由器上打開了IP轉發,有用。 在我的覆盆子PI的服務器我有一個使用Ajax來訪問http://192.168.0.5:432/turn?a=1 index.html文件:現在遠程訪問GPIO
function ras(str) {
var url = "HTTP://192.168.0.17:432/turn?a="+str;
xmlHttp = GetXmlHttpObject(stateChanged);
xmlHttp.open("GET", url, true);
xmlHttp.send(null); .....
}
function stateChanged() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
Blah, blah ...
,:在網絡上,它工作正常(GPIO打開和關閉),但與外部ip地址75.129 .- .-:80,我看到index.html但是當我訪問激活Ajax的鏈接時,沒有任何反應。
我在做什麼錯?或者,有沒有更好的方式通過我的網絡訪問GPIO?
你的Python腳本在哪裏? – litelite
它位於/ var/www/html下。與index.html相同的目錄,當我從此位置運行http1.py命令時,它工作正常 –
您的JavaScript代碼在您的瀏覽器中運行。它無法訪問服務的本地網絡,除非您的瀏覽器位於服務器的本地網絡上。 – spectras