2017-08-10 1 views
-1

私はラズベリーパイ3を持っていて、Webサーバーをインストールしました。私はポート432にリッスンするファイルhttp1.pyを持っていて、URLから渡される変数 "a"を使って、GPIOで点灯と消灯を行います: "http://192.168.0.5:432/turn?a=1" 私のルーターでポート80できます。 -中でネットワーク、それが正常に動作しますが、外部のIPアドレスの75.129と(オフにGPIOを有効にして)、今Remotly accesing 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 ... 

:私のラズベリーパイサーバーで 私はhttp://192.168.0.5:432/turn?a=1にアクセスするためのAjaxを使用したindex.htmlファイルを持っています.- .-:80、私はindex.htmlを見るが、Ajaxを起動するリンクにアクセスすると何も起こらない。

私は間違っていますか?または、ネットワークからGPIOにアクセスするためのより良い方法はありますか?

+0

あなたのpythonスクリプトはどこですか? – litelite

+0

/var/www/htmlの下にあります。 index.htmlと同じディレクトリにあり、この場所からhttp1.pyコマンドを実行すると、正常に動作します –

+0

あなたのjavascriptコードはブラウザで実行されます。ブラウザがサーバのローカルネットワーク上に存在しない限り、サーバのローカルネットワークにアクセスすることはできません。 – spectras

答えて

0

さて、私はラズベリーPiを使ってGPIOを制御する最も効果的な方法を見つけました。 PHPと配線Piがインストールされ、設定されている必要があります。それが完了すると、Ajaxと組み合わせてPHPを使用して、ネットワークのどこからでもアクセスできるGPIO用のクールな1ページGUIインターフェイスを作成できます。ページをハックするために必要な措置を取る

0

解決していただきありがとうございます。私は同じ解決策を探していた。どのようにあなたはajaxスクリプトと呼んでいますか?