-
CZ-ME310G1모뎀 구버전에서 HTTP 통신 테스트HTTP 통신 2026. 7. 15. 19:33
https://codezoo.tistory.com/130
CZ-ME310G1모뎀 HTTP, HTTPS 통신 마스터 하기
서버에 데이터를 보내거나 받아오기 위해 사용하는 HTTP프로토콜을 CZ-ME310G1 모뎀에서 손쉽게 사용하기 위한 라이브러리와 example 작업이 마무리되었습니다. 이미 AT커맨드로 사용하고 계신 개발
codezoo.tistory.com
위 글과 연결된 내용입니다. 작년에 구매한 CZ-ME310G1 모뎀으로 HTTP GET, POST 테스트를 진행하는데 잘 되지 않는다는 연락받았습니다.
작년에 생산된 CZ-ME310G1 모뎀의 펌웨어 버전은 아래와 같이 확인할 수 있습니다. ( M0C.900002-B052 )
AT+CGMR
M0C.900002-B052
OK참고로 올해 출시한 CZ-ME310G1 모뎀의 펌웨어 버전은 M0C.900006 입니다.
아래 문의내용입니다.

-----------------
전송 커맨드 요약
-----------------
AT
AT+CPIN?
AT+CEREG?
AT+COPS?
AT+CMEE=2
AT#SGACT?
AT#SGACT=1,1
AT#HTTPCFG=0,postman-echo.com,80,0,,,0,120,1
AT#HTTPCFG?
AT#HTTPQRY=0,0,"/get"
(수신) #HTTPRING: 0,200,"application/json; charset=utf-8",139
AT#HTTPRCV=0,139
-----------------
라이브러리를 참고로 하여 AT 명령어로 테스트 중에 있습니다.
(문제)
1. HTTPCFG 커맨드 전송 시
+CMD ERROR: memory failure 오류발생
2. 그래도 진행이 되어서 이후 HTTPRCV 수신 요청 시
<<< 가 들어오고
2분 후, +CME ERROR: connection failed 오류발생올해 출시된 버전의 모듈에서는 문제가 발생하지 않아서 작년 생산제품으로 다시 테스트했는데, 위 내용과 동일한 증상을 확인했습니다.
테스트 결과 아래와 같은 방법으로 AT커맨드를 입력했더니 정상적으로 사용할 수 있었습니다.
AT#HTTPCFG=0,"postman-echo.com",80,0,,,0,120,1,1500
+CME ERROR: memory failure //반환값이 CME ERROR이 나오지만 무시합니다. (!!!)// HTTPCFG로 설정할 때 패킷사이즈를 1500으로 입력합니다.
AT#HTTPCFG=0,"postman-echo.com",80,0,,,0,120,1,1500
+CME ERROR: memory failure //반환값이 CME ERROR이 나오지만 무시합니다. (!!!)
//이후 동일한 명령어로 GET, POST를 테스트 할 수 있습니다.
//HTTP GET 테스트
AT#HTTPQRY=0,0,"/get"
OK
#HTTPRING: 0,200,"application/json; charset=utf-8",139
AT#HTTPRCV=0,139
<<<{"args":{},"headers":{"host":"postman-echo.com","accept-encoding":"gzip","x-forwarded-proto":"https"},"url":"https://postman-echo.com/get"}
OK
AT#HTTPQRY=0,0,"/get"
OK
#HTTPRING: 0,200,"application/json; charset=utf-8",139
AT#HTTPRCV=0,200
<<<{"args":{},"headers":{"host":"postman-echo.com","accept-encoding":"gzip","x-forwarded-proto":"https"},"url":"https://postman-echo.com/get"}
OK
// HTTP POST 테스트
0[:extension] : "application/x-www-formurlencoded" with optional extension
1[:extension] : "text/plain" with optional extension
other : free string corresponding to other content type and possible sub-types
AT#HTTPSND=0,0,"/post",9
>>>
temp=25.3
OK
#HTTPRING: 0,200,"application/json; charset=utf-8",279
AT#HTTPRCV=0,279
<<<{"args":{},"data":"","files":{},"form":{"temp":"25.3"},"headers":{"host":"postman-echo.com","content-length":"9","content-type":"application/x-www-form-urlencoded","accept-encoding":"gzip","x-forwarded-proto":"https"},"json":{"temp":"25.3"},"url":"https://postman-echo.com/post"}
OK
AT#HTTPSND=0,0,"/post",13,1
>>>
{"temp":25.3}
OK
#HTTPRING: 0,200,"application/json; charset=utf-8",248
AT#HTTPRCV=0,248
17:23:46.277- <<<{"args":{},"data":"{\"temp\":25.3}","files":{},"form":{},"headers":{"host":"postman-echo.com","content-length":"13","content-type":"text/plain","accept-encoding":"gzip","x-forwarded-proto":"https"},"json":null,"url":"https://postman-echo.com/post"}
OK
AT#HTTPSND=0,0,"/post",13,"application/json"
>>>
{"temp":25.3}
OK
#HTTPRING: 0,200,"application/json; charset=utf-8",259
AT#HTTPRCV=0,259
<<<{"args":{},"data":{"temp":25.3},"files":{},"form":{},"headers":{"host":"postman-echo.com","content-length":"13","content-type":"application/json","accept-encoding":"gzip","x-forwarded-proto":"https"},"json":{"temp":25.3},"url":"https://postman-echo.com/post"}
OK아두이노 라이브러리를 사용할 경우 아래 오버로딩 함수를 사용하시기 바랍니다.
ME310::return_t ME310::configure_http_parameters(int prof_id, const char *server_address, int server_port, int auth_type, const char *username, const char *password, int ssl_enabled, int timeout, int cid, int pkt_size, tout_t aTimeout)
{
memset(mBuffer, 0, ME310_BUFFSIZE);
snprintf((char *)mBuffer, ME310_BUFFSIZE-1, F("AT#HTTPCFG=%d,\"%s\",%d,%d,\"%s\",\"%s\",%d,%d,%d,%d"), prof_id,
server_address, server_port, auth_type, username, password, ssl_enabled, timeout, cid, pkt_size);
return send_wait((char*)mBuffer, OK_STRING, aTimeout);
}
// example에서 사용할 때 아래와 같이 패킷사이즈 1500을 추가하고 리턴값을 처리하지 않습니다.
rc = myME310.configure_http_parameters(0, "postman-echo.com", 80, 0, 0, 120, 1, 1500, ME310::TOUT_5SEC);
/*
if (rc == ME310::RETURN_VALID) {
DEBUG_SERIAL.println("-> HTTP Configuration Setup OK.");
} else {
DEBUG_SERIAL.println("-> [ERROR] HTTP Configuration Failed. Halting.");
while (true);
}
*/LTE-CATM1 내장형 모뎀 대량 구매 상담, 외주 개발, 협업 문의, vodafone IoT유심 문의
(주)코드주
장병남 대표 010-8965-1323 rooney.jang@codezoo.co.kr코드주 LTE-CatM1 내장형 모뎀 CZ-ME310G1 / GNSS(GPS) 지원 / 외장 LTE 안테나 포함 / Zephyr 및 Arduino 지원
메카솔루션 공식 쇼핑몰
www.mechasolution.com
iot유심 : codezoo
[codezoo] IoT Global SIM, IoT Connectivity, IoT Device
smartstore.naver.com
CodeZoo LTE-CatM1 전용 아두이노 브레이크아웃 쉴드
메카솔루션 공식 쇼핑몰
mechasolution.com
'HTTP 통신' 카테고리의 다른 글
CZ-ME310G1모뎀 HTTP, HTTPS 통신 마스터 하기 (0) 2026.05.29 TLS Socket을 이용한 HTTPS GET, POST 통신 (2) 2023.10.26 모뎀에 사전 설치된 인증서로 https 통신하기 (0) 2023.08.15 버튼 인터럽트, 온습도센서 그리고 HTTP통신 (0) 2023.08.11 https 서버와 통신하기 두번째 이야기 (1) (2) 2023.02.04