7

Micropythonファームウェアv1.8.7を実行するESP8266チップを搭載したボードがあります。私の要件は、WPA2 Enterprise EAP-MSCHAPv2 認証を使用する大学 Wi-Fi 経由で WebREPL を使用することです。これまでのところ、私の Google-fu は、Arduino ユーザーが WPA2 Enterprise EAP-TLS (証明書ベースの認証) (リンク) に接続できたが、(SSID、ユーザー名、pwd) ネットワークには接続できなかったと通知してきました。

この件に関してこれまでに見たすべてのスレッドは、遅くとも2016年半ばからのものであるように思われるので、誰かがそれ以来これを行う方法を理解できたかどうか疑問に思っています. 私はこれまでネットワーク関連のものに手を出したことがありません (また、私は優れたプログラマーでもありません)。したがって、次の質問があります。

  1. これは ESP8266 固有の制限にすぎませんか? それともそれはできますか?この議論は、それが可能であることを示唆しているように見えますが、機能をコード化する必要があります。
  2. ESP8266 と私の PC で使用できる WPA2 エンタープライズから WPA2 パーソナル接続を何らかの方法で分岐することは可能ですか? 私がこれまでに試みたのは、Connectify を使用してホットスポットを試みることですが、うまくいきませんでした。

皆さんが提供できる助けに感謝します。含まれていない関連情報がある場合は、お知らせください。編集します。

編集:@MaximilianGerhardtこれは、WPA2パーソナルで私にとってうまくいくものです:

import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('ssid','pwd')
wlan.ifconfig()

import webrepl
webrepl.start()

WPA2 Enterprise では、この行を変更すればうまくいくと思っていましたが、うまくいきませんでした。

wlan.connect('ssid',auth=WPA2_ENT,'user','pwd')

ありがとうございます。Espressif Non-OS SDK V2.0.0 を調べて、動作するかどうかを確認します。

4

1 に答える 1

4

コメントでリンクしたように、問題は最新の 2.0 Espressif SDK で解決されたようです。ただし、Espressif C SDK ではなく、python "Micropython" ファームウェアを使用しているため、この変更はまだこの python ファームウェアに反映されていません。

ファームウェアのネットワーク関数 ( 、 など) のマッピングは、active()https connect(): //github.com/micropython/micropython/blob/52df2f889e3315a4ced5a81e80efbb138182cd1b/esp8266/modnetwork.cで確認できます。115 行目には、ネイティブの Espressif-SDK 関数であるへの呼び出しも表示されます。したがって、ファームウェアはまだ WPA2 認証の新しい機能を利用していないことがわかります。490 行目で、認証に使用できるすべてのオプションを確認できます。ifconfig()wifi_station_connect()

MP_OBJ_NEW_SMALL_INT(AUTH_OPEN) ,
MP_OBJ_NEW_SMALL_INT(AUTH_WEP) ,
MP_OBJ_NEW_SMALL_INT(AUTH_WPA_PSK) ,
MP_OBJ_NEW_SMALL_INT(AUTH_WPA2_PSK) ,
MP_OBJ_NEW_SMALL_INT(AUTH_WPA_WPA2_PSK)

WPA2 エンタープライズ認証はまだその 1 つではありません。

だから今、あなたの選択肢は次のとおりです。

  1. ESP8266 に WPA2 認証を実装するよう依頼するgithub の問題https://github.com/micropython/micropython/を開きます。
  2. Espressif から C SDK に切り替える

編集: これはまだ問題であり、https://github.com/micropython/micropython/issues/2778で追跡されています。

于 2017-01-09T19:48:53.040 に答える