我需要从 Android 设备远距离连接到 Raspberry-pi(通过互联网)。
我的目标是通过使用互联网和 Android 应用程序从远程位置切换控制器电路。
在这种情况下,有N个电路和N个用户移动设备。每个赛道都会有其专用的 Android 移动应用程序。
我需要一个协议,将命令从 Android 应用程序传递到控制器电路,然后电路反馈回 Android 应用程序。我使用 Python 来编写服务器脚本。
Android应用程序和RPI不在同一网络中,因此我无法在它们之间进行直接通信。例如,考虑一下,Subhankar 在德里有一个家庭自动化系统,现在他去了伦敦,但他必须每天通过远程控制来启动和停止他的“水泵”。这个案例 Subhankar 有“android 应用程序”,他的家庭自动化系统有“Raspberry pi”。
哪种通信协议最能实现这一目标?
答案1
如果 Pi 每天都会打开和关闭泵,那么请考虑使用一个简单的计时器。可以对 Pi 进行编程,使其在您想要的时间执行此操作。
如果您仍然决定远程进行,请考虑ssh
:
SSH
ssh
是一种安全协议,主要用于远程 shell 会话,但也可用于承载任何协议。
例如github和bitbucket使用它来承载git、subversion和mercurial。它还可以用于隧道 X11,或在机器之间转发端口:这使得我可以在对此一无所知的应用程序中使用它,
ssh
将为每个客户端创建一个连接,因此可以通过其连接来识别客户端。
您可能还想查看不安全的 TCP 通信,并将其与 ssh 结合起来(以使其安全)。这一点是关于消息是什么,ssh
然后将使其安全。
答案2
最后我得到了我的问题的解决方案。
有一个有趣的协议“MQTT”。这是客户与客户沟通的最佳选择。
感谢大家对我的帖子的宝贵关注。