기금넷 공식사이트 - 재경 문답 - TCP를 사용하여 원격 서버에 데이터를 전송하는 방법

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

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

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

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

(전화 접속을 통해 얻을 수 있습니다. PC LAN 내부에 있으면 연결을 설정할 수 없습니다.) 그러면 PC는

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

"TCP", "서버의 IP 주소", "서버의 포트 번호"). 연결이 성공하면 CONNECT가 반환됩니다.

OK 그런 다음 AT CIPSEND를 사용하여 서버에 데이터가 있으면 모듈이 자동으로 직렬 포트를 통해 수신합니다. TCP 연결을 위해서는 AT CIPCLOSE 명령어를 사용하세요.

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

먼저 UDP 포트(AT CIPSTART="UDP")를 등록해야 합니다. , "서버의 IP 주소", "서버

의 포트 번호"), 성공 후 CONNECT OK를 반환합니다. 그런 다음 AT CIPSEND를 사용하여 UDP 패킷을 서버로 보냅니다. SERVER에 데이터가 있으면 모듈이 자동으로 이를 수신하여 직렬 포트를 통해 보냅니다.

3. 데이터 전송 방법

데이터를 전송하려면 먼저 TCP를 설정해야 합니다. 연결하거나 UDP 연결을 등록하는 방법에는 세 가지가 있습니다. 가변 길이의 데이터를 전송하려면

" $>amp;$quot;를 반환하는 AT CIPSEND 명령을 사용할 수 있습니다. 전송할 데이터가 있으면 Ctrl z(0x1a) 전송이 시작됩니다.

고정 길이 데이터를 전송하려면 AT CIPSEND=LENGTH 명령을 사용하고 "gt;"를 반환한 다음 전송할 데이터는 자동으로 전송됩니다. 입력 데이터의 길이가 LENGTH와 같을 때 전송됩니다. 자동 전송 방법도 있습니다.

먼저 AT CIPATS=를 사용하여 자동 전송 시간을 설정한 다음 AT CIPSEND를 사용하여 "$amp; OK를 반환합니다.

명령 모드입니다. 보낼 데이터가 있으면 위 단계를 반복하세요.

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

4. 데이터를 자동으로 수신하는 방법 원격 데이터가 있는 경우 자동으로 수신됩니다. =수신된 데이터 앞에 1

자동으로 로고를 추가합니다.

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

4

5. SIM100TCP의 SERVER 기능을 사용하는 방법

모듈을 TCPSERVER로 구성하여 원격 측에서 TCP 데이터를 수신할 수 있습니다.

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

AT CLPORT= "TCP", "PORT"(수신 TCP 포트 번호 설정)

AT CIPSERVER(SERVER 기능을 활성화하여 완벽한

성공 후 SERVER로 돌아갑니다. 이때 SERVER

기능이 활성화되어 PORT 청취가 시작되었습니다.)

AT CIFSR(SERVER의 IP 주소 획득)

또는 :

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

는 172, 연결 속도는 9600)

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

AT CIPSERVER(시작 SERVER 기능, 성공 그런 다음 CONNECT 9600을 반환하고 SERVER OK 이때

SERVER 기능이 활성화되어 PORT를 수신하기 시작했습니다.)

AT CIFSR(SERVER의 IP 주소를 얻습니다. )

SMS를 사용하여 원격 모듈에 이 서버의 IP 주소와 포트 번호를 알릴 수 있으므로 원격 끝이 서버에 연결하여 데이터를 보내고 받을 수 있습니다.

이때, 원격 모듈은 이 SERVER와 연결을 맺고 데이터를 주고받을 수 있습니다.

CLIENT가 SERVER에 연결되면 SERVER는 IP를 표시합니다. REMOTE CLIENT의 주소 및 포트 번호.

이때 서버는 REMOTE CLIENT로부터 TCP 데이터 패킷(TCP 헤더 제외)을 수신할 수 있습니다.

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

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

5

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

SIM100TCP의 UDP 기능을 사용하여 원격 끝 데이터에서 UDP를 수신할 수 있습니다. 구체적인 프로세스는 다음과 같습니다:

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

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

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

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"는 마음대로 설정할 수 있습니다.

성공 후

return CONNECT OK)

이제 모듈은 원격 UDP 패킷을 수신할 수 있습니다. 수신된 UDP 패킷 앞에 AT CIPSRIP=1을 사용할 수 있습니다. p>

식별 정보와 발신자의 IP 주소 및 포트 번호를 추가하세요.

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

6

7. DNS 기능 사용 방법

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

다음과 같습니다:

도메인 이름에 직접 연결

1: 먼저 DNS 구성

AT CDNSCFG="211.136.18.171" (Take 예시)

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

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

3: 연결 설정

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

4: 데이터 보내기

AT CIPSEND는 "$amp;gt;amp를 반환합니다. ;$quot; 그런 다음 데이터 전송을 시작하고 Ctrl z 전송을 시작합니다.

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

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

AT CSTT

AT CIICR

AT CIFSR

2: DNS 구성

AT CDNSCFG="211.136.18.171"(상하이를 다음과 같이 설정) 예)

3: 도메인 이름을 확인하고 IP 주소를 얻습니다.

AT CDNSGIP=""

도메인 이름의 IP 주소를 반환합니다.

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

AT CIPSTATUS를 사용하여 TCP 상태를 쿼리할 수 있습니다. AT 명령 세트를 참조하세요. .연결된 상태이면 CONNECTOK가 반환되며, TCP 상태는 IP CLOSE인지 구별하는 방법. AT 명령 또는 원격 측으로부터의 응답

AT CIPHEAD=1로 설정하면 서버의 데이터가 자동으로 플래그 앞에 오도록 하며 형식은 다음과 같습니다.

IPD(datalength), IPD는 식별자, datalength는 SERVER의 데이터 길이입니다.

SERVER의 데이터인지 해당 AT 명령인지 구분할 수 있습니다. /p>

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

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 포트 설정)

The 첫 번째 :

AT CIPSTART="TCP", "REMOTE IP ADDR", "2020" (REMOTEIP ADDR은 SMS를 보내 상대방으로부터 얻을 수 있음

)

연결이 설정되었습니다.

두 번째 스테이션:

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

연결

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

CSD 방법을 사용하여 설정할 수도 있습니다. 구체적인 작업은 다음과 같습니다. :

첫 번째 스테이션:

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

AT CLPORT="TCP", "3030"

AT CIPSERVER (서버 시작 기능을 수행하고 포트 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"

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

8

첫 번째 스테이션:

AT CIPSTART="TCP", "REMOTE IP ADDR", "2020" (REMOTEIP ADDR은 SMS를 보내 상대방으로부터 얻을 수 있습니다.

)

연결이 완료되었습니다.

2번 스테이션:

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

연결이 설정되었습니다.

그 후 어느 쪽이든 상대방에게 요청을 보낼 수 있습니다. 한 쪽은 데이터를 보냅니다(AT CIPSEND를 사용하여 전송)

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

9

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

현재 SIM100TCP는 다중 TCP 연결을 지원하지 않습니다. 동시에 UDP를 사용하여 달성할 수 있습니다. 모듈을 사용하여 UDP 기능을 활성화하면 모듈이 빠르게 원격 끝에서 UDP 패킷을 수신할 수 있도록 발신자의 IP 주소와 포트 번호를 얻을 수 있습니다. 다음은 간단한 예입니다.

세 개의 모듈 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에게 데이터를 전송하려는 경우 이렇게 하면 됩니다:

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

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 주소는 변경되지 않음) 다시 -연결을 설정합니다. AT CIPSHUT을 사용하여 다른 시간에 닫을 수 있는 경우

PDP 컨텍스트(로컬 IP 주소가 변경됨) 후 연결을 다시 설정합니다. 13. Point-to-Point CSD 연결을 설정하는 방법

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

)하면 ATO는 데이터 상태로 복귀할 수 있으며 이 CSD 연결을 종료할 수 있습니다.