Wizfi250 연결 끊김 문제에 대해 문의드립니다

at+want=3
at+mecho=0
at+USET=115200,N,8,1,N
at+wset=1,deviceID
at+wsec=1,wpa2,PW
at+wnet=0,ipaddr,subnet,gateway
at+wjoin
at+scon=S,TSN,serverport,1
at+mprof=S

위와 같이 설정하여 wizfi250을 ap모드로 사용하고 있습니다.

하지만 pc와 연결하여 동작시키면 12시간정도 동작이 되다 연결이 끊기는 현상이 발생합니다.

pc에서 재접속을 시도해도 연결이 되지 않고 모듈을 리셋해야만 재연결이 가능합니다.

어떤 원인으로 인해 이런 현상이 발생하는 걸까요?

안녕하세요

연결이 끊긴다라고 하셨는데, TCP 연결만 끊긴 것인지, AP 연결이 끊긴것인지 확인 부탁드립니다.

재연결이 안되는 이유는 WizFi250 모듈과 PC가 어떠한 이유로 연결이 끊어졌지만, WizFi250은 아직 연결 중으로 판단하고 있기 때문에 다른 연결을 받지 않고 있는 것으로 보입니다.
(AT+SCON 명령의 마지막 파라메터 '1’은 Data mode로 하나의 커넥션 연결만 가능한 모드입니다.)

위의 현상에 대한 해결하기 위해 아래 두가지 방안을 확인 부탁드립니다.

  1. 최신 펌웨어를 사용하는 것.
  2. PC와 WizFi250의 TCP 연결 이후 임의의 Keep Alive 데이터를 주기적으로 보내는 것.

AP연결이 끊어지는 것 같습니다.

keep alive 데이터는 어떤식으로 보내는 건가요?

PC(client)에서 모듈(server)로 or 모듈(server)에서 PC(client)로 어느 것이든 상관이 없는 것인가요?

keep alive에 대해 알려주시면 감사하겠습니다.

그리고 PC와 모듈이 끊어졌지만 모듈은 연결이 되어있다고 인식하는 상황이 발생하는 원인에는 어떤것이 있을까요?

안녕하세요

Keep alive 데이터는 임의의 dummy 데이터로 하시면 됩니다.

PC와 모듈 어느쪽에서 보내도 상관 없구요. 보통은 Client에서 Server로 보냅니다.

연결이 끊겼지만 연결되었다고 인식되는 상황이라는 것은 아래와 같습니다.

서버와 클라이언트가 TCP 연결을 할 때 connect에 관련 패킷을 주고 받습니다. (모듈 자체 처리)
그리고 연결을 끊을 때에도 disconnect 관련 패킷을 주고 받으면서 정상적으로 TCP 연결이 끝납니다.

그런데 만약, disconnect 요청이 없이 TCP 연결이 종료된 경우(물리적, 망 상태 이슈 등등),
서버와 클라이언트는 TCP 연결이 정상 동작중인지, 강제로 종료되었는지 판단할 수 없습니다.

그래서 임의의 dummy 데이터를 보내면서 TCP 연결이 정상인지 아닌지를 판단합니다.
(모듈이 dummy 데이터를 보내는 경우, 만약 TCP 연결이 비정상이라면 모듈 스스로 TCP 연결을 종료하고, Socket resource를 사용을 해제합니다)

그리고, AP와 연결이 끊기는 이유는 로그나 패킷 분석등 확인해 보아야 하는 부분이 많습니다.
보통은 무선 망 상태 때문에 끊기는 경우가 많습니다.
u.fl 안테나 사용과 AT+WANT 명령어로 u.fl 안테나 사용 고정을 선택해 보시고 테스트 부탁드립니다.