Wi-Fi Direct를 통해 Raspberry PI 3에 연결


16

Wi-Fi Direct를 통해 안드로이드 폰에서 RPI 3에 연결하고 싶습니다.

RPI는 건물뿐만 아니라 자연에서 사용될 하나 이상의 이동식 장치를위한 컨트롤러가 될 것이기 때문에 Wi-Fi Direct를 통해 수행하고 싶습니다.

건물에서는 기존 Wi-Fi에 연결할 수 있지만 본질적으로 Wi-Fi는 없습니다. 따라서 RPI는 자체 AP가되어야하지만이를 제어하는 ​​전화기는 건물의 Wi-Fi에 동시에 연결할 수 없습니다. 또한 여러 RPI로 인해 복잡해질 수 있습니다. 하나는 AP 여야하고 다른 하나는 연결해야합니다.

설정이 변경 될 때마다 구성을 수행하지 않고 RPI의 전원을 켤 수 있다면 사용 장소에 관계없이 RPI를 연결하는 것이 좋습니다.

Wi-FI를 직접 요구하는 경우 : 어떻게해야합니까? 누군가 나에게 예 (또는 예에 대한 링크)를 제공 할 수 있습니까? 기본적으로 목표에 더 가까워지는 힌트가 도움이 될 것입니다.

내가 지금까지 무엇을

이 안내서를 사용하여 PI에 Arch Linux ARM을 설치했습니다. https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3

그런 다음 "pacman -S wpa_supplicant"를 사용하여 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 Direct를 테스트 wpa_cli한 다음 p2p_find내 전화를 찾았습니다. 그래서 저는 운전자가 현명하다고 가정합니다.

wpa_supplicant를 사용하여 PI에서 실행되는 서버 프로그램을 등록하는 방법과 Android에서 서버 프로그램을 찾고 연결하는 방법을 알아야합니다.

어떤 아이디어?


이것으로 운이 없습니까? 나는 똑같은 일을하려고하지만 wifi-direct를 사용하여 다른 pi3에서 연결하려고합니다.
Roberto Andrade

@RobertoAndrade 나는 그것을 관리했습니다. 방금 질문을 업데이트하는 것을 잊었습니다. 나는 곧 그렇게 할 것이다;)
Van Coding

일부 진전 여기 아직,하지만 이상한 행동
albfan

@VanCoding 업데이트를 어디에나 게시 했습니까? Android와 Pi 3는 서로를 볼 수 있지만 응용 프로그램에 연결해야합니다.
LC1983

@ LC1983 번호 불행히도, 현재 소용돌이 컨트롤러로 사용되는 sftp를 통해 PI에 직접 프로그래밍했습니다. 파일을 버리기 전에 파일을 복사하는 것을 잊었습니다. 나는 여전히 코드에 다시 손을
Van Coding

답변:


5

두 개의 RPi3에 대해 /etc/wpa_supplicant/wpa_supplicant.conf를 아래와 같이 구성합니다.

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

그런 다음이 링크를 따라 PIN 인증을 통해 두 개의 RPi3을 연결합니다.

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는 각각 RPi3_2 및 RPi3_1의 MAC 주소입니다.

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는 서로 연결되어 있습니다.


이 답변은 명령을 개별적으로 단계별로 수행 할 수있는 두 개의 장치를 사용하는 경우 괜찮지 만 원래 질문에 따라 Pi3 및 Android 장치를 사용할 때 안정적으로 작동하지 않습니다.
LC1983

이 방법으로 2 RPi3을 연결하면 연결을 위해 그룹을 성공적으로 만들 수 있습니까? 그렇게하면 GO-NEG는 성공하지만 연결을위한 그룹을 만들지 못합니다.
shortstheory

-2

PI 3에서 핫스팟 및 wifi로 안드로이드를 사용하십시오 .u는 안드로이드 연결을 인터넷에 유지하고 두 장치간에 연결하여 모든 것을 공유합니다.


1
해결책은 있지만 OP가 달성하려는 것이 아니 었습니다. "Android 전화에서 Wi-Fi Direct를 통해 RPI 3에 연결하고 싶습니다."라고 분명히 말하고 있습니다.
Bex

devicenet을 사용하면 안드로이드 핫스팟으로 wifi를 직접 사용할 수 있습니다. 110 %로 답합니다. "Android 휴대 전화에서 Wi-Fi Direct를 통해 RPI 3에 연결하고 싶습니다"를 유지할뿐 아니라 Android 핫스팟을 사용하여이 모든 것을 단순화 할 수 있습니다.
Paulie617

이것은 OP가 전화와 파이 사이에 애드혹 네트워크를 개발하는 데 도움이되지 않습니다.
Sandor Dosa

1
나는 이것이 지옥으로 내려 갔다는 것을 알고 있지만 단지 감사를 말하고 싶었다. WiFi를 직접 설정하려고했는데 특정 사용 사례에 대해서만이 작업을 수행 할 수 있음을 깨달았습니다.
nolanpro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.