2017-01-09 2 views
4

У меня есть плата с чипом ESP8266 с микропрограммой Micropython v1.8.7. Мое требование - использовать WebREPL через университетский Wi-Fi, который использует аутентификацию WPA2 Enterprise EAP-MSCHAPv2. Мой Google-фу до сих пор сообщил мне, что пользователи Arduino смогли подключиться к WPA2 Enterprise EAP-TLS (проверка подлинности на основе сертификатов) (link), но не (SSID, username, pwd).ESP8266 Micropython - подключение к университетскому Wi-fi (WPA2 Enterprise PEAP)

Все темы, которые я видел до сих пор, по-видимому, относятся к середине 2016 года, поэтому мне интересно, смог ли кто-нибудь выяснить, как это сделать с тех пор. Я никогда не занимался вещами, связанными с сетью, раньше (и я не являюсь отличным программистом), поэтому все вышеперечисленные слова для меня довольно новы. У меня, таким образом, возникли следующие вопросы:

  1. Это просто неотъемлемое ограничение ESP8266? Или это можно сделать? This discussion похоже, что это можно сделать, но необходимо кодировать возможности.
  2. Возможно ли каким-то образом разветвить WPA2 Личное соединение с WPA2 Enterprise, которое может использоваться ESP8266, а также мой компьютер? То, что я пробовал до сих пор, - попытаться использовать точку доступа, используя Connectify, но там не повезло.

Я ценю любую помощь, которую вы, ребята, можете предоставить. Если есть какая-либо соответствующая информация я не включил, пожалуйста, дайте мне знать, и я буду редактировать его в

Edit:. @MaximilianGerhardt Это то, что работает для меня на WPA2 Personal:

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') 

Спасибо, я буду смотреть в V2.0.0 Espressif Non-OS SDK и посмотреть, если я могу заставить его работать.

+0

Код проекта 'esp8266-eduroam' (https://github.com/joostd/esp8266-eduroam/blob/master/wpa2e-v20/user/user_main.c) и 22-дневный комментарий в https : // GitHub.com/esp8266/Arduino/issues/1032 # issuecomment-267809940 предполагает, что это возможно с помощью новейшего 2.0 espressif SDK ('wifi_station_set_enterprise_username()' и 'wifi_station_set_enterprise_password()'). Какой код вы еще пробовали? –

+0

Просьба проголосовать за запрос функции на https://github.com/micropython/micropython/issues/2778 –

+0

@ColonelPanic Я был тем, кто открыл выпуск 2778 :) – Udu

ответ

3

Как я уже говорил в комментариях, проблема, по-видимому, была решена в новейшем SDK Espressif 2.0. Но поскольку вы не используете SDK Espressif C, но прошивку python «Micropython», это изменение еще не распространялось на эту прошивку python.

Вы можете увидеть отображение сетевых функций (active(), connect(), ifconfig() и т.д.) в прошивке здесь: https://github.com/micropython/micropython/blob/master/esp8266/modnetwork.c#L430. В строке 115 вы также можете вызвать вызов wifi_station_connect(), который является родной функцией Espressif-SDK. Таким образом, вы увидите, что прошивка еще не использует новые функции для аутентификации WPA2. В line 490 вы можете увидеть все доступные опции аутентификации: аутентификация предприятия

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. Открытый вопрос GitHub https://github.com/micropython/micropython/, в котором вы просите их выполнять проверку подлинности WPA2 для ESP8266
  2. Перейти на C SDK от Espressif
+0

Спасибо за подтверждение! Я открыл вопрос о Github. Сначала я попробую обратиться в университет за альтернативным PSK-соединением WPA2, если это возможно. Если нет, я полагаю, мне придется использовать SDK Espressif. Я поддержал ваш ответ и принял его, но поскольку это мой первый вопрос о SO, мой представитель недостаточно высок, чтобы отразить его публично. Еще раз спасибо! – Udu

Смежные вопросы