Viv*_*IML 7 python wifi raspberry-pi
我想用RaspberryPi操作一个WiFi加密狗(它就像没有内置WiFi的CPU).我需要编写一个自动扫描WiFi网络的python脚本,并且需要使用已知的SSID和密码自动建立连接.
这意味着我需要从文件中提供WiFi网络的密码,剩下的就是自动进行扫描和连接.
我从Web上读取了一个包含WiFi SSID名称和密码的文件.
我需要编写一个脚本,扫描并列出当前的网络字,并将其与文件中的SSID相匹配,并进一步自动创建与此已知网络的连接.
RaspberryPi操作系统:Rasbian
roc*_*eza 18
wifi是一个python库,用于扫描和连接到linux上的wifi网络.您可以使用它来扫描和连接到无线网络.
它没有任何内置支持自动连接到网络,但您可以轻松编写脚本来执行此操作.以下是如何执行此操作的基本概念示例.
#!/usr/bin/python
from __future__ import print_function
from wifi import Cell, Scheme
# get all cells from the air
ssids = [cell.ssid for cell in Cell.all('wlan0')]
schemes = list(Scheme.all())
for scheme in schemes:
ssid = scheme.options.get('wpa-ssid', scheme.options.get('wireless-essid'))
if ssid in ssids:
print('Connecting to %s' % ssid)
scheme.activate()
break
Run Code Online (Sandbox Code Playgroud)
我刚刚写了它,它似乎工作.就这么你知道,我写了wifi库.如果您希望我将此功能添加到该库,我可以.
Viv*_*IML -2
谢谢大家的回答,我做了如下简单的解决方案
def wifiscan():
allSSID = Cell.all('wlan0')
print allSSID # prints all available WIFI SSIDs
myssid= 'Cell(ssid=vivekHome)' # vivekHome is my wifi name
for i in range(len(allSSID )):
if str(allSSID [i]) == myssid:
a = i
myssidA = allSSID [a]
print b
break
else:
print "getout"
# Creating Scheme with my SSID.
myssid= Scheme.for_cell('wlan0', 'home', myssidA, 'vivek1234') # vive1234 is the password to my wifi myssidA is the wifi name
print myssid
myssid.save()
myssid.activate()
wifiscan()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31412 次 |
| 最近记录: |