Подключение к Raspberry PI 3 через Wi-Fi напрямую

16

Я хочу подключиться с телефона Android к RPI 3 через Wi-Fi direct.

Я хочу сделать это через Wi-Fi direct, потому что RPI будет контроллером для одного или нескольких передвижных устройств, которые будут использоваться как в зданиях, так и на природе.

В зданиях его можно было просто подключить к существующему Wi-Fi, но в природе нет Wi-Fi. Следовательно, RPI должен был быть своей собственной точкой доступа, но тогда телефон, управляющий им, не мог быть одновременно подключен к Wi-Fi здания. Кроме того, это может осложниться с несколькими RPI, один должен быть AP, а другие должны будут подключиться к нему.

Было бы здорово, если бы я мог просто включить RPI, не делая никаких настроек каждый раз, когда меняются их настройки, и подключаться к ним независимо от того, где он используется.

Так что с Wi-Fi direct есть требование: как я могу это сделать? Может ли кто-нибудь предоставить мне пример (или ссылку на пример)? В принципе, любой намек, который приближает меня к цели, поможет.

что у меня так далеко

Я установил Arch Linux ARM на PI, используя это руководство: https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3

Затем я установил wpa_supplicant, используя "pacman -S wpa_supplicant"

Затем я создал для него небольшую конфигурацию в /etc/wpa_supplicant/p2p.conf, которая содержит:

ctrl_interface=/var/run/wpa_supplicant
device_name=PI
update_config=1

тогда я начал использовать wpa_supplicant wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/p2p.conf

Затем я проверил прямое использование Wi-Fi, wpa_cliа затем p2p_findнашел мой телефон. Поэтому я считаю, что с точки зрения водителя все хорошо.

Мне просто нужно выяснить, как использовать wpa_supplicant для регистрации серверной программы, работающей на моем PI, и как найти и подключиться к ней с Android.

Есть идеи?

Ван Кодинг
источник
Не повезло с этим? Я пытаюсь сделать то же самое, но подключиться с другого pi3 с помощью Wi-Fi-Direct.
Роберто Андраде
@RobertoAndrade Мне удалось это сделать. Я просто забыл обновить вопрос. Я сделаю это в ближайшее время;)
Ван Кодинг
Некоторый прогресс здесь , но беспорядочное поведение все же
albfan
@VanCoding Вы опубликовали свое обновление где-нибудь? Я попал в ту же точку, что и вы - Android и Pi 3 могут видеть друг друга, но нужно привязать его к приложению.
LC1983
@ LC1983 нет. К сожалению, я запрограммировал непосредственно на PI через sftp, который сейчас используется в качестве контроллера джакузи. Я забыл скопировать файлы, прежде чем отдать их. Я все еще жду, чтобы снова получить в руки код :(
Van Coding

Ответы:

5

Я настраиваю /etc/wpa_supplicant/wpa_supplicant.conf как показано ниже для двух RPi3:

ctrl_interface=DIR=/var/run/wpa_supplicant 
update_config=1

ap_scan=1
device_name=RPi_3
device_type=1-0050F204-1
driver_param=use_p2p_group_interface=1
driver_param=p2p_device=1
p2p_go_intent=10
p2p_go_ht40=1

Затем запустите его командой:

$sudo wpa_supplicant -B -dd -iwlan0 -Dnl80211 -c /etc/wpa_supplicant/wpa_supplicant.conf

Затем по этой ссылке я подключаю два RPi3 через PIN-аутентификацию:

RPi3_1: (используя sudo, если необходимо)

wpa_cli p2p_find

RPi3_2: (используя sudo, если необходимо)

wpa_cli p2p_find
wpa_cli p2p_peers

Затем они узнают друг друга по MAC-адресу. Впоследствии один RPI начнет соединение с сгенерированным PIN-кодом:

RPi3_1 (используя sudo, если необходимо):

wpa_cli p2p_connect xx:xx:xx:xx:xx:xx pin auth
(pin_number will be issued)

RPi3_2:

wpa_cli p2p_connect yy:yy:yy:yy:yy:yy pin_number

Где xx: ..: xx и yy: ..: yy - это MAC-адреса RPi3_2 и RPi3_1 соответственно.

http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_NLCP_WiFi_Direct_Configuration_Scripts#Create_1:2_P2P_Group_-_Connect_with_PIN_code

В основном два RPi3 связаны друг с другом.

ngovanmao
источник
Этот ответ приемлем, если вы используете два устройства, с помощью которых вы можете выполнять команды по отдельности, но при использовании устройства Pi3 и Android, согласно первоначальному вопросу, он не работает надежно.
LC1983,
Когда вы подключаете 2 RPi3 таким образом, они могут успешно создать группу для подключения? Когда я это делаю, GO-NEG успешен, но ему не удается создать группу для соединения.
короткая теория
-2

использовать Android в качестве точки доступа и Wi-Fi к нему из PI 3, вы будете поддерживать подключение Android к Интернету и иметь подключение между обоими устройствами, чтобы поделиться любым

Paulie617
источник
1
Хотя, возможно, решение было не тем, чего хотел достичь ОП, в нем четко говорится: «Я хочу подключиться с телефона Android к RPI 3 через Wi-Fi direct», а не наоборот.
Bex
Используя Devicenet, вы можете использовать Wi-Fi Direct с точкой доступа Android. так что его ответы это 110%. он не только сохраняет «я хочу подключиться с телефона Android к RPI 3 через Wi-Fi direct», вы можете упростить все это, просто используя точку доступа Android.
Paulie617
Это не помогает OP создать специальную сеть между телефоном и пи.
Сандор Доса
1
Я знаю, что это провалилось в ад, но я просто хотел сказать спасибо. Я пытался настроить WiFi direct и просто понял, что для своего конкретного случая использования я могу сделать именно это
nolanpro