网卡型号
在 pynq/lib/wifi.py
里,官方推荐的是基于雷凌RALink RT5370芯片的网卡:
这种型号的网卡在某宝上就可以买到,下图这两款都是我实测过在PYNQ上可以使用的,这里不建议使用其他型号的网卡,会遇到来自驱动方面的玄学问题。
网卡使用
将USB WiFi插在PYNQ的USB口后,打开Jupyter notebook,参照notebooks/common
里的wifi.ipynb
编写代码:
- 实例化Wifi
- 连接Wifi
- 断开/重置Wifi
以连接我的手机热点为例,完整代码如下:
运行代码,等待大约半分钟后可以看到无线网卡的指示灯亮起,同时手机显示有一个热点连接,表示连接成功:
待解决问题
在使用 connect()
函数时需要输入的第二个参数为Wifi密码,但对于没有密码的Wifi来说该如何连接?这个问题当时困扰了我很久。
- 如果直接删去第二个参数,代码运行会报错。
- 之后我参照pywifi模块里无密码方式,将密码改为
'CIPHER_TYPE_NONE'
,这次虽然运行不会报错,但无线网卡指示灯始终不亮,也就是连接不上。
最后只能选择给Wifi添加一个密码,如果有大佬之后解决了这个问题希望能分享一下解决方案。