Wi-Fi Direct経由でRaspberry PI 3に接続する


16

AndroidスマートフォンからWi-Fiダイレクト経由でRPI 3に接続したい。

RPIは建物内だけでなく自然の中で使用される1つ以上の移動可能なデバイスのコントローラーになるため、Wi-Fiダイレクトでそれを行いたいと思います。

建物では、既存のWi-Fiに接続することはできますが、自然界にはWi-Fiはありません。したがって、RPIは独自のAPである必要がありますが、それを制御する電話を建物のWi-Fiに同時に接続することはできません。また、複数のRPIがあると複雑になり、1つはAPになり、他のRPIはそれに接続する必要があります。

セットアップが変更されるたびに設定を行うことなく、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私の電話が見つかりました。それで、私はドライバーに関して、すべてが良いと思います。

PIで実行されているサーバープログラムを登録するためにwpa_supplicantを使用する方法、およびAndroidからそれを見つけて接続する方法を理解する必要があります。

何か案は?


これで運がない?私は同じことをしようとしていますが、wifi-directを使用して別のpi3から接続します。
ロベルトアンドラーデ

@RobertoAndradeなんとかできました。質問を更新するのを忘れました。私はすぐにそうします;)
ヴァンコーディング

いくつかの進展ここで、まだ不安定な動作
albfan

@VanCodingアップデートをどこかに投稿しましたか?私はあなたと同じポイントに達しました-AndroidとPi 3はお互いを見ることができますが、アプリケーションにリンクする必要があります。
LC1983

@ LC1983 no。残念ながら、sftpを介してPIに直接プログラムしました。これは、現在、渦巻きコントローラーとして使用されています。ファイルを渡す前に、ファイルをコピーするのを忘れました。私はまだコードをもう一度手に入れるのを待っています:(
ヴァンコーディング

回答:


5

2つの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認証を介して2つのRPi3を接続します。

RPi3_1:(必要な場合はsudoを使用)

wpa_cli p2p_find

RPi3_2:(必要な場合はsudoを使用)

wpa_cli p2p_find
wpa_cli p2p_peers

次に、それらはお互いにMACアドレスを認識します。その後、1つの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

基本的に、2つのRPi3は互いに接続されています。


コマンドを個別にステップ実行できる2つのデバイスを使用している場合、この回答は問題ありませんが、Pi3およびAndroidデバイスを使用する場合、元の質問に従って、確実に動作しません。
LC1983

この方法で2つのRPi3を接続すると、接続用のグループを正常に作成できますか?実行すると、GO-NEGは成功しますが、接続用のグループの作成に失敗します。
ショート理論

-2

PI 3からAndroidをホットスポットとして使用し、Wi-Fiに接続すると、Androidをインターネットに接続し、両方のデバイスを接続して、何でも共有できます


1
おそらく解決策ですが、それはOPが達成したかったことではありませんでした-それは明らかに「Wi-Fiダイレクト経由でAndroid携帯電話からRPI 3に接続したい」と述べています。
ベックス

devicenetを使用すると、Androidホットスポットで直接wifiを使用できます。したがって、この110%に答えます。「AndroidスマートフォンからWi-Fi経由でRPI 3に直接接続したい」だけでなく、Androidホットスポットを使用するだけでこの全体を簡素化できます。
Paulie617

これは、OPが電話とpiの間にアドホックネットワークを開発するのに役立ちません。
サンドールドーサ

1
私はこれが地獄に落とされたことを知っていますが、ただ感謝を言いたかっただけです。私は、直接、ちょうど私の具体的なユースケースのために私はこれを行うことができることを実現無線LANをセットアップしようとしていた
nolanpro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.