Android Things - 当我不知道 IP 地址时如何连接到我的 Raspberry Pi

Android Things - How do I connect to my Raspberry Pi when I don't know the IP address

我已成功将 Android Things Dev Preview 安装到我的 Raspberry Pi。

不过我有一个问题。当我第一次开始安装自己的应用程序时,我能够通过以太网连接到 Raspberry Pi,因为当我启动 Raspberry Pi.

时它会在电视上显示 IP 地址

现在因为我 Raspberry Pi 已经 运行 安装了一个应用程序,所以当我启动它时,它会自动启动到我的应用程序,而不会显示带有 IP 地址的初始屏幕(而且我忘记了我的 IP 地址)。

有没有简单的方法来获取 Raspberry Pi 的 IP 地址,或者在我不知道 IP 地址时连接到它?即使是获取网络上所有可用 ADB 设备列表的命令也会有所帮助。

如果连接到某个 Wi-Fi 时,您可以运行这样的东西就好了:

adb network devices

它可以提供您所在网络上的 ADB 设备列表。

Raspberry PI 自动广播 Android.local 并且应该解析为在端口 5555 上分配给您的 Pi 的 IP 地址。 运行 以下:

adb connect Android.local

上面的命令实际上与 运行:

相同
adb connect <ip-address>:5555

注意:这仅在您的主机平台支持多播 DNS 服务发现时才有效。

此信息是在第 7 步的文档中找到的 https://developer.android.com/things/hardware/raspberrypi.html

您可以扫描您的网络以查找打开端口 5555/5554 的点,例如,

nmap -p 5555,5554 192.168.0.2-100

将在 2-100 范围内扫描打开这些端口的任何 IP 地址。

如果主机平台不支持多播 DNS 而您可以访问您的路由器,您只需登录并查看已连接设备的列表。 无论 mDNS 是否可用或设备上是否打开了任何端口(或者如果您不知道打开了哪个端口),您都将能够查看所有设备。

或者您可以检查您的路由器连接了哪些设备

在 OS X 上,您可以扫描所有将自己发布为 Android.local

的设备
dns-sd -Q Android.local

我相信你需要 Windows/Linux 上的 Bonjour 来获得类似的东西,但我仍然不熟悉它们。

确定所需设备的正确 IP 后,您可以照常连接:

adb connect <ip-address>:5555

从您的应用程序使用 IP 地址进入初始屏幕的最简单方法是将 USB 键盘连接到您的 Raspberry Pi,然后按一次退出键:)

我最近遇到了同样的问题,我认为最简单的方法是在 phone(在我的例子中是 Fing)上安装一个简单的应用程序,它会显示所有已连接的设备到您的本地连接,包括 RPI 及其 ip 地址。那么你就可以开始了!