안녕하세요.
CAT.M1 IoT 모뎀을 이용해서 제품 개발하는 중에 AT COMMAND 명령을 통해서 HTTP 연결을 시도해 보았습니다.
TCP로 연결은 되었으나 HTTP 구조로 데이터를 전달하려니 문제가 발생했습니다.
첫 번째는 종단을 알려주는 문자를 모르는 듯했습니다.
\r\n\r\n\r\n 끝에 6바이트를 붙임으로써 문장의 끝을 알려주는 것이 해결되었습니다.
두 번째로 HTTP1.1 마지막에 호스트가 없다고 리턴 값을 받았습니다.
HTTP1.1과 Host: 주소 사이에도 구분해 줄 수 있는 \r\n 2바이트를 추가해 주어야
정상적으로 http response 값을 받을 수 있었습니다.
그러나 모뎀 버퍼가 1500 까지다 보니, 한 번에 웹페이지 전체를 받지 못했습니다.
통째로 받으려면 조금 다른 방법으로 사용해야 할 것 같고 IoT 모델로 할 경우 1500 바이트 정도면 충분히
상태정보를 받을 수 있을 것이라 생각됩니다.
예) 지역에 날씨를 가져오기
(모뎀에 맞게 at command들을 python 명령어로 변환해 주었습니다.)
at_modem.at_qiopen(1,0,"TCP","www.kma.go.kr",80); utime.sleep_ms(100)
send_msg = "GET /wid/queryDFSRSS.jsp?zone=4113552000 HTTP/1.1\r\nHost: www.kma.go.kr\r\n\r\n\r\n"
at_modem.write(send_msg)
<참고 사이트 (참고로 아래의 모뎀을 사용하지는 않았다.)>
https://www.esp8266.com/viewtopic.php?f=12&t=13556
반응형
'IT' 카테고리의 다른 글
Synology NAS DS423+ DSM7.2 설치 (0) | 2024.04.06 |
---|---|
인체공학 키보드 Microsoft Natural Ergonomic Keyboard 4000 v1.0 내부가 어떻게 생겼나? 분해 (0) | 2024.03.22 |
압착기를 이용한 몰렉스(Molex) 5264/5267 케이블 만들기 (2) | 2024.02.14 |
[콘테스트] e4ds 아이디어콘테스트 참여 - 실내조명을 이용한 배선이 불필요한 IR 송신기 (0) | 2024.02.06 |
[MS WORD] Source Code를 MS Word에 붙여 넣는 방법 2 (0) | 2024.01.08 |