2017-01-27 9 views
0

소켓을 기준으로 나무 딸기 파이에 연결하고 GPIO 상태를 제어하는 ​​버튼이 하나 또는 두 개있는 버튼이있는 Android 앱을 제작하고 싶습니다. IP 주소와 포트를 기반으로 내 앱과 나무 딸기 파이 사이에 간단한 버튼 연결을 만드는 데 성공했습니다. GPIO를 제어하지만 몇 초 후에 아무런 이유없이 자동으로 상태를 고저에서 낮음으로 변경합니다. android app 또는 raspberry pi의 server/client Java 파일에서 GPIO 상태를 제어해야합니까?GPIO를 제어하는 ​​Android 소켓

도와주세요 ...

답변

0

제가 알고있는 것처럼 응용 프로그램 아키텍처에 대해 알고 있습니다. 나는 RaspberryPi에서 스위치 리스폰스 핀 상태, GPIO 핀 상태 등등과 같은 미리 정의 된 명령 집합을 가진 소켓 리스너를 구현해야한다고 생각한다. 안드로이드 측에서는 서버에 연결하고 적절한 명령 (현재 GPIO 상태를 표시해야하는 경우)을 전송하여 상태를 검색하고 컨트롤에 미리 정의 된 명령을 보내서 서버 측에 무언가를하도록 지시합니다. 이렇게 그것에 대해 내 자신의 의견입니다.

+0

대답 해 주셔서 감사합니다 ... 흥미로운 부분은 gpio를 제어하지만 succes를 사용하지 않고 python 스크립트를 실행하려고 시도했지만 직접 안드로이드 앱에서 gpio를 제어 할 수 있지만 오류가있는 것입니다. 위에 언급했듯이! 어쩌면 내가 제어하고자하는 모든 gpio 및 gpio 상태에 대해 다른 py 파일을 만들어야합니까? –

0

나는 비슷한 일을하고 있지만 TI cc3200은 wifi P2P를 사용하고 있습니다. 나는 라즈베리 파이에 대한 경험이 없으므로이를 명심하십시오. GPIO가 응용 프로그램에서 추가 명령을 보내지 않고 상태를 변경하는 경우 문제의 Raspberry를 살펴볼 것입니다. 몇 가지 아이디어가 있습니다. 안드로이드와 함께 라즈베리에 신호를 보내고 의도하지 않았던 일이 발생했는지 확인해보십시오. 라즈베리가 아마도 파이가 명령을받는 루틴에서 브레이크 포인트를 설정할 것입니다. (나는 파이에 대해 사용하는 IDE에 대한 지식이 없다고 말합니다.) 일반적으로 중단 점을 말하고 실행을 단계별로 실행하면 어떤 일이 일어나는지 알 수 있습니다. 제 생각에는 마이크로 프로세서에서 풀다운 저항과 안정성에 대해 연구 할 수있는 것이 있습니다. 나는 그런 종류의 일을 처리 한 이후로 오랜 시간이 걸렸으므로 확신이 없으므로 Pi에 적용되지 않을 수도 있습니다. 그냥 생각. . 그리고 마지막으로, 어쩌면 많은 똑똑한 사람 내가 먼저, 파이썬 핀 제어를 위해

+0

라즈베리 파이는 잘 작동하고 있습니다. 연결되어 작동하는 http 앱이 있습니다. –

1

에 무게 파이썬 라이브러리를 설치 할 수있는 것보다 : sudo apt-get install python-dev python-rpi.gpio

다음 파이썬 스크립트를 핀 18 (BCM 번호)에 전원을 공급합니다 및 산딸기 PI에

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) 

핀 numberings 표기법이 두 종류 (BOARD 및 BCM)가 양의지도에 대한 링크를 확인 this :을 5 초 후에 그것을 파워 다운. 예를 들어, GPIO23 = pin 16

응용 프로그램 아키텍처에 대해서는 제가 경량이며 사물 아키텍처의 인터넷에 적합하다고 제안 할 것이기 때문에 쉽게 이해할 수 없습니다. androidpython에 대한 라이브러리와 HiveMq 및 Mosquitto와 같은 여러 중개인이 있습니다. 나는 안드로이드와 라스베리 파이 here (파이썬 부분)과 here (안드로이드 부분) 사이에 통신하는 데모를 작성했습니다. 시작하는 데 도움이됩니다.