아두이노로 인터넷 연결을 사용하고 싶었으나, 학교 무선망은 기업용 WPA2 였고, 이는 OS 레벨단의, 잘 만들어진, 인증이 없으면 사용하기 힘들다는 글들만...
가능한 모듈이 있다고 한들 그 가격이 비쌀것이기에 결국 라즈베리파이로 눈을 돌렸다.
라즈베리파이에서도 연결하는게 쉽진 않았지만 여튼...
설정법이 워낙 다양하겠지만, 우리학교(UNIST)에선 이렇게 가능했다.
참고로 우리 학교 공용망에 대해 간략히 설명하자면
SSID: WUNIST_AAA
보안종류: WPA2 Enterprise
암호화: AES
네트워크 인증 방법: PEAP
EAP 인증 방법: MSCHAP v2
*서버 인증서 유효성 검사 하지 않음
1. wpa_supplicant 설정
우선
/etc/wpa_supplicant/wpa_supplicant.conf
이 파일의 내용을 수정한다.
ssid 는 알거고,
key_mgmt 는 개인용이 WPA-PSK / 기업용이 WPA-EAP
proto 랑 pairwise 는 아래 표 참고
|
WPA1 |
WPA2 |
proto |
WPA |
RSN |
pairwise |
TKIP |
CCMP |
identity 랑 password 는 인증정보 알아서 입력해주면 되고,
scan_ssid / eap / phase1 / phase2 등도 위와 같이 입력해주면 된다.
뭐 없어도 되는 값들이 있을 수 있지만, 그냥 저 상태로 잘 되길래 더이상 터치 안했다.
보통 ca_cert 값에, pem 파일을 넣을텐데, 위에 적었듯이, 서버 인증서 유효성 검사를 하지 않을 경우 생략하면 된다.
2. 설정 확인
설정 및 인증이 잘 되는지 확인해보려면 아래와 같은 명령어를 사용한다.
우선 네트워크 연결을 꺼주고..
# ifdown wlan0
우리가 만든 설정파일로 연결을 시도한다.
# wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
(혹시나 네트워크 이름이 wlan0 이 아닐경우 바꿔주자.)
참고로 -B 옵션은 백그라운드. 밑에선 쓴다.
로그를 읽어보면 '아 안됐구나..' / '어 된건가?'
하는 감이 온다.(귀찮)
3. network interface 설정
/etc/network/interfaces 를 아래와 같이 수정해준다.
lo, eth0 인터페이스들은 알아서 하고,
이렇게 입력해준다.
4. 연결하기
# ifdown wlan0
# ifup wlan0
을 한 후, 로그에서 DHCP 로 아이피까지 잘 받아오면 성공.
나의 경우 2번에 한번 꼴로 잡는 것 같은데, 왜그런진 잘 모르겠다.
재부팅시마다 잘 잡아야 할텐데...;;;
그냥 시간이 좀 걸리는 것 같기도 하고....
참고 URL
http://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/
https://www.raspberrypi.org/forums/viewtopic.php?p=353961
'Embedded > 라즈베리파이' 카테고리의 다른 글
AWS IoT + Raspberry Pi + Python 사용해보기 (2/3) (4) | 2017.12.19 |
---|---|
AWS IoT + Raspberry Pi + Python 사용해보기 (1/3) (0) | 2017.12.19 |
[RPi] BLE/iBeacon (0) | 2017.12.16 |
[RPi] headless 설정 (0) | 2017.12.16 |
ROS 2개 이상의 기기 연결 (Communication over tcp/ethernet) (0) | 2016.09.15 |