?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

esp 클라이언트 서버 관련 질문입니다

페이지 정보

작성자 이지웅 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-07-19 20:19 조회734회 댓글4건

본문

php 서버와 esp 클라이언트 다수를 접속하여 스마트홈 시스템을 구현중인데요. 

esp로 서버 페이지의 값을 받아와 파싱하여 led나 모터를 제어하는 발식입니다.

그런데 esp가 값을 받아오다가 일정시간이 지나면.. 예를들어 2~3분이 지나면 받아오질 않고 sleep이 되어버리더군요.

이 증상이 일어나는 이유가 무엇인지... 또 해결방법은 무엇인지 궁금합니다.

양방향 통신(웹 소켓 예제)을 했을 경우에는 시간이 지나도 언제든 잘 받아오는 것을 확인하였으나 이는 서버 페이지를 여는 예제라서 이 예제를 적절히 응용하여 해결해야하나 고민되네요.

답변 부탁드립니다!

감사합니다

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

서버 페이지의 크기가 어느 정도인가요? 상당히 큰 HTML 페이지를 파싱한다면 ESP8266 리소스를 상당히 잡아먹고, 적절히 메모리 관리가 되지 않는다면 문제가 발생할 수도 있을 것 같습니다. 가급적 PHP 페이지가 전달해주는 페이지의 내용을 간략하게 (HTML 형식이 아니더라도) 만들어서 사용하시는 것이 좋을 듯 합니다.

이지웅님의 댓글

이지웅 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

감사합니다.
웹소켓 예제를 웹페이지 여는 것이 아닌 다른 용도로 사용할 수 있나요? 예를들어 php에서 버튼 클릭하면 파싱한 값을 받는정도요.

이지웅님의 댓글

이지웅 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

제가 데이터 전달했던 것은.50~60자 밖에는.되지는.않긴 합니다만
위에서 말씀하신 것은 html 방식이 아니더라도 간략해서 만들수 있다 하셨는데 좋은.방법이.있을까요?

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

웹 소켓은 HTTP request와는 동작 방식이 완전히 틀립니다. 양측이 특정 TCP/IP 포트로 1:1 통신을 하는 것이라 서버쪽에 적절한 구현이 되어 있어야 합니다. 간단히 데이터 받는 용도로는 이미 테스트 해보신 것 처럼 사용하는 것이 맞을거 같습니다. 왜 2~3분 후에 문제가 생기는지 문제 원인을 찾아야 할 것 같은데.. 일단은 HTTP request 기본 예제를 가지고 5분 이상 돌려보세요. 코드를 조금씩 더해가며 문제가 생길 때를 찾아야 할 것 같습니다.