top of page

[제품노트_WIFI-ON V1] ESP8266 WIFI 모듈 3편 "무선 공유기 연결"

2018년 12월 6일
3분 분량

ESP8266의 일부 WIFI AT 명령어를 사용하여 무선 공유기와 연결해 보겠습니다.

ESP8266 WIFI 모듈 2편을 보신 분들은 아래 내용을 건너뛰고

(본 편 시작) 부터 참고하시면 됩니다.

설명에 앞서 참조할 문서는 "ESP8266 AT Instruction Set Ver.2.0.0" 입니다. Ver.3.0은 최근 버전인 만큼 지원되지 않는 AT 명령어가 있어 Ver2.0.0을 참조했습니다.




본 포스팅에 사용한 APPSKIT 구성은 U-HUB V1 허브-모듈과 PWR-ON V1 노드-모듈을 장착한 모듈과, WIFI-ON V1 노드-모듈을 NODE-STAND V1 확장-스탠드에 장착하여 구성했습니다.

(U-HUB V1과 WIFI-ON V1 두 모듈만 결합해서도 사용할 수 있습니다.)

[U-HUB V1, PWR-ON V1, WIFI-ON V1과 NODE-STAND V1 결합 사진]

본 예제는 PC 아두이노 시리얼모니터에서 AT-Command를 WIFI-ON V1 모듈로 직접 전송하려고 합니다. U-HUB V1의 Hardware Serial(RX, TX)를 통해 WIFI-ON V1 노드-모듈의 UART에 직접 연결해서 AT-Command를 테스트해보는 예시입니다.


다음은 위에서 설명한 하드웨어 연결을 도시하였습니다.

[U-HUB V1 허브모듈의 USB 기능을 경유한 WIFI-ON V1의 UART 연결 도시]



본 동작을 위해 U-HUB V1 허브-모듈은 아두이노 개발환경의 보드매니저에서 "Arduino PRO or PRO Mini"를 선택하고 빈 스케치를 업로드합니다.


해당 동작을 위해서 다음과 같은 조작이 필요합니다.


첫째, 빈 스케치를 U-HUB V1 허브-모듈에 업로드하기 위해 WIFI-ON V1 노드-모듈의 "시리얼 선택 스위치"를 위로 올립니다.


둘째, 아두이노 IDE 환경에서 빈스케치를 만들어 U-HUB V1에 업로드합니다.


세째, 아두이노의 Hardware Serial(0번 핀, 1번 핀)과 WIFI-ON V1 모듈의 시리얼 포트를 연결하기 위해 WIFI-ON V1 모듈의 "시리얼 선택 스위치"를 아래로 내립니다.


네째, 아두이노 IDE 환경 내 시리얼 모니터를 실행시키고 통신속도는 "9600"을 선택합니다.

(WIFI-ON V1 노드-모듈은 출고 시 9600bps로 설정되어 있습니다)


다섯째, AT Command를 전송합니다. AT-Command를 전송할 때 유의해야 할 점은 AT-Command 끝에 "Both NL & CR"을 붙여야 합니다.


[아두이노 IDE 환경 내 시리얼모니터 실행 후 옵션 설정 화면]



다음은 위에서 설명한 U-HUB V1 허브모듈의 USB를 경유하여 WIFI-ON V1 노드-모듈의 UART를 통해 AT 명령어를 테스트해 보는 예제 동작 영상입니다.


"AT" 명령어가 내려가면 "OK"로 응답합니다.

"AT+GMR" 명령어는 ESP-12E 모듈의 펌웨어 버전을 출력합니다.

(제조사에 따라 펌웨어 버전과 출력되는 메시지는 다를 수 있습니다.)

[아두이노 시리얼모니터에서 Hardware Serial을 통해 WIFI-ON V1 노드-모듈 직접 제어하기]

(본 편 시작)

필요한 WIFI AT 명령어를 무선 공유기와 연결 순서대로 알아보겠습니다.


무선 공유기에 연결하기 위해서는 WIFI-ON V1 노드-모듈의 WIFI 모드를 "station" 또는 'softAP + station"으로 설정해야 합니다. 여기서는 "softAP + station" 모드로 설정하겠습니다.




첫째, 현재 WIFI-ON V1 노드-모듈의 WIFI 모드를 확인하겠습니다.


이에 필요한 AT 명령어는 "AT+CWMODE" 입니다.

그러나 제조사에서는 이 명령어를 권장하지 않으므로 사용하지 않습니다.


대신 "AT+CWMODE_DEF" 명령어를 사용했습니다.


AT 명령어 순서는 다음과 같습니다.

AT+CWMODE_DEF=? : 파라메타 설정 범위 확인

AT+CWMODE_DEF? : 현재 파라메타 설정 값 확인

AT+CWMODE_DEF=3: softAP + station 모드로 설정 (3으로 설정되어 있으나 예제로써 실행)




둘째, 접속할 수 있는 무선 공유기 리스트와 목표 무선 공유기를 찾습니다.


이에 필요한 AT 명령어는 "AT+CWLAP" 입니다.

이 명령어는 연결할 수 있는 전제 무선 공유기를 검색하거나, "SSID와 MAC 주소" 검색 또는 "SSID" 만 검색이 가능합니다.


"AT+CWLAP" 명령어로 전체 무선 공유기를 검색합니다.

응답은 "+CWLAP:암호화방법,SSID,RSSS,MAC_ADDRESS,FREQ_CHANNEL,FREQ_OFFSET" 값으로 응답합니다.

맨 아래 붉은 박스가 연결할 무선 공유기입니다. SSID는 "TP-LINK_AD12" 입니다.




이제부터는 목표 무선 공유기의 SSID와 PASSWORD를 알고 있다고 가정하겠습니다.




세째, 목표 무선 공유기에 접속합니다.


이에 필요한 AT 명령어는 "AT+CWJAP" 입니다.

그러나 제조사에서는 이 명령어를 권장하지 않으므로 사용하지 않습니다.


대신 "AT+CWJAP_CUR" 명령어를 사용했습니다.

무선 공유기에 연결할 때마다 플래시에 저장할 필요가 없을 것 같아 "AT+CWJAP_DEF" 명령어 대신 이 명령어를 사용했습니다.


"AT+CWJAP_CUR" 명령어로 전체 무선 공유기와 연결합니다.

정상적으로 연결된 경우 "WIFI CONNECTED"와 "WIFI GOT IP" 그리고 "OK" 메시지를 반환합니다.


부여받은 IP 정보를 확인하기 위해 "AT+CIFSR" 명령어를 사용했습니다.


상단의 붉은 박스는 softAP의 IP와 MAC 주소이고, 하단의 붉은 박스는 station의 IP와 MAC 정보입니다.




네째, 목표 무선 공유기에 접속을 종료합니다.


이에 필요한 AT 명령어는 "AT+CWQAP" 입니다.


정상적으로 종료된 경우 "WIFI DISCONNECT"와 "OK" 메시지를 반환합니다.


이 상태의 IP 정보를 확인하기 위해 "AT+CIFSR" 명령어를 사용했습니다.

softAP의 정보는 그대로 남아있고, station의 IP는 초기화되었습니다.




다음은 위 무선 공유기 접속에 대한 동영상입니다.

예제를 위해 무선 공유기의 암호를 간단하게 바꿨습니다.


[WIFI-ON V1 노드-모듈을 사용하여 무선 공유기에 접속하기]



이번에는 시리얼모니터에서 영문 문자 하나를 명령을 주고,

아두이노가 문자 받아서 무선 공유기와 접속하는 예제를 다루겠습니다.



다음은 아래 동작을 위한 하드웨어 연결을 도시하였습니다.

[U-HUB V1 허브모듈과 WIFI-ON V1의 UART 연결 도시]



해당 동작을 위해서는 다음과 같은 조작이 필요합니다.


첫째, 아두이노의 Software Serial(8번 핀, 9번 핀)과 WIFI-ON V1 모듈의 시리얼 포트를 연결하기 위해 "시리얼 선택 스위치"를 위로 올립니다.


둘째, U-HUB V1 허브-모듈의 시리얼 포트(0, 1)에서 문자를 입력받아 WIFI-ON V1 노드-모듈과 연결된 소프트시리얼 포트(8, 9) 간 연결하는 스케치를 업로드합니다.

아래 스케치는 PC의 시리얼모니터에서 영문자를 받아 해당되는 AT 명령어를 Software Serial을 통해 WIFI-ON V1 노드-모듈에 전달합니다.

[시리얼모니터를 통한 무선 공유기 접속 스케치 예제]

세째, 아두이노 IDE 환경 내 시리얼모니터를 실행시키고 통신속도는 "9600"을 선택합니다.


네째, 동작하고자 하는 문자를 시리얼모니터에서 전송합니다.


M: WIFI-ON V1 노드-모듈의 WIFI 모드를 softAP + station으로 설정합니다.

C: 무선 공유기와 연결합니다.

I: 할당 받은 IP를 표시합니다.

D: 연결을 끊습니다.




다음은 위에서 설명한 시리얼모니터의 명령을 받아 WIFI-ON V1 노드-모듈이

무선 공유기와 연결하는 예제 영상입니다.


[시리얼모니터를 통한 무선 공유기 접속 동영상]



지금까지 WIFI-ON V1 노드-모듈을 사용하여 무선 공유기 연결 방법을 살펴 보았습니다.


이상으로 포스팅을 마치겠습니다.


감사합니다.


댓글


 상호  주식회사 디벨롭테인먼트 / Developtainment Co., Ltd

 대표  이종건

 주소  대전광역시 유성구 가정로 218 ETRI 융합기술연구생산센터 1층 108호 (34129) 

           108, 1F, Convergence Technology Commercialization Center, 218 Gajeongro, Yuseong-gu, Daejeon, 34129, Korea​​

메일  appskit@appskit.co.kr

 전화  070-4028-1165

© 2017. Developtainment Co., Ltd All rights reserved.

본 홈페이지에 게시된 이메일 주소가 자동수집되는 것을 거부하며, 이를 위반시 정보통신망법에 의해 처벌됨을 유념하시기 바랍니다.

 참고  본 사이트는 구글 크롬 브라우저로 보시면 원활합니다. 

bottom of page