2017-09-11 1 views
-1

GPIO 핀을 사용하여 모터를 제어하는 ​​스크립트를 실행하기 위해 안드로이드 폰에서 내 파이 3으로 신호를 보내야하는 엉뚱한 홈 오토메이션을하려고합니다.
안드로이드와 파이를 연결하는 가장 좋은 방법은 내가 잘못 이해 한 부분뿐입니다.라즈베리 파이와 안드로이드 간의 인터페이스

나는 많은 다른 것들을 읽었으며, 나는 압도적 인 답변을 보았습니다.

지금까지 필자의 응용 프로그램에서 Jsch를 사용하여 Pi를 ssh로 실행하고 명령을 실행하는 방향으로 기울어졌지만 바보 같다는 말을 들었습니다.

왜이 사람이 나에게 나쁜 생각인지 설명하고 더 나은 사람에게 설명해 줄 수 있습니까? 이상적으로 전화 앱은 로컬 네트워크와 다른 네트워크를 통해 연결할 수 있습니다.

답변

0

SSH에는 아무런 문제가 없지만 사람들은 일반적으로 Android에서 Pi plus HTTP 요청에 웹 서버를 사용합니다. 또는 원시 소켓 연결을 통해 자체 프로토콜을 실행할 수도 있습니다.

SSH 키를 사용하면 SSH 명령이 더 안전 할 수 있습니다.

그렇지 않으면, 당신은 당신의 인터넷 트래픽을 스누핑 사람에게 당신의 명령을 노출 할 것, 무작위의 사람들은 당신의 장치

를 제어합니다 당신은 내부 및 가정에 대한 외부 모두에 액세스하려면

어느 쪽이든, 당신은 할 수있다 더 많은 연구를 통해 라우터를 포워딩 할 수 있는지 확인하십시오.

0

이런 종류의 일에 HTTP를 사용하면 장점은 잠재적으로 자체 사용자 인터페이스를 생성한다는 것입니다. 필자가 말하고자하는 것은 Pi의 인터페이스가 웹 서버라면 Android 장치에 HTML/JavaScript 인터페이스를 제공하여 안드로이드 앱을 만들지 않아도된다는 것입니다. 사용자는 브라우저 만 있으면됩니다. 전체 사용자 인터페이스는 Pi에서 관리됩니다.

필자는 Pi 보트에서 모터 제어에이 방법을 사용했습니다. Pi에서는 libmicrohttpd 웹 서버 엔진을 내장 한 C 프로그램을 사용합니다. 이 프로그램은 일반 HTML 페이지를 제공하여 브라우저에서 사용자 인터페이스를 만들거나 사용자가 버튼을 클릭하거나 슬라이더를 조작하여 발생하는 특정 HTTP GET 요청에 응답 할 수 있습니다. 정상적인 HTTP 요청/응답 흐름을 벗어난 HTTP 요청을하는 JavaScript 함수를 보내어 (예를 들어 파이에서 센서 값을 표시하는 등) 브라우저 디스플레이를 동적으로 업데이트 할 수 있도록하여 매우 정교한 작업을 수행 할 수 있습니다.

또한 SSL 및 HTTP 인증을 사용하여 일종의 보안을 제공하는 것이 쉽습니다. 필자는 C 언어를 선호하지만, Pi에서 작동하는 Python 용 웹 서버 라이브러리도 있습니다.

내 생각에,은 HTML/JavaScript로 구현 될 수없는 Android에서 사용자 인터페이스가 필요할 때만 이보다 더 복잡한 것을 고려해야 할 유일한 시간입니다.

나는 당신이 원하는 것을하기위한 여러 가지 방법이있을 것이라고 확신합니다. 필자는 파이에 대한 대부분의 작업을 선호한다. 반대로 Android 용으로 개발하고 경험이 풍부하다면 SSH를 통해 Pi에 명령을 보내는 등의 제안 방식이 완벽하게 작동 할 수 있습니다. 그것은 안드로이드에서 대부분의 작업을하는 것을 의미합니다.

0

예, ssh는 바보 같은 해결책입니다. 나머지 API 웹 서비스를 개발하고 PI에서 호스팅하고 Android 앱에서 호출하는 것이 좋습니다

관련 문제