1. 查询无线网卡、可用 wifi,并连接到指定 wifi
def lianjie_wifi(wifissid,wifi_passwd):
wifi=PyWiFi()
ifaces=wifi.interfaces()[0]#取第一个网卡
print(ifaces.name()) #输出无线网卡名称
ifaces.disconnect() #断开网卡连接
time.sleep(2) #缓冲2秒
if ifaces in [const.IFACE_INACTIVE]:
print('无线网卡存在')
ifaces.scan()#扫描存在的无线wifi
getssid=ifaces.scan_results();
for tempssid in getssid:
get_ssid=list.append(tempssid.ssid)
if wifissid in get_ssid:
profile=pywifi.Profile();
profile.ssid = wifissid # wifi名称
profile.auth = const.AUTH_ASG_OPEN # 需要密码
profile.akm.append(const.AKM_TYPE_WPA2SK) # 加密类型
profile.cipher = const.CIPHER_TYPE_CCMP # 加密单元
profile.key=wifi_passwd; #wifi密码
ifaces.remove_all_network_profiles() # 删除其他配置文件
tmp_profile = ifaces.add_network_profile(profile) # 加载配置文件
ifaces.connect(tmp_profile) # 连接
time.sleep(10) # 尝试10秒能否成功连接
isok = True
if ifaces.status() == const.IFACE_CONNECTED:
print("wifi成功连接")
else:
print("wifi连接失败")
ifaces.disconnect() # 断开连接
time.sleep(1)
return isok
else:
print('没有无线网卡')
2.数据通信:主要通过网络 socket 进行,参考 TCP Server/TCP Client 编程思路即可。