我正在尝试使用内置的MicroPython解释器将STM32 Nucleo WIFI扩展板(SPWF04SA)连接到我们的无线网络。根据数据表,它应该得到支持。
我可以使用
列出可用的网络import network
wlan = WLAN()
nets = wlan.scan()
for net in nets:
print(net)
我得到了
(ssid='PE0000', bssid='00:13:60:FF:8F:2D', auth='WPA2 ', channel=4, rssi=-65)
(ssid='PE9000', bssid='02:13:60:FF:8F:2D', auth='WPA2 ', channel=4, rssi=-67)
(ssid='PE0200', bssid='B8:C7:5D:07:CF:D3', auth='WPA2 ', channel=6, rssi=-85)
然后我尝试使用以下方法连接到网络PE9000(或其中任何一个)
wlan.connect('PE9000',(WLAN.WPA2,'xxxx'))
我得到了:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'WLAN' has no attribute 'WPA2'
如果我尝试将WLAN.WPA用于安全类型,我不会收到错误,但显然它不会连接到网络。
任何帮助都将不胜感激。
答案 0 :(得分:0)
我的ESP8266模块遇到了同样的问题。我在下面包含了一些帮助我解决问题的代码。我正在使用micropython 1.9.2。
configuration_filename = 'configuration.json'
station_config = network.WLAN(network.STA_IF)
if not station_config.isconnected():
with open(configuration_filename, 'r') as configuration_file:
json_configuration = configuration_file.read()
json_config = json.loads(json_configuration)
ssid = json_config['ssid']
password = json_config['password']
station_config.connect(ssid, password)
while not station_config.isconnected():
machine.idle() # save power while waiting
print('WLAN connection succeeded!')
答案 1 :(得分:0)
我终于开始工作了。如果其他人遇到过这种情况,那么这些电路板的语法似乎略微不合标准。而不是调用wlan.connect()我不得不使用以下内容:
upload_max_filesize
即使我指定WPA而不是WPA2,它仍然必须弄明白并连接。