Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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
Java 控制GPIO的Android套接字_Java_Android_Sockets_Controls_Gpio - Fatal编程技术网

Java 控制GPIO的Android套接字

Java 控制GPIO的Android套接字,java,android,sockets,controls,gpio,Java,Android,Sockets,Controls,Gpio,我想构建一个基于套接字的android应用程序,它连接到raspberry pi,并有一个(开关)或两个控制GPIO状态的按钮。我只成功地在我的应用程序和raspberry pi之间建立了一个基于IP地址和端口的简单按钮连接。它控制GPIO,但在几秒钟后,它会毫无理由地自动将状态从高-低更改为低。 我必须从android应用程序或raspberry pi的服务器/客户端java文件控制GPIO状态吗 请帮助…因为我知道您正在询问应用程序架构。我认为在RaspberryPi中,您应该实现一种套接字

我想构建一个基于套接字的android应用程序,它连接到raspberry pi,并有一个(开关)或两个控制GPIO状态的按钮。我只成功地在我的应用程序和raspberry pi之间建立了一个基于IP地址和端口的简单按钮连接。它控制GPIO,但在几秒钟后,它会毫无理由地自动将状态从高-低更改为低。 我必须从android应用程序或raspberry pi的服务器/客户端java文件控制GPIO状态吗


请帮助…

因为我知道您正在询问应用程序架构。我认为在RaspberryPi中,您应该实现一种套接字侦听器,它有一组预定义的命令,比如switch-GPIO-pin-state、get-GPIO-pin-state等等。从Android端,您将连接到服务器,通过发送适当的命令(若您需要显示当前的GPIO状态)检索状态,并在控件上发送预定义的命令,单击以通知服务器端执行某些操作。这样地。这是我自己的看法。

我正在研究类似的东西,但使用的是通过wifi p2p的TI cc3200。我并没有树莓皮的经验,所以请记住这一点。如果你的GPIO正在改变状态,而没有从你的应用程序发送任何额外的命令,我会看看树莓的问题。一些想法,用你的android可能会设置一个断点,在那里你可以向树莓发送信号,看看是否发生了你不想发生的事情。使用Raspberry,可以在pi接收命令的例程中设置断点。(我说的是,对于pi使用的IDE一无所知。)一般来说,断点和单步执行是发现发生了什么的地方。我认为微处理器中的下拉电阻和稳定性是可以研究的。我已经有很长时间没有处理过这种事情了,所以我不确定,那可能也不适用于Pi。只是一个想法。最后,也许有比我聪明得多的人可以加入进来。

对于python pin控件,首先安装python库:
sudo apt get install python dev python rpi.gpio

以下python脚本将接通针脚18(BCM编号)的电源,然后在5秒后关闭电源:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH)
time.sleep(5)
GPIO.output(18, GPIO.LOW)
raspberry pi上的管脚编号有两种符号(电路板和BCM),请检查链接以获取两者的地图。由于有两个符号,例如GPIO23=引脚16,它很容易被误认为不工作


对于我建议的应用程序体系结构,它是轻量级的,非常适合物联网体系结构。有两个和几个代理的库,如HiveMq和Mosquitto。我已经编写了一个演示程序,可以在和android和raspberry pi(python部分)和(android部分)之间进行通信,这可能有助于您入门。

raspberry pi工作正常,因为我有一个http应用程序,可以连接并正常工作。谢谢您的回答。。。有趣的是,我尝试了几种方法来运行一个python脚本来控制gpio,但是没有成功,但是成功地从android应用程序直接控制了gpio,但是出现了上面提到的错误!也许我必须为我想要控制的每个gpio和gpio状态创建一个不同的py文件?