TCP, UDP, IoT, AT Command
TCP/UDP AT Command
TCP/UDP communication is the basis of network communication and plays a key role in IoT device communication.
The list of AT commands related to TCP/UDP is shown in the table below, and their usage will be explained one after another.
No | 명령 | 기능 |
W1401 | AT+SSLCERTGET | SSL 인증서유형 쿼리 |
W1402 | AT+SSLCERTSET | SSL 인증서 설정 |
W1403 | AT+CIPDOMAIN | 도메인 이름 확인 |
W1404 | AT+CIPAUTOCONN | 지정한 ID가 자동연결인지 쿼리 하거나 자동연결로 설정 |
W1405 | AT+CIPSSLOPT | 지정한 ID에 대한 SSL 매개변수 설정 |
W1406 | AT+CIPSTART | 지정한 ID에 TCP 소켓을 연결을 시작 |
W1407 | AT+CIPSTOP | 지정된 ID의 TCP 소케 연결을 끊기 |
W1408 | AT+CIPSTATUS | 지정된 ID의 TCP 소켓 연결상태쿼리 |
W1409 | AT+CIPSEND | 시리얼포트를 통해 지정한 ID로 데이터 전송 |
W1410 | AT+CIPSENDRAW | 커맨드모드에서 데이터모드로 모드변경 |
W1411 | +++ | 데이터모드에서 탈출, 0.5초 이내에 “+” 3개를 입력 |
W1412 | AT+CIPRECV | Wi-Fi에서 수신한 데이터를 시리얼포트로 전달(CIPRECVCFG=0일 때 사용) |
W1413 | AT+CIPRECVCFG | Wi-Fi 모듈이 수신한 데이터를 시리얼포트로 전달모드 설정/쿼리 |
W1401 AT+SSLCERTGET SSL 인증서 유형을 가져 옴
명령(쿼리) | AT+SSLCERTGET=<type> |
응답 | +SSLCERTGET:cert |
OK | |
매개변수 | type=0(루트 인증서), 1(클라이언트 인증서), 2(개인 키), 3(인증서 해지목록) |
설명 | 명령 후 즉시 발효。 |
W1402 AT+SSLCERTSET TLS/SSL 인증서 유형을 설정
명령(설정) | AT+SSLCERTSET=<type> |
응답 | > |
매개변수 | type=0(Root 인증서), 1(Client 인증서), 2(Client 개인키), 3(인증서 해지목록), 4(서버인증서), 5(서버키) |
설명 |
명령 후 즉시 발효, “>”를 반환한 후 인증서 파일을 전달하고, 인증서 끝에 인증서 전송 종료문자 “Ctrl+Z”를 추가(ASCII 코드로 0x1A 이며 인증서의 일부는 아님) |
W1403 AT+CIPDOMAIN 도메인네임 해석(resolution)
명령(쿼리) | AT+CIPDOMAIN=<domain> |
응답 | +CIPDOMAIN:<number> |
<ip> | |
매개변수 | number=IP 주소 수 |
ip=IP 주소 | |
설명 | 명령 후 즉시 발효. |
W1404 AT+CIPAUTOCONN 자동으로 ID 연결 여부 쿼리/설정
명령(쿼리) | AT+CIPAUTOCONN=<id> |
응답 | +CIPAUTOCONN:<option> |
OK | |
매개변수 | 설정 명령의 매개변수 참조 |
명령(설정) | AT+CIPAUTOCONN=<id>,<option> |
응답 | OK |
매개변수 | id= 연결 ID 지정 |
option= 0(자동 연결 종료), 1(자동 연결 활성화) | |
설명 | 명령 후 즉시 발효, 공장출고 기본 값은 1. |
W1405 AT+CIPSSLOPT 지정한 ID 연결에 대한 SSL 매개변수 설정.
명령(설정) | AT+CIPSSLOPT=<id>,<isSSLRoot>,<isSSLClient>[,isSSLCrl] |
응답 | OK |
매개변수 | id=연결 ID 지정 |
isSSLRoot= 0(루트 인증서를 확인하지 않음), 1(루트 인증서를 확인) | |
isSSLClient= 0(클라이언트 인증서를 확인하지 않음), 1(클라이언트 인증서를 확인) | |
isSSLCrl= 0(인증서 해지목록을 확인하지 않음), 1(인증서 해지목록을 확인) |
W1406 AT+CIPSTART 지정한 ID러 TCP 소켓을 연결한다.
실행명령 | AT+CIPSTART=<id>,<type>,[domain],[remote_port],[local_port] |
응답 | OK |
매개변수 | ♦ id=Connection의 ID 번호, 범위는 0~4, 최대 5개의 연결을 만들 수 있음 |
♦ type=연결 유형 → tcp_server, tcp_client, ssl_client, udp_broadcast, udp_unicast, 아래 참조 | |
◊ type=tcp_server, 매개변수 → id, tcp_server, local_port | |
◊ type=tcp_client, 매개변수 → id, tcp_client, domain, remote_port [,local_port] | |
◊ type= ssl_client, 매개변수 → id, ssl_client, domain, remote_port [,local_port] | |
◊ type= tls_server, 매개변수 → id, tls_server, local_port | |
◊ type= udp_broadcast. 매개변수 → id, udp_broadcast, domain, remote_port, local_port | |
◊ type= udp_unicast, 매개변수 → id, udp_unicast, domain, remote_port, local_port | |
♦ Domain= 대상서버의 IP 또는 도메인네임 → tcp_server 일 때 이 매개변수는 필요 없음 | |
♦ remote_port=대상포트 | |
♦ local_port= 로컬포트 → tcp_client 또는 ssl_client일 때 이 매개변수는 지정 된 로컬 포트임 | |
설명 |
명령 후 즉시 발효. 현재 ID로 접속된 연결을 종료하지 않은 상태로 재연결/설정 명령을 하면 실행되지 않고 Error를 반환한다. 임의의 ID에 대한 파라미터를 변경하려면 일단 그 ID의 연결을 종결(AT+CIPSTOP=id\r)하고 설정, 연결 해야한다. |
W1407 AT+CIPSTOP 지정한 ID의 TCP 소켓 연결을 해제
실행명령 | AT+CIPSTOP=<id>[,<remote_port>] |
응답 | OK |
매개변수 | id=Connection의 ID 번호 |
설명 | 명령 후 즉시 발효。 |
W1408 AT+CIPSTATUS 지정한 ID의 TCP 소켓 연결상태쿼리
명령 | AT+CIPSTATUS=<id> |
응답 | +CIPSTATUS:<type>,<status> |
매개변수 | type=지정한 ID의 유형, tcp_server, tcp_client, udp_broadcast, udp_unicast, ssl_client 등을 포함한다. |
status= start(초기화), connecting(연결 중), connected(연결 됨), disconnected(연결 해제 됨), stop(연결 중지) |
|
설명 | 명령 후 즉시 발효。 |
W1409 AT+CIPSEND Wi-Fi로 전송할 데이터를 User 시리얼포트로 전송
명령 | AT+CIPSEND=<id>[,<remote_port>],<data_length> |
응답 | >, 지정한 길이의 date 데이터 입력을 기다림. 입력은 1분간 유효 함 |
매개변수 | id= 연결할 ID 번호 |
remote_port= 원격 포트 | |
data_length=데이터 길이, 단위: byte | |
설명 | 명령 후 즉시 발효 |
W1410 AT+CIPSENDRAW 커맨드모드에서 데이터모드(Transparent Mode)로 변경
명령 | AT+CIPSENDRAW |
응답 | OK |
매개변수 | 없음 |
설명 | 명령 후 즉시 발효, 데이터모드에서 탈출하려면 +++를 입력한다, “+“를 3개를 0.5초 이내 연속적으로 입력해야 한다. |
W1411 AT+CIPRECV Wi-Fi 모듈이 수신한 데이터를 시리얼포트로 전달 받기
명령 | AT+CIPRECV=<id>[,port] |
응답 | +CIPRECV=<len>,<data> |
OK | |
매개변수 | id= 연결의 ID 번호 |
port= 연결의 로컬 포트 번호 | |
len=수신 한 데이터 길이, 단위 Byte | |
data=수신데이터 | |
설명 | 명령 후 즉시 발효, 통상 CIPRECVCFG=0으로 설정되어있을 경우 사용 |
W1412 AT+CIPRECVCFG Wi-Fi 모듈이 수신한 데이터를 User 시리얼포트로 자동전달 모드 쿼리/설정
명령(쿼리) | AT+CIPRECVCFG? |
응답 | +CIPRECVCFG:<recv mode> |
OK | |
매개변수 | 설정 명령의 매개변수 참조 |
설명 | 명령 후 즉시 발효, Default로 1로 설정되어 있다. |
명령(설정) | AT+CIPRECVCFG=<recv mode> |
응답 | OK |
매개변수 |
recv mode= 0, WIFI가 수신한 데이터를 AT+CIPRECV 명령을 통해 시리얼포트로 전달 받는다. recv mode= 1, WIFI가 수신한 데이터를 시리얼포트로 자동으로 전달 받는다. (명령이 따로 필요 없음). |
설명 | 명령 후 즉시 발효 |