정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 - 와이파이 -웹 서버
배강우 | 2015-07-11

제가 아두이노랑 비슷한 에디슨보드로 공부중입니다

아두이노를 와이파이를 이용해서 웹 서버와 데이터를 수시로 주고받으려고하는데요

1>웹 서버는 어떤걸로 구축해야 하나요?  tcp소켓으로 프로그래밍하려고 하는데 적절한건가요...

2>http://www.kocoafab.cc/make/view/359 여기서 보면 데이터를 읽어오는것이  xml을 읽어서 가져오던데

소켓으로 한다면 어떻게 읽어와야하나요?

프로필사진

원기옥 2015-07-12 12:15:16

웹을 사용할 때 사용하는 http는 기본적으로 tcp/ip 위에서 정의된 프로토콜입니다.

 

즉, tcp/ip 연결을 하고 http 프로토콜에 규약에 맞도록 텍스트 기반의 메시지를 보내는 것이죠.

 

connectToServer 함수를 보시면, ip에 연결을 하고 GET /xxxx/xxx HTTP 1.1 와 같은 메시지를 보내는 것을 보실 수 있습니다.  질문하신 소켓을 이용하는 것과 같은 개념입니다.

이 메시지를 보냄으로써, 웹서버에서는 GET 방식의 요청이며, /xxxx/xxx 에 대한 페이지 요청이구나 라고 인식하게 됩니다.

 

http protocol 구조로 구글링 해보시면 많은 문서들이 나오는데요, 한글로 정리해놓은 문서도 많으니 한번 읽어보세요.

좀더 깊은 이해가 필요하시다면 http://tools.ietf.org/html/rfc2616 를 방분하시면 됩니다.

 

http를 사용하지 않고 raw 소켓 통신을 하고 싶으시다면, 웹서버가 아닌 별도의 tcp/ip 서버를 운영하셔야 되고, 어떻게 메시지를 주고 받을 것인지에 대하여 별도로 정의를 하셔야 됩니다. 

 

xml 문서는 http 프로토콜에서 message body에 실려옵니다.

응답코드 -> 해더 -> 바디 순으로 읽으시면 됩니다.

 

 

이전글   |    DHT11 에러 체크해주세요 2015-07-08
다음글   |    아두이노를 통한 센서사용만 해본 초보입니다.... 2015-07-13