当前位置 - 무료 법률 상담 플랫폼 - 법률 문의 - TCP를 사용하여 원격 서버에 데이터를 전송하는 방법

TCP를 사용하여 원격 서버에 데이터를 전송하는 방법

TCP를 사용하여 원격 서버에 데이터를 전송하는 방법(송수신)

1. TCP를 사용하여 원격 서버에 데이터를 전송하는 방법

먼저 TCP 연결을 생성합니다. CLIENT로서 모듈은 원격 서버에 대한 TCP 연결을 시작합니다. 연결을 성공적으로 설정하려면 서버가 인터넷에 연결된 PC여야 하며 PC의 IP 주소는 공용 네트워크입니다. IP 주소

(전화 접속을 통해 얻을 수 있지만 PC LAN 내에서 연결을 설정할 수 없음) PC는

SERVER 소프트웨어를 실행합니다. 모듈 측에서 사용할 수 있습니다. AT 명령은 SERVER와 TCP 연결을 설정합니다(AT+CIPSTART=

"TCP", "SERVER의 IP 주소", "SERVER의 포트 번호"). 연결이 성공한 후

OK. 그런 다음 AT+CIPSEND를 사용하여 서버에 데이터를 보낼 수 있습니다. SERVER에 데이터가 있으면 모듈은 자동으로 직렬을 통해 이를 수신합니다. port를 종료하려면 AT+CIPCLOSE 명령을 사용하세요.

2. UDP를 사용하여 원격 서버에 데이터를 전송하는 방법

먼저 UDP 포트(AT+)를 등록하세요. CIPSTART="UDP","SERVER의 IP 주소","SERVER

의 포트 번호"), 성공 후 CONNECT OK를 반환합니다. 그런 다음 AT+CIPSEND를 사용하여 UDP 패킷을 SERVER로 보냅니다.

서버에 데이터가 있으면 모듈이 자동으로 이를 수신하여 직렬 포트를 통해 보냅니다.

3 데이터를 보내는 방법. , 먼저 TCP 연결을 설정하거나 UDP 연결을 등록해야 합니다. 데이터를 보내는 방법에는 3가지가 있습니다. AT를 사용하여 가변 길이의 데이터를 보낼 수 있습니다.

+CIPSEND 명령, return "$amp;>amp ;$quot; 전송할 데이터를 입력하면 ctrl+z(0x1a) 전송이 시작됩니다.

고정 길이 데이터를 전송하려면 AT+CIPSEND=LENGTH 명령을 사용하세요. 그런 다음 전송할 데이터를 입력하세요.

입력 데이터의 길이가 LENGTH와 같을 경우 자동 전송 방법도 있으므로 먼저 사용하세요.

AT+CIPATS=, 자동 전송 시간을 설정하는 명령, 그런 다음 AT+CIPSEND를 사용하여 "$amp;>amp;$quot;를 반환합니다.

전송할 데이터를 입력하고 타이머가 만료되면 자동으로 입력 데이터를 보냅니다. Data 전송이 완료되면 SEND OK를 반환합니다.

이때 보낼 데이터가 있으면 위 단계를 반복하면 됩니다.

참고: 매번 전송되는 데이터의 길이는 1024바이트 미만이어야 합니다.

4. 데이터 수신 방법

데이터는 자동으로 수신됩니다. 원격 데이터가 있는 경우 자동으로 수신됩니다. 수신된 데이터에 AT+CIPHEAD=1을 사용하면 됩니다.

ID는 데이터 앞에 자동으로 추가됩니다. SIM100 TCP/IP AT 명령에 대한 애플리케이션 노트

4

5. SIM100TCP 사용 방법 SERVER 기능

TCP 데이터를 수신하기 위해 모듈을 TCPSERVER로 구성할 수 있습니다. 원격 끝에서 구체적인 작업은 다음과 같습니다:

AT+CIPCSGP=1,"cmnet"(GPRS 모드)

AT+CLPORT="TCP","PORT" (리스닝 TCP 포트 번호 설정)

AT+CIPSERVER (SERVER 기능을 시작하고 성공 후 SERVER OK를 반환합니다. 이 SERVER

기능이 활성화되어 PORT 청취를 시작했습니다)

AT+CIFSR(서버의 IP 주소 얻기)

또는:

< p

>AT+CIPCSGP=0,"17201","172","172", 2 (CSD 모드, CSD 연결로 설정, 다이얼 17201, 사용자 이름과 비밀번호는 모두 172, 연결 속도는 9600)

AT+CLPORT="TCP","PORT" (리스닝 TCP 포트 번호 설정)

AT+CIPSERVER (SERVER 기능을 시작하고 SERVER로 성공하면 CONNECT 9600을 반환합니다. 이번에는

SERVER 기능이 활성화되어 PORT를 듣기 시작했습니다)

AT+CIFSR (SERVER의 IP 주소 획득)

예 SMS를 사용하여 원격 모듈에 이 서버의 IP 주소와 포트 번호를 알려 원격 측이 연결하여 데이터를 보내고 받을 수 있도록 합니다.

이 때 원격 서버는 모듈은 로컬 서버와 통신할 수 있습니다.

클라이언트가 서버에 연결되면 서버는 원격 클라이언트의 IP 주소와 포트 번호를 표시합니다.

이때 SERVER는 REMOTE CLIENT의 TCP 데이터 패킷(TCP 헤더 제외)으로부터 메시지를 수신할 수 있습니다.

참고: 현재 TCP SERVER는 동시에 여러 TCP 연결을 지원할 수 없습니다.

SIM100 TCP/IP AT 명령에 대한 SIMCOM 애플리케이션 노트

5

6. UDP를 사용하여 원격 측에서 데이터를 수신하는 방법

SIM100TCP의 UDP 기능을 사용하여 원격 측에서 UDP 데이터를 수신할 수 있습니다. 세부 정보 프로세스는 다음과 같습니다:

AT+CIPCSGP=1,"cmnet" (GPRS 모드)

p>

AT+CLPORT="UDP","포트 번호"(UDP 포트 번호 설정)

p>

AT+CSTT(TCP 작업 시작, 성공 후 OK 반환)

p>

AT+CSTT p>

AT+CIICR(시나리오 활성화, 성공 후 OK 반환)

AT+CIFSR(로컬 IP 주소 가져오기)

AT+CIPSTART="UDP","REMOTE IP ADDR","REMOTE PORT" (UDP 연결 등록

여기서 "REMOTE IP ADDR" 및 "REMOTE PORT" "아무거나 설정하고 성공하면 CONNECT OK를 반환할 수 있습니다.

)

또는

AT+CIPCSGP=0,"17201","172","172", 2(CSD 모드, CSD 연결로 설정, 다이얼 17201, 사용자 이름

및 비밀번호는 모두 172, 연결 속도는 9600)

AT+CLPORT="UDP", "PORT"(UDP 포트 번호 설정)

AT+ CSTT(TCP 작업 시작)

AT+CIICR(시나리오 활성화, 성공 후 CONNECT 9600 반환 및 OK)

AT+CIFSR(로컬 IP 주소 획득)

AT+CIPSTART="UDP","REMOTE IP ADDR","REMOTE PORT"(UDP 등록

연결, 그 중 "REMOTE IP ADDR"과 "REMOTE PORT"는 임의로 설정할 수 있습니다. 성공하면

CONNECT OK를 반환합니다)

이제 모듈은 원격 UDP 패킷을 수신할 수 있습니다. AT+CIPSRIP=1을 사용하여 식별자와 보낸 사람의 IP 주소를 추가할 수 있습니다. 및 수신된 UDP 패킷 앞의 포트 번호

SIM100 TCP/IP AT 명령에 대한 SIMCOM 애플리케이션 노트

6

7. DNS 기능 사용방법

<

p>SIM100TCP의 DNS를 사용하여 도메인 이름에 직접 연결하거나 DNS를 사용하여 도메인 이름을 확인하여 IP 주소를 얻을 수 있습니다.

구체적인 단계는 다음과 같습니다.

도메인 이름에 직접 연결

1: 먼저 DNS 구성

AT+CDNSCFG="211.136.18.171"(상하이를 예로 들어)

2: 도메인 이름 또는 IP 주소 선택

AT+CDNSORIP=1(도메인 이름 선택)

3: 연결 설정

AT+CIPSTART="TCP" ,"", "80" (SERVER에 연결)

4: 데이터 보내기

AT+CIPSEND는 "$amp;>amp;$quot;를 반환하고 데이터 보내기 시작, Ctrl +z 전송을 시작합니다.

IP 주소를 얻기 위해 도메인 이름을 확인합니다.

1: 먼저 모바일 시나리오를 활성화합니다.

AT+CSTT

AT+CIICR

AT+CIFSR

2: DNS 구성

AT+CDNSCFG="211.136.18.171"(상하이를 예로 들어 설명)

p>

3: 도메인 이름 확인 및 IP 주소 획득

AT+CDNSGIP=""

도메인 이름의 IP 주소 반환

8 온라인인지 확인하는 방법과 연결이 끊어진 후 어떤 프롬프트가 표시되는지

AT +CIPSTATUS를 사용하여 TCP 상태를 쿼리할 수 있습니다. 연결 상태에서는 CONNECTOK가 반환됩니다. 연결이 끊어지면 CLOSE 정보가 적극적으로 반환되며 TCP 상태는 IP CLOSE입니다.

p>

9. AT 명령에 대한 응답 또는 원격 끝

AT+CIPHEAD=1을 설정하면 서버의 데이터 앞에 플래그가 자동으로 추가됩니다.

is: +IPD(datalength), +IPD는 식별자, datalength는 SERVER의 데이터 길이입니다. 이런 식으로

SERVER의 데이터인지 구분할 수 있습니다.

SIM100 TCP/IP AT 명령에 대한 애플리케이션 노트

7

10. SIM100TCP를 사용하여 포인트를 설정하는 방법 -TCP 연결 지점 지정 및 데이터 전송

p>

GPRS 사용을 위한 구체적인 단계는 다음과 같습니다:

첫 번째 스테이션:

AT+CLPORT="TCP"," 3030"

AT +CIPSERVER(SERVER 기능을 시작하고 포트 3030에서 수신 대기 시작)

AT+CIFSR(로컬 IP 주소 가져오기)

AT+ CLPORT="TCP","3000" (로컬 TCP 포트 설정)

두 번째 스테이션:

AT+CLPORT="TCP","2020"

AT+CIPSERVER(SERVER 기능을 활성화하고 2020 포트 수신 시작)

AT+CIFSR(로컬 IP 주소 가져오기)

AT+CLPORT="TCP","2000" ( 로컬 TCP 포트 설정)

첫 번째 스테이션:

AT+CIPSTART="TCP","REMOTE IP ADDR","2020" (REMOTEIP ADDR은 상대방으로부터 얻을 수 있음) SMS 전송으로

)

연결이 설정되었습니다

두 번째 스테이션:

AT+CIPSTART="TCP","REMOTE IP ADDR","3030"

연결이 설정되었습니다.

이후 어느 쪽이든 상대방에게 데이터를 보낼 수 있습니다(보내려면 AT+CIPSEND 사용)

p>

CSD 모드에서도 생성할 수 있습니다. 구체적인 작업은 다음과 같습니다:

첫 번째 스테이션:

AT+CIPCSGP=0,"17201","172 ","172 ", 2 (CSD 모드, CSD 연결로 설정, 다이얼 17201, 사용자 이름 및 비밀번호는 모두 172, 연결 속도는 9600)

AT+CLPORT= "TCP"," 3030"

AT+CIPSERVER(SERVER 기능을 시작하고 3030 포트에서 수신 대기 시작)

AT+CIFSR(로컬 IP 주소 가져오기)

AT+CLPORT= "TCP","3000"

두 번째 스테이션:

AT+CIPCSGP=0,"17201","172","172", 2 (CSD 모드, CSD 연결로 설정, 다이얼 17201, 사용자 이름 및

비밀번호는 모두 172, 연결 속도는 9600)

AT+CLPORT="TCP","2020"

AT+CIPSERVER(SERVER 기능을 시작하고 포트 2020에서 수신 대기 시작)

AT+CIFSR(로컬 IP 주소 가져오기)

AT+CLPORT= "TCP","2000"

p>

SIM100 TCP/IP AT 명령에 대한 SIMCOM 애플리케이션 노트

8

첫 번째 스테이션:

AT+CIPSTART="TCP"," REMOTE IP ADDR","2020" (REMOTEIP ADDR은 상대방으로부터 SMS를 보내 획득 가능

)

연결 이 설정되었습니다

두 번째 스테이션:

AT+CIPSTART="TCP","REMOTE IP ADDR","3030"

연결이 설정되었습니다

그 후, 어느 쪽이든 상대방에게 데이터를 보낼 수 있습니다(전송된 AT+ CIPSEND 사용)

SIM100 TCP/IP AT 명령에 대한 SIMCOM 애플리케이션 노트

9

11. SIM100TCP를 사용하여 여러 모듈 간 상호 통신을 구현하는 방법

현재 SIM100TCP는 동시에 여러 TCP 연결을 지원하지 않지만 UDP를 사용하여 구현할 수 있습니다. 모듈은 UDP 기능을 활성화하여 모듈이 원격 끝 패키지에서 UDP를 수신할 수 있도록 수신된 UDP 패키지를 통해 보낸 사람의 IP 주소와 포트 번호를 얻을 수 있으며 이 모듈은 UDP 패키지로 응답하여 달성할 수 있습니다. 상호 통신은 다음과 같습니다.

간단한 예:

세 개의 모듈 A, B, C가 서로 통신해야 한다고 가정하면 다음과 같은 방법으로 달성할 수 있습니다. GPRS를 예로 들어)

1: A, B, C는 다음과 같이 초기화됩니다.

AT+CIPCSGP=1,"cmnet"(GPRS 모드)

AT+CLPORT="UDP","포트 번호"(UDP 포트 번호 설정)

AT+CSTT(TCP 작업 시작, 성공 후 OK 반환)

AT+ CIICR(시나리오 활성화, 성공 후 OK 반환)

AT+CIFSR(로컬 IP 주소 획득)

AT+CIPSTART="UDP","REMOTE IP ADDR","REMOTE PORT " (UDP 연결을 등록하세요. 여기서 "REMOTE IP ADDR"과 "REMOTE PORT"는 마음대로 설정할 수 있으며 성공하면 반환됩니다.

CONNECT OK)

2: 경우 A는 B에게 데이터를 보내려고 합니다. 다음과 같이 하세요:

p>

AT+CIPCLOSE (현재 UDP 연결 로그아웃)

<

p>AT+CIPSTART="UDP","B의 IP 주소","B의 포트 번호" (새 UDP 연결 등록)

(성공 후 CONNECTOK 및 OK가 반환됨)

AT+CIPSEND(데이터 보내기)

C가 A에게 데이터를 보내면 A는 자동으로 이를 수신하고 C의 IP 주소와 포트 번호를 얻을 수 있으므로 A는 보낼 수 있습니다.

보내기 UDP 패킷을 C로 전송하는 경우 구체적인 프로세스는 위와 유사합니다.

SIM100 TCP/IP AT 명령에 대한 SIMCOM 애플리케이션 노트

10

12. TCP 연결 오류 발생 후 수행

TCP 연결 설정 중 오류가 발생하거나 SERVER 연결이 끊어진 경우 먼저 AT+CIPCLOSE를 사용하여 TCP 연결을 닫습니다(로컬 IP 주소는 변경되지 않음). , 그런 다음 연결을 다시 설정하세요. 다른 시간에 PDP 컨텍스트를 닫으려면 AT+CIPSHUT을 사용하세요. 그런 다음 연결을 다시 설정하세요.

13. 지점간 CSD 연결 설정

먼저 SIM 카드가 CSD 서비스를 활성화했는지 확인하고 상대방 번호로 직접 전화(데이터 통화, 비음성 통화)를 하면 상대방이 전화를 겁니다. ATA로 응답하면 CONNECT 9600이 반환됩니다. 이때 양측은 완전히 투명한 데이터 전송 상태로 들어갑니다. +++를 보낸 후 명령 상태로 돌아갑니다. +++ 데이터 전송이 명령 상태로 돌아올 수 있기 전후 0.5초 이내에는 데이터가 없어야 합니다.

ATO는 데이터 상태로 돌아갈 수 있습니다. ATH는 이 CSD 연결을 종료할 수 있습니다.