CDMA모듈을 이용한 SMS/TCP 송/수신 관련 개발 경험이 있으신분 ..
글쓴이: coathanger / 작성시간: 월, 2007/04/30 - 5:17오후
현재 CDMA관련하여 CDMA AT-Command를 이용하여 tcp 및 sms 서비스 관련 개발을 하고 있습니다.
다름이 아니라..개발 언어는 C 입니다.
TCP를 이용한 데이터 서비스를 하려고 할 때, 아래와 같은 접속 절차를 따르지요.
1. at*tcp*open -> TCP_OPEN
2. at*tcp*con = 123.456.789.11,8181 -> TCP_CONNECT
헌데 제가 궁금한 것은 보낼 데이터가 있어서 서버로 tcp 접속을 시도 시 위 절차의 TCP_CONNECT를 받은 후에 데이터를 보내야 하는데 이 처리를 어떻게 해야하는지 잘 몰라서입니다.
일단 기본적으로 CDMA모듈은 Serial로 연결되어 있어서, 내부적으로 시리얼 통신을 합니다.
1. 보낼 데이터가 있다.
2. 서버 접속 시도
3. TCP_CONNECT를 받으면 데이터 전송.
3번을 어떻게 처리해야 하는지 모르겠습니다.. 참고로 서버 접속을 시도하고 TCP_CONNECT를 받는데 걸리는 시간은 예측을 못합니다. 즉 TCP_CONNECT를 기다리다가 오면 전송을 해야하거든요...
관련 개발자분이 계시면 도움을 받고 싶습니다.
Forums:
예전 자료.
아주 옛날 자료인데 혹시나 도움이 될런지 모르겠네요.
http://kelp.or.kr/korweblog/stories.php?story=02/07/10/5881377
예전에 제가
예전에 제가 사용하던 방식과 연결 방식이 다르군요...
어쨌든 만약 질문하신 분의 방식대로 TCP 연결이 성공하고 나면 그 다음부터는 그냥 소켓 통신을 하면 됩니다. 내부적으로 PPP 접속이 완료되고 나면 PPP 스택 윗 부분은 일반적인 TCP/IP 스택을 그대로 쓰기 때문에 유선 통신과 차이가 없습니다.
http://agbird.egloos.com
------------------------
http://agbird.egloos.com
네... 질문을 더하자면.
1. at*tcp*open 을 시리얼에 씁니다. 성공 시 -> TCP_OPEN을 뱉습니다.
2. at*tcp*con = 123.456.789.11,8181을 시리얼에 씁니다. -> TCP_CONNECT를 뱉습니다.
그러나 성공 값(TCP_OPEN, TCP_CONNECT)이 바로 출력되는 것이 아니라 약간의 시간차가 있습니다. 또는 접속이 안되면 계속 응답이 없겠지요..
제가 모르는 것은.. at*tcp*open을 날리고 TCP_OPEN이 오면 다음 문장을 실행시켜야 하거든요. 즉 TCP_OPEN이 올 때 까지 기다려야 하는데 이 기다리는 부분을 어떤 식으로 처리해야 하는지 모르겠네요.. 도움을 주실분..흑..
상황을 정확히 잘
상황을 정확히 잘 모르겠지만 질문하신 분의 실제 문제는 CDMA 통신 방법에 있는게 아니라
시리얼 통신을 non-block 모드로 처리하는 방법에 대한 것 아닌가요?
시리얼 통신 프로그래밍에 대해서 검색을 해보시는 것이 좋을 것 같습니다.
------------------------
http://agbird.egloos.com
------------------------
http://agbird.egloos.com
궂이 CDMA모듈을
궂이 CDMA모듈을 써야될 이유가 없다면
요즘 서비스 되는 HSDPA 같은걸 써보시는게 어떤가요?
요금도 정액제이고... CDMA모듈은 조금만 써도 전화비가 많이 나오더라구요..
문제는 USB방식이라 일반 마이크로 프로세서랑 붙이기가 불가능하다는...
http://www.gpsdmb.co.kr/front/php/product.php?product_no=7646&main_cate_no=92&display_group=1
--
Linux강국 KOREA
http://ydongyol.tistory.com/
--
Linux강국 KOREA
http://ydongyol.tistory.com/
댓글 달기