Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 远程访问GPIO_Python_Ajax_Raspberry Pi - Fatal编程技术网

Python 远程访问GPIO

Python 远程访问GPIO,python,ajax,raspberry-pi,Python,Ajax,Raspberry Pi,我有一个树莓皮3。并安装了web服务器。我有一个文件http1.py,它侦听端口432,并带有从URL传递的变量“a”,它将通过GPIO打开和关闭指示灯: 我还打开了我的路由器上端口80下的ip转发,它可以正常工作。 在我的raspberry pi服务器上,我有index.html文件,该文件使用Ajax访问: 现在,在网络中,它可以正常工作(打开和关闭GPIO),但是使用外部IP地址75.129.-:80,我看到index.html,但是当我访问激活Ajax的链接时,什么都没有发生 我做错了什

我有一个树莓皮3。并安装了web服务器。我有一个文件http1.py,它侦听端口432,并带有从URL传递的变量“a”,它将通过GPIO打开和关闭指示灯: 我还打开了我的路由器上端口80下的ip转发,它可以正常工作。 在我的raspberry pi服务器上,我有index.html文件,该文件使用Ajax访问:

现在,在网络中,它可以正常工作(打开和关闭GPIO),但是使用外部IP地址75.129.-:80,我看到index.html,但是当我访问激活Ajax的链接时,什么都没有发生


我做错了什么?或者,有没有更好的方法从我的网络之外访问GPIO?

好吧,我发现在你的Raspberry Pi上控制GPIO的最佳/有效方法是通过wiringpi。必须安装并配置PHP和wiring Pi。完成后,您可以将PHP与Ajax结合使用,为GPIO创建一个很酷的单页GUI界面,可以从网络之外的任何地方访问该界面。采取必要步骤对页面进行防黑客攻击

您的python脚本在哪里?它位于/var/www/html下。与index.html相同的目录,当我从这个位置运行http1.py from命令时,如果javascript代码在浏览器中运行,它就会正常工作。它无法访问服务器的本地网络,除非您的浏览器位于服务器的本地网络上。是的,这是有意义的。关于如何从网络外部访问树莓有什么建议吗?我可以用外部ip地址编辑Ajax:var url=“;?”??
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 ...