最速の開放型Wi-Fi(インターネット接続可能)に接続し、接続が切断された後も引き続き確認しますか?

最速の開放型Wi-Fi(インターネット接続可能)に接続し、接続が切断された後も引き続き確認しますか?

私はこれがセキュリティ™️の面で非常に悪い考えであることを知っており、これに同意します。 (すべてがSSLを通過するので、そうです。)

私はまだ連絡したいRaspberry Piで駆動される小さなローミングロボットを持っています。これは、ボットが私のサーバーに接続するために最善を尽くす必要があることを意味します。 Wi-Fiはありますが、携帯電話チップはありません。

私は技術分野に住んでいるので、「電子メールを入力したり、利用規約に同意すると無料Wi-Fi」アクセスポイントがたくさんあります。開いているSSIDは意味しません。書くことができるSSID。

サーバーへの接続を許可するアクセスポイントが見つかるまで、開いているすべてのアクセスポイントを繰り返して接続が切断された場合、またはスキャンスループットが弱すぎる場合に回復する方法(アプレットまたはスクリプトなど)はありますか?

Python、Bashなど、Raspbian(Debian)がサポートしているすべてを実行できます。接続が不可能なために発生する「中断」は、ビジネスを実行するコストです。

ベストアンサー1

私はあなたの目的に合った既製のツールを知りませんが、自分で作ることはできます。
必要なツールとプログラムはRaspbianで利用可能です。


幸いなことに、wpa-supplicantネットワーク検索とネットワーク手動接続の対話型制御が可能です。
具体的には、プログラムを使用することができますwpa_cliまたは使用Cのwpa_ctrl APIそれはまたの基礎でもありますwpa_cli

wpa_cliあなたを許可

  1. SSIDをスキャンして結果を表示します。

    wpa_cli -i wlan0 SCAN
    wpa_cli -I wlan0 SCAN_RESULTS
    
  2. SSIDに関する詳細情報を入手してください(信号強度、暗号化などを含む):

    wpa_cli -i wlan0 BSS 0
    

    ヒント:0SCAN_RESULTS出力から追加情報を希望するSSIDにidxを置き換えます。

  3. 条件に合った特定のSSIDに接続してください

    sudo wpa_cli -i wlan0 ADD_NETWORK
    sudo wpa_cli -i wlan0 SET_NETWORK 0 ssid "SSID"
    sudo wpa_cli -i wlan0 SET_NETWORK 0 psk "passphrase"
    sudo wpa_cli -i wlan0 ENABLE_NETWORK 0
    

    注:0後でstdoutに印刷される番号に置き換えてください。ADD_NETWORK

  4. SSIDの切断

    sudo wpa_cli -i wlan0 DISCONNECT
    

明らかに、これらのコマンドの出力をいくつか解析する必要があります。


SSIDに接続した後にサーバーに接続できることを確認するには、ping呼び出しの結果を簡単に評価するだけです。


今、すべてを一つにまとめるだけです。

おすすめ記事