デバイスがWPSなしでネットワークのSSIDとパスワードを取得するにはどうすればよいですか?


12

私は、IoTデバイスがユーザーのwifiネットワークにアクセスする方法を研究しています。WPSの方法について知っています。デバイスは信号をブロードキャストし、ルーターは、リッスンするように命令された後、それを「受信」し、デバイスにアクセス権を与えます。デバイスが独自のアクセスポイントを作成する方法もあります。ユーザーはそれにアクセスして、ホームネットワークのSSIDとパスワードを渡します。それを達成する他の方法はありますか?

この「ProbMe」メソッドについて説明しているこの記事を読みました。

私は間違っているかもしれませんが、Broadlink Rm Proはこのようなことをするかもしれません。最近、そのうちの1つを構成しましたが、必要なのは次のとおりです

  1. スマートフォンをWi-Fiに接続する

  2. QRコードをスキャンするか、Broadlinkアプリにコードを入力します

  3. BroadlinkアプリでネットワークSSIDとパスワードを入力します

  4. そして、デバイスがどのようにネットワークに接続されているのか、アプリにはそのMACアドレスさえあります。

このProbMeの方法やIoTデバイスにユーザーのwifiネットワークへのアクセスを許可する他の方法について詳しく知っている人はいますか?

編集:ProbMeについて検索すると、これはEconaisという会社のテクノロジーであり、同様の何かを開発/生産したい人がいれば、その会社はIoTソフトウェア/ハードウェアと連携していることがわかりました。免責事項:私はエコナイで働いていませんし、いかなる形でもそれに関与していません。


1
ここでちょっと答えました。多くのwifiチップには、クライアントモードとアクセスポイントモードを切り替える機能があります。ESP8266は可能でiot.stackexchange.com/questions/2568/...
GusGorman402

コメント@ GusGorman402をありがとう。クライアントモード/アクセスポイントモードは、私の問題に対する優れたソリューションです。とにかく、私の質問で指摘したBroadlinkデバイスはそのようなものを使用していないことを指摘したいと思います。少なくとも私のスマートフォンは手動でもプログラムでも接続されたwifiを切り替えませんでしたので、そうは思いませんでした。ProbMeメソッドに似たものだったに違いない。
エリックアキラ

これは、Espressifが開発したESP-Touchプロトコルを使用していると思います。この記事では、WiFi.beginSmartConfig()関数を介して使用するための詳細とArduinoコードを提供します。私はこれを自分でテストしていないので、まだ回答としてこれを書き留めていませんが、機能するようになったらいつでも詳細を更新します。
jsaven

回答:


8

ESP8266を使用している場合、組み込みのスマート構成機能によりこれを実現できます。例はESP8266 Arduino WiFiSmartConfig.inoにあります。

重要な手順は、STAモードに設定することです。 WiFi.mode(WIFI_STA);

次に、スマート構成パケットの検索を開始します。 WiFi.beginSmartConfig();

最後に、設定が完了していることを確認します。 WiFi.smartConfigDone()

Wifiは、iPhoneまたはAndroid Apを使用してデバイス上で設定できます。または、Espressif iOS ApまたはAndroid Apから独自のWi-Fiを構築できます。

ESP32にもこの機能があります。デモ11:Arduino ESP32でSmartConfigを使用する方法を参照してください。


1

私が購入したほとんどのデバイス(IPカメラ、照明スイッチ、電源ソケット)は、舞台裏で超音波通信を使用していました。Chromecast、Lisnr&Chirpなどのブランドをご覧ください。

デバイスが構成モードになっている場合、スマートフォンをデバイスの近くに保持する必要があります。クライアントアプリは、SSIDとパスワードが変調されたオーディオ信号(可聴または非可聴)を送信します。それはフリルなしで動作します:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.