아두이노와 esp01 모듈을 사용해 http get 요청 보내기
-
사용한 esp01 모듈
-
AT+CIPSTART 명령어를 사용해서 서버에 접속
AT+CIPSTART="TCP","ADDRESS",POST
-
AT+CIPSEND 명령어를 사용해서 몇 바이트 보낼 것인지 명시
AT+CIPSEND=BYTE_SIZE
- 이때 데이터의 제일 마지막에 CRLF가 들어가는 것을 기억해서 +2 해줘야 한다
- 이후에
OK >
가 나오면 데이터를 입력한다.- 이번에 보내는 데이터는 http 요청의 가장 기본적인 내용
GET / HTTP/1.1\r\n
로 16바이트이다.
- 이번에 보내는 데이터는 http 요청의 가장 기본적인 내용
- 전송이 무사히 끝났다면
SEND OK
가 모듈에서 반환된다
-
AT+CIPCLOSE 명령어를 사용해서 접속을 종료
- 여러개의 접속을 사용하면 link-id를 입력해야 한다.
- 지금은 한개의 접속만 존재하기 때문에 상관없다
-
시리얼 모니터로 직접 명령어를 전송한 기록
00:47:38.598 -> AT+CIPSTART="TCP","192.168.0.2",9999 00:47:38.641 -> CONNECT 00:47:38.641 -> 00:47:38.641 -> OK 00:47:47.507 -> AT+CIPSEND=16 00:47:47.549 -> 00:47:47.549 -> OK 00:47:47.549 -> > GET / HTTP/1.1 00:47:53.481 -> Recv 16 bytes 00:47:53.481 -> 00:47:53.481 -> SEND OK 00:49:15.455 -> AT+CIPCLOSE 00:49:15.501 -> CLOSED 00:49:15.501 -> 00:49:15.501 -> OK
-
서버 로그
➜ ~ python3 -m http.server 9999 Serving HTTP on 0.0.0.0 port 9999 (http://0.0.0.0:9999/) ... 192.168.0.5 - - [29/Oct/2022 00:49:15] "GET / HTTP/1.1" 200 -