마이크로 컨트롤러와 연결된 RN-171 wifly 모듈이 있습니다.UDP 패킷을 수신하도록 Wifly 모듈을 구성하십시오.
모듈과 통신하기 위해 UDP 프로토콜을 사용하고 있습니다. 또한 펌웨어의 UDP 자동 쌍 기능을 사용하여 호스트 IP를 설정합니다. 모듈은 UDP 패킷을 받자 마자 호스트 IP 주소를 데이터를 수신 한 IP 주소로 설정합니다. 이제이 호스트 ip는 명령 모드로 들어가기 전에는 변경할 수 없습니다.
모듈이 다음과 같은 방식으로 동작하기를 원합니다. UDP 패킷을 수신 할 때마다 호스트 신호를 해당 신호의 출처 인 IP 주소로 업데이트합니다.
또한 TCP 프로토콜을 사용할 수 있지만 한 번에 하나의 연결 만 허용합니다. TCP 프로토콜을 사용하여 직면 한 또 하나의 문제는 모듈과의 두 번째 TCP 연결을 시작하려고하면 두 번째 연결을 거절 할뿐만 아니라 첫 번째 안정 연결도 중단한다는 것입니다. 두 번째 연결 초기화가 모듈을 멈추지 않고 방금 거부 될지라도 TCP로 작업 할 준비가됩니다.
저는이 문제에 관해 웹에서 많은 연구를 해왔습니다.하지만이 모듈은 널리 사용되지 않았기 때문에 매우 제한적으로 지원됩니다.
그러나 모듈과 함께 여러 클라이언트를 연결하는 좋은 방법을 발견했습니다. 이제는 TCP 프로토콜을 사용하고 있지만 다른 접근 방법을 사용하고 있습니다. 기본적으로 내 프로젝트의 스마트 폰에서 데이터를 보내려고합니다. 따라서 앱이 모듈로 무엇인가를해야만하는 경우 TCP 연결을 시작하고 모듈에 구성된 비밀번호로 연결을 인증하고 데이터를 송수신 한 다음 즉시 연결을 닫습니다. 연결이 생성되기 전에 사용자 입력이 수행되기 때문에이 모든 프로세스에는 약 50-60ms가 소요됩니다. 이 문제를 해결하기위한 안정적인 솔루션을 느낍니까? – kayveesin
동시에 장치에서 데이터를 보내고받을 필요가 없다면 실용적인 솔루션입니다. 애플리케이션이 파이프에서 데이터 지연을 처리 할 수 있다면 모든 장치가 필요한 데이터를 전송할 때까지 다른 장치가 연결 재 시도를 수행하는 것이 합리적입니다 (연결 요청 충돌이 발생할 경우). 나는 많은 비 동시적인 연속적인 연결에 어떤 문제도 아직 가지지 않고있다. – wolf9000