장거리(인터넷을 통해)에 있는 Android 기기에서 Raspberry-pi에 연결해야 합니다.
내 목표는 인터넷과 Android 앱을 사용하여 원격 위치에서 컨트롤러 회로를 전환하는 것입니다.
이 경우에는 N개의 회선과 N개의 사용자 모바일 장치가 있습니다. 각 트랙에는 전용 Android 모바일 앱이 있습니다.
Android 애플리케이션에서 컨트롤러 회로로 명령을 전달한 다음 회로가 Android 애플리케이션으로 피드백을 전달하려면 프로토콜이 필요합니다. 저는 Python을 사용하여 서버 스크립트를 작성합니다.
Android 앱과 RPI는 동일한 네트워크에 있지 않으므로 직접 통신할 수 없습니다. 예를 들어, Subhankar가 델리에 홈 자동화 시스템을 가지고 있었고 이제 런던에 있으므로 매일 원격 제어를 통해 "물 펌프"를 시작하고 중지해야 한다고 가정해 보겠습니다. 이 경우 Subhankar에는 "Android 앱"이 있고 그의 홈 자동화 시스템에는 "Raspberry pi"가 있습니다.
이 목표를 가장 잘 달성하는 통신 프로토콜은 무엇입니까?
답변1
Pi가 매일 펌프를 켜고 끄는 경우 간단한 타이머를 사용하는 것이 좋습니다. Pi는 원할 때 이를 수행하도록 프로그래밍할 수 있습니다.
그래도 원격으로 전환하기로 결정했다면 다음을 고려하세요 ssh
.
SSH
ssh
원격 셸 세션에 주로 사용되는 보안 프로토콜이지만 모든 프로토콜을 호스팅하는 데 사용할 수 있습니다.
예를 들어, github 및 bitbucket은 이를 사용하여 git, subversion 및 mercurial을 호스팅합니다. 또한 X11을 터널링하거나 컴퓨터 간에 포트를 전달하는 데 사용할 수도 있습니다. 이를 통해 내가 전혀 알지 못하는 응용 프로그램에서 사용할 수 있습니다.
ssh
각 클라이언트에 대해 연결이 생성되므로 해당 연결을 통해 클라이언트를 식별할 수 있습니다.
안전하지 않은 TCP 통신을 살펴보고 이를 SSH와 결합하여 보안을 유지할 수도 있습니다. 요점은 메시지가 무엇인지 ssh
, 그리고 그것을 안전하게 만드는지에 관한 것입니다.
답변2
마침내 나는 내 문제에 대한 해결책을 얻었습니다.
흥미로운 프로토콜 "MQTT"가 있습니다. 고객과 고객의 커뮤니케이션을 위한 최선의 선택입니다.
제 포스팅에 소중한 관심을 가져주신 모든 분들께 감사드립니다.