TCP Server in Station Mode
통신모듈(Wireles Module)은 Station 모드에서 TCP 서버로 동작 시키고, PC는 TCP 클라이언트를 장치한 후, TCP 통신을 시험한다.
1. 명령 절차 와 응답시퀀스 요약
No | 절차 | 명령 및 조작 | 응답/현상/확인 |
1 | 모듈을 AP에 접속한다. | AT+WJAP=EDWORKS2,edw12345\r | OK |
2 | 모듈의 IP주소를 쿼리 | AT+WJAPIP?\r | +WJAPIP:192.168.0.61,255.255.255.0,192.168.0.1,192.168.0.1 |
3 | PC를 AP에 접속 | PC를 EDWORKS2에 연결. | 연결 확인 |
Event 공지 On | AT+CIPEVENT=ON\r | ||
4 | 모듈을 TCP 서버로 설정 | AT+CIPSTART=0,tcp_server,8080\r | OK |
5 |
PC를 TCP 클라이언트로 설정하고 TCP 서버에 연결 |
대상 IP: 192.168.0.61, 대상포트: 8080, 로컬 포트는 지정하지 않음 |
접속 성공 +CIPEVENT:CLIENT,CONNECTED,192.168.0.2,1586 |
6 |
커맨드모드에서 데이터발송 서버 → 클라이언트 |
AT+CIPSEND=0,1586,5\r 시리얼포트에서 송신데이터 입력 → 12345 |
클라이언트측 수신데이터: 12345 |
7
|
커맨드모드에서 데이터수신 클라이언트 → 서버
|
TCP 클라이언트에서 송신데이터 입력 → 1234567890 |
발송 성공 |
즉, AT+CIPRECVCFG=0으로 설정된 경우 AT+CIPRECV= 0,54849\r 명령을 통해 데이터 전달 받음 |
+CIPRECV:10,1234567890\r\nOK | ||
AT+CIPRECVCFG=1로 설정된 경우, 데이터 전달받기위해 명령을 따로 입력할 필요없음 |
서버측 수신데이터 → 1234567890 | ||
Event 공지 Off | AT+CIPEVENT=OFF\r | ||
8 |
데이터모드에서 데이터발송 서버 → 클라이언트 |
명령 입력: AT+CIPSENDRAW\r | OK |
시리얼포트에서 송신데이터 입력 → abcdefghijklmn |
클라이언트 수신데이터 → abcdefghijklmn | ||
9 |
데이터모드에서 데이터수신 클라이언트→서버 |
TCP 클라이언트 툴에서 송신데이터 입력 → 1234567890 | 서버측 수신데이터 → 1234567890 |
AT Command 모드로 복귀 (0.5초 이내에 +++ 입력할 것) |
+++ | ||
TCP 소켓 ID 0번 종결 | AT+CIPSTOP=0\r |
⊗ 혹시 AT 커맨드(command)를 아무리 입력해도 해도 아무런 응답이 없다면 바로 아래의 첫 번째 참조를 체크.
⊕ 모듈은 리부팅하더라도 마지막에 데이터모드(Transparent Mode)에 있었던 것을 기억한다. 데이터모드에서는 AT 커맨드에 반응할 수가 없다.
→ 커맨드모드로 전환은 “+++” 명령이다. “+” 3개를 1초 이내에 입력할 것.
⊕ 모듈은 리부팅하더라도 마지막에 Soft AP 모드에 있었던 것을 기억한다. 따라서 마지막 동작모드가 Soft AP 였다면 리부팅 해도 Soft AP로 동작한다.
⊕ 모든 기억을 싹 지우고 싶을 경우 → “AT+FACTORY” 명령을 한 다음에 “AT+REBOOT”을 하면 Flash 메모리가 공장 초기상태로 복귀.
2. Station 모드에서 TCP 서버 시험 진행
♦ 1번 에서 5번 과정까지 진행한 결과는 아래 그림과 같다.
♦ 5번 에서 8번 과정까지 진행한 결과는 아래 그림과 같다.