2017-01-06 15 views
13

Мне удалось установить Android Things Dev Preview на мой малиновый пи.Android Things - Как подключиться к моей малине Pi, когда я не знаю IP-адрес

У меня проблема. Когда я впервые начал устанавливать свои собственные приложения, я смог подключиться к Raspberry Pi через Ethernet, потому что он отображал IP-адрес на телевизоре, когда я загружал малину Pi.

Теперь, поскольку у меня есть Малина Pi уже работает приложение, когда я загружаю его, он автоматически загружается в мое приложение, не показывая начальный экран с IP-адресом (и я забыл свой IP-адрес).

Есть ли простой способ получить IP-адрес Raspberry Pi или подключиться к нему, когда я не знаю IP-адрес? Даже команда, чтобы получить список всех доступных устройств ADB в сети, поможет.

Было бы замечательно, если при подключении к определенному Wi-Fi, вы можете запустить что-то вроде:

adb network devices 

Что может дать список ADB устройств в сети вы находитесь.

+0

То, что я делаю, это подключить мой Pi к работе через последовательный кабель, а затем использовать Minicom, чтобы попасть в его оболочку с подключенного компьютера. Затем запустите 'ifconfig'. –

+0

[Android Things: Connect to Raspberry Pi 3] (https://stackoverflow.com/a/41988431/3290339) (см. Раздел «Что делать, если у меня нет ни дисплея, ни кабеля Ethernet?» В частности) – Onik

+0

только FYI «устройства adb» является допустимой командой. –

ответ

15

Малиновый PI автоматически транслирует Android.local и должны преобразовываться в IP-адрес, назначенный для Pi на порту 5555. Running следующее:

adb connect Android.local 

Команда выше фактически то же самое, как работает:

adb connect <ip-address>:5555 

Примечание: Это будет работать, только если ваша хост-платформа поддерживает обнаружение службы многоадресной службы DNS.

Эта информация была найдена в документации здесь за шагом 7 https://developer.android.com/things/hardware/raspberrypi.html

+0

Мне очень любопытно узнать, что будет транслироваться, когда есть несколько устройств – Fabio

+1

@riggaroo Я пробовал adb connect Android.local, но получил следующую ошибку. 'невозможно подключиться к Android.local: 5555: nodename или servname предоставлено или неизвестно'. Однако соединение было успешным, когда я попытался запустить 'adb connect '. Любая подсказка, чтобы знать, почему Android.local не работает для меня? – Vijay

9

Вы можете сканировать сеть точек с портами 5555/5554 открытыми, например,

nmap -p 5555,5554 192.168.0.2-100 

будет сканировать в диапазоне 2- 100 для любых IP-адресов с открытыми портами.

+0

Спасибо, это тоже работает! Это работает для всех типов устройств Android, а не только для малины PI – riggaroo

2

Если многоадресная DNS не поддерживается на платформе хоста, и у вас есть доступ к вашему маршрутизатору, вы можете просто войти в нее и просмотреть список подключенных устройств. Вы сможете просматривать все устройства независимо от того, доступен ли mDNS или имеются ли какие-либо порты, открытые на устройстве (или если вы не знаете, какой порт открыт).

2

Или вы можете проверить в маршрутизаторе, какие устройства подключены

2

На OS X вы можете сканировать для всех устройств, которые издают себя как Android.local

dns-sd -Q Android.local 

Я считаю, нужно Bonjour на Windows/Linux, чтобы получить что-то подобное, но я до сих пор не знаком с ними.

После выяснения правильного IP для нужного устройства можно подключить как обычно:

adb connect <ip-address>:5555 
1

Самый простой способ, как получить к начальному экрану с IP-адресом из вашего приложения для подключения USB клавиатуры ваш малиновый Pi, а затем нажав клавишу escape один раз :)

1

У меня была такая же проблема в последнее время, и самый простой способ, по моему мнению, состоит в том, что просто установить на телефоне простое приложение (в моем случае Fing), которое показывает все подключенные устройства к вашему локальному соединению, включая th RPI с их IP-адресом. Итак, тогда вам хорошо идти!