파이썬으로 와이파이를 다루기 위해 구글링을 하다보면 두 가지 모듈이 눈에 들어온다.
- wifi
- python-wifi
- python-networkmanager
- winwifi
- win32wifi
그런데 대부분 못 써먹는다.... 못 써먹는 이유는 아래와 같다.
1. 먼저 wifi 모듈은 Linux를 위한 모듈이기 때문에 윈도우에서는 사용이 불가능하다.
(오류 메시지: FileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다)
참고글: stackoverflow.com/questions/38846295/python3-wifi-library-does-not-run-with-cell-allwlan0/38846996
2. 다음으로 python-wifi 모듈은 잘은 모르겠지만 python 2를 기반으로 만들어진 모듈이라 python 3으로 넘어오면서
except 관련한 문법이 바뀌면서 Syntax 에러가 잡혀 일반적으로 사용할 수가 없다.
python-wifi 패키지의 문법 오류를 다 수정하면 작동할지도 모르겠으나 편하게 쓰려고 패키지를 사용하는 것인데
일일이 고칠꺼면 차라리 내 입맛에 맞게 새로 작성하는 게 나을 거 같다.
3. python-networkmanager는 pip으로 설치가 안 된다 -_-
(오류 메시지: Building wheel for dbus-python (setup.py) ... error ERROR: Command errored out with exit status 1:)
git으로 수동 설치를 해야하는 거 같은데 귀찮다........
4. winwifi는 모듈이 아니라 CLI이다. python에서 사용하는 것이 아니라 cmd 창에서 사용하는 것이다. 이거라도 사용해볼까 싶었지만 wifi scan 해보니 한글이 뷅쉝으로 변해있다. 고치기 귀찮다......
5. cmd 기본 명령어
- netsh wlan connect ssid name interface 명령어를 통해 특정 와이파이 연결이 가능하다 (기존 등록된 와이파이만 가능)
6. 이 중 써먹을 수 있는 패키지는 바로 win32wifi 이다.
자세한 설명은 github.com/kedos/win32wifi 에서 참조하자.
그래서 그나마 쓸만한 패키지인 win32wifi를 기반으로 새로운 모듈을 작성하였다.
설치방법: pip install ezwifi==1.0.0.11
사용 예시는 아래에 적어두겠다. (1.0.0.11 버전 기준)
1. WiFi 검색 결과 보기
# pip install ezwifi
import ezwifi
w = ezwifi.Wifi()
w.show_list()
2 WiFi 검색 결과 가져오기
# pip install ezwifi
import ezwifi
w = ezwifi.Wifi()
wifiList = w.get_list()
print(wifiList)
3. WiFi 연결하기
# pip install ezwifi
import ezwifi
w = ezwifi.Wifi()
w.connect("ssid", "pass")
# w.connect("ssid")
# 비밀번호가 없거나 이전에 접속한 적 있는 와이파이의 경우 pass 생략 가능
# w.connect("ssid", mode = "auto")
# 자동 연결 설정
4. WiFi 연결끊기
# pip install ezwifi
import ezwifi
w = ezwifi.Wifi()
w.disconnect()
5. WiFi 검색 리스트 갱신
# pip install ezwifi
import ezwifi
w = ezwifi.Wifi()
w.scan()
# w.show_list()
* 대표이미지 *
'파이썬' 카테고리의 다른 글
[파이썬] 다른 파이썬 프로그램에 명령어 전달 (0) | 2021.03.26 |
---|---|
파이썬 GUI 만들기 (0) | 2021.01.25 |
비쥬얼 스튜디오 코드 (Visual Studio Code)에서 "No name 'QApplication' in module 'PyQt5.QtWidgets'" (0) | 2021.01.25 |
파이썬 GUI 구현 (PyQt5 vs tkinter) (0) | 2021.01.25 |
파이썬 모듈 설치 (PIP) 란 무엇인가 (0) | 2021.01.25 |