와이파이 QR코드 만들기
"와이파이 비번 뭐야?"를 끝내는 카드예요. 폰 기본 카메라로 찍으면 비밀번호 입력 없이 바로 연결돼요. 바로 쓰고 싶다면 아래 카드 만들기를, 파이썬으로 직접 만들어 보고 싶다면 실습으로 내려가세요.
바로 만들기: 와이파이 QR 카드
비밀번호는 이 브라우저 안에서만 쓰여요. 저장하지도, 서버로 보내지도 않아요. 현관처럼 밖에서 보이는 곳에 붙일 거라면 공유기의 손님용(게스트) 와이파이로 만드는 게 안전해요.
0파이썬이 있는지 확인하기
윈도우 키 + R → cmd → 엔터로 검은 창을 열고 python --version을 입력해요.
| 나온 결과 | 할 일 |
|---|---|
Python 3.12.x 같은 버전 번호 | 이미 설치됨, 다음 단계로 |
| "내부 또는 외부 명령… 아닙니다" 또는 마이크로소프트 스토어가 열림 | python.org에서 설치. 첫 화면 맨 아래 Add python.exe to PATH를 꼭 체크하고, 설치 후 검은 창을 새로 열어요 |
설치가 번거롭다면 아래 연습장에서 먼저 해 보세요. 이 페이지 안에서 파이썬이 돌아가서 설치 없이 실행돼요.
1작업 폴더에서 검은 창 열고 부품 설치
- 바탕화면에
qr연습폴더를 만들고 열어요. - 창 맨 위 주소창을 클릭하고
cmd입력 → 엔터. 검은 창이 그 폴더에서 열려요. 만든 파일과 검은 창이 같은 폴더에 있어야 실행돼요. - 부품(라이브러리) 설치 한 줄. 마지막에
Successfully installed가 보이면 성공이에요.
pip install qrcode[pil]
[pil]은 QR을 그림 파일로 저장하는 부품(Pillow)도 같이 설치하라는 뜻이에요. "pip은 명령이 아닙니다"가 뜨면 py -m pip install qrcode[pil]로 해 보세요.
2AI에게 세 줄로 요청하기
파이썬 qrcode 라이브러리로 와이파이 접속용 QR코드 이미지를 만드는 코드를 짜줘. 와이파이 이름은 MyHome_WiFi, 비밀번호는 12345678로 해줘. 실행하면 같은 폴더에 wifi_qr.png 로 저장되게 해줘.
진짜 비밀번호는 AI 대화창에 적지 마세요. 가짜 값으로 코드를 받고, 내 컴퓨터에서만 진짜 값으로 바꾸면 돼요. 비밀번호와 키 같은 비밀은 대화창에 붙여넣지 않는 게 앞으로도 지킬 습관이에요.
3연습장에서 바로 실행하기
받은 코드를 붙여넣고 ▶ 파이썬 실행을 누르면 wifi_qr.png가 아래에 나타나요. 휴대폰 카메라로 화면을 찍어 보세요. 처음 한 번은 파이썬을 내려받느라 시간이 걸려요.
내 컴퓨터에서 실행하려면
- 메모장에 코드를 붙여넣고
qr연습폴더에 저장해요. 파일 형식 모든 파일, 이름 wifi_qr.py, 인코딩 UTF-8. - 파일 이름을 절대
qrcode.py로 하지 마세요. 라이브러리 이름과 같으면 파이썬이 내 파일을 라이브러리로 착각해서 에러가 나요. - 메모장에서 Ctrl+F로
MyHome_WiFi와12345678을 찾아 진짜 값으로 바꿔요. 따옴표 안쪽 글자만요. - 검은 창에
python wifi_qr.py→ 폴더에wifi_qr.png가 생기면 성공. 고친 뒤에는 검은 창에서 ↑ 키를 누르면 방금 명령이 다시 나와요.
4미션: 냉장고에 붙일 와이파이 카드
요청할 때는 무엇을 · 어떻게 동작 · 어떻게 보이게 · 조건, 그리고 파이썬에서는 하나 더. 새 코드를 받으면 "추가로 설치할 게 있는지"도 물어보세요. 자동 검사는 만들어진 QR을 실제로 읽어서 판정해요.
- 기본: 찍히는 와이파이 QR
실행하면 그림 파일이 생기고, 그 QR을 읽으면 와이파이 정보가 나와야 해요.
- 인쇄용 카드로
QR 위에 제목, 아래에 안내 문구. 예시 한 줄: "QR코드 위에 "우리 집 와이파이"라는 제목을, 아래에 "카메라로 찍으면 바로 연결돼요"라는 문구를 넣어서 카드 모양 이미지로 만들어줘." 한글이 네모(□□□)로 깨지면 아래 표를 보세요.
- 색 바꾸고 가운데 로고 넣기
우리 집 분위기에 맞는 색과 가운데 작은 그림. 힌트: 가운데를 가리면 안 읽힐 수 있어요. 가려도 읽히게 하는 설정은 아래 실험에 있어요.
- 비밀번호를 코드에 남기지 않기
실행할 때마다 와이파이 이름과 비밀번호를 물어보게. 힌트: "코드에 비밀번호를 적지 않고"라는 조건을 꼭 말하세요. 검사할 때 연습장이 이름과
pass;word같은 특수문자 비밀번호를 대신 입력해 봐요. - 다른 QR도 만들어 보기 (자유)
내 블로그 주소, 연락처가 저장되는 명함 QR, 단톡방 초대 링크…
꾸몄는데 안 찍히면 소용없어요. 미션은 하나씩, 매번 실행해서 폰으로 찍어 확인하세요. 망가지면 "방금 고친 거 되돌려줘" 한 마디면 돼요.
안 될 때 확인할 것
에러가 나면 빨간 글씨 전체를 복사해서 AI에게 붙여넣는 게 가장 빨라요. 연습장의 에러 전체 복사 버튼을 쓰세요.
| 증상 | 원인과 해결 |
|---|---|
'python'은(는) 내부 또는 외부 명령… 아닙니다 | 설치 때 PATH 체크를 빼먹었어요. 다시 설치하며 Add python.exe to PATH 체크, 검은 창은 새로 열기 |
No such file or directory | 검은 창과 파일이 다른 폴더에 있어요. 폴더 주소창에서 cmd를 새로 열기 |
ModuleNotFoundError: No module named 'qrcode' | 부품 설치가 안 됐어요. pip install qrcode[pil] 다시 |
partially initialized module 'qrcode'… circular import | 파일 이름을 qrcode.py로 저장했어요. wifi_qr.py로 바꾸고 __pycache__ 폴더가 있으면 지우기 |
| 그림 속 한글이 네모(□□□) | 기본 글꼴에 한글이 없어요. AI에게 "한글은 윈도우의 맑은 고딕 글꼴로 써줘" |
| QR은 읽히는데 연결이 안 됨 | 비밀번호 오타, 또는 ; : , " 같은 특수문자. "비밀번호에 특수문자가 있어도 제대로 되게 처리해줘" |
실험: QR코드는 왜 가려져도 읽힐까?
QR코드는 1994년 일본의 자동차 부품 회사가 기름 묻고 긁히는 공장에서 쓰려고 만들었어요. 그래서 원래 정보 말고 망가졌을 때 되살리는 여분이 함께 들어 있어요. 여분을 얼마나 넣을지(오류 정정 단계)에 따라 가운데를 얼마나 가려도 읽히는지가 달라져요. 직접 가려 보세요.
이 판독기로 재 보면 가운데를 가려도 읽히는 한계가 대략 L 4%, M 8%, Q 12%, H 18%예요. 복구 여분(7·15·25·30%)보다 작은 이유는 가린 부분이 정보 칸만이 아니라 위치를 맞추는 무늬까지 덮고, 가장자리에 걸친 칸도 망가뜨리기 때문이에요. 그래서 로고는 H로 만들고 QR 면적의 10~15% 이하가 안전해요.
판정은 이 브라우저에서 QR 판독 프로그램(jsQR)으로 실제로 읽어 본 결과예요. 폰 카메라는 이보다 조금 더 잘 읽거나 못 읽을 수 있어요.
그리고 와이파이 QR은 사실 WIFI:T:WPA;S:와이파이이름;P:비밀번호;; 같은 짧은 글자예요. 폰 카메라가 WIFI:로 시작하는 글자를 보면 연결 버튼을 띄워 주는 약속이 있어요. ;가 칸을 나누는 기호라서, 비밀번호에 ; , : " \가 있으면 앞에 \를 붙여야 해요. 위 카드 만들기는 이걸 자동으로 처리해요.
블로그에서 자세히 보기: 극초보 바이브코딩 #4 원문 · 파이썬 설치는 알쓸신잡 3편, 경로와 검은 창은 알쓸신잡 2편
이전 실습: #3 윷 던지기와 보름달 소원 · 전체 실습 목록
자주 묻는 질문
이미 그 와이파이에 연결된 폰으로 찍으면 아무 반응이 없어요
이미 연결된 폰은 알림이 안 뜰 수 있어요. 와이파이를 잠깐 끄거나 가족 폰으로 확인해 보세요.
아이폰도 되나요?
네. 아이폰과 안드로이드 모두 기본 카메라로 와이파이 QR을 읽어서 연결 버튼을 띄워 줘요. 아주 오래된 기기는 QR 앱이 필요할 수 있어요.
비밀번호가 어딘가에 저장되나요?
아니요. 카드 만들기와 연습장 모두 이 브라우저 안에서만 동작해요. 서버로 보내지 않고, 페이지를 닫으면 사라져요.