android 手机和树莓派之间通过 WiFi 进行通信,无需外部调制解调器/路由器?

Posted

技术标签:

【中文标题】android 手机和树莓派之间通过 WiFi 进行通信,无需外部调制解调器/路由器?【英文标题】:Communication between android phone and Raspberry Pi over WiFi without external modem/router? 【发布时间】:2017-11-02 08:44:16 【问题描述】:

我想通过 WiFi 用安卓应用程序控制 Raspberry Pi 3,无需外部调制解调器/路由器/...

此应用程序需要执行以下操作:

向 RPi 发送命令 向/从 RPi 发送/接收文件

到目前为止,我已将 RPi 设置为 无线接入点,我可以通过 WiFi 在我的 android 手机中找到 RPi 并连接到它。

但问题是连接后如何与它通信!?

首先,我想使用 SSH。我尝试了一些现成的应用程序,例如 JuiceSSH。它是成功的。我能够通过 SSH 连接到 RPi 并执行命令。

但后来我想也许不需要 SSH。因为树莓派本身就是一个无线接入点,我的安卓手机就和它相连。

现在这是我的问题:

是否有任何方法(除了 SSH)可以在连接到 RPi 后向 RPi 发送命令或从 RPi 发送/接收文件!?如果是这样,我该如何实施?

非常感谢任何示例代码或示例。谢谢。

【问题讨论】:

当然。您可以在 pi 上运行网络服务器。并通过您编写的任何浏览器或应用程序从 android 设备连接。此外,您可以在 pi 上运行您自己的 -server-socket 服务器,并使用您在 android 上的客户端套接字应用程序与它通信。 你也可以在pi上启动一个FTP服务器来交换文件。 感谢@greenapps 的cmets。现在,RPi 被设置为接入点,Android 设备通过 wifi 连接到它。这够了吗?简单地说,我想向 RPi 发送一个命令 mycommand 以在那里执行。我该怎么做? 请举例说明这样的命令。还有……你真的看我的评论了吗? 对此类命令使用 SSH。 【参考方案1】:

我没有看到仅仅因为 RPI 充当无线接入点而不使用 SSH 的意义。无论如何,如果它是您需要通过电话访问 RPI 的基本 Shell 访问,SSH 或 Telnet 可以很容易地设置。

如果您有能力通过代码在 RPI 中实现自己的服务器并在代码中执行某些操作,gRPC 可以派上用场,因为它支持多种语言。

例如:RPI 中的 gRPC 服务器,Android 应用中的 gRPC 客户端。基本上给出了简单的客户端-服务器系统。

根据您的确切要求和限制,还有许多其他方法可以实现相同的目标。

或者您可以简单地在 RPI 中启动一个网络服务器,然后使用手机中的浏览器访问它。这似乎更简单、更健壮。

http://www.instructables.com/id/Python-Web-Server-for-your-Raspberry-Pi/ http://www.instructables.com/id/Raspberry-Pi-Android-App-communication/

【讨论】:

感谢@nowaconcordia 的回答。我不想在 RPi 中创建网络服务器。我更喜欢使用 android 应用,因为它在图形和 UI 方面具有更多功能。 您仍然可以实现网络服务器来提供 API(例如 REST 等),因此应用可以发出请求并进行交互。 我可以用这种结构从安卓手机向RPi发送命令吗?例如像sudo python mycode.py这样的linux命令要在RPi上运行? 是的。也许结合java process builder之类的东西,你可以实现你想要的。 examples.javacodegeeks.com/core-java/lang/processbuilder/…blog.art-of-coding.eu/…

以上是关于android 手机和树莓派之间通过 WiFi 进行通信,无需外部调制解调器/路由器?的主要内容,如果未能解决你的问题,请参考以下文章

树莓派配置wifi的几种方法.md

树莓派连接wifi和蓝牙

Window 10通过网线和Wifi连接树莓派

使用手机连接树莓派(无需电脑,只需要一台手机)

树莓派无屏幕无WiFi通过SSH连接电脑(多图)

树莓派与安卓手机app的WIFI通信(局域网通信)