2014-10-10 4 views
0

MQTT를 사용하여 디바이스에 제어 정보를 보내고 싶습니다만, MQTT 클라이언트와 셀 데이터 연결을 남겨 두는 것이 (기본적으로 긴 폴링 모드에서) 어떻게 든됩니다. 나쁜. 데이터 요금, 네트워크 사용량, 배터리 수명 또는 기타 측면에서?GPRS/HSDPA를 통한 MQTT long 폴링

메시지를받을 메시지가있을 때 장치로 SMS를 보낼 수도 있지만 MQTT의 목적을 상실하는 것으로 보이며 GPRS 연결을 다이얼링하고 설정하는 동안 오랜 지연이 발생합니다.

이 접근 방식에 대해 염려해야 할 이유가 있습니까?

답변

1

나는이 방법은 매우 유효하다고 생각 - 그것을 이런 식으로 생각 : 앱의 롱 폴링이 단지 여론 조사만큼, 데이터의 아주 작은 볼륨을 전송, 그래서

  • 데이터 사용량이 미미해야한다 배터리가 단지 데이터에 대한 영향을
  • 긴 폴링 참고로
  • 보다 높은 크기의 최소 주문입니다 킵 얼라이브, 이외에 을 보내 ActiveSync를, 모든 시간을 실행, 아무것도 멋진 폴링 형태가 아닌
0

UDP를 통해 실행되도록 설계된 MQTT-SN을 볼 수 있으며 따라서 활성 연결이 필요하지 않을 수 있습니다. Real Small Message Broker는 MQTT-SN 브로커를 구현 한 것으로 Mosquitto와 연결됩니다.

다른 방법은 메시지에 보관 플래그를 사용하는 것입니다. 제어 앱이 메시지를 보낼 수 있고 기기가 다시 연결되면 곧바로 가져올 수 있습니다. 앱이 아직 온라인 상태인지 여부는 더 적습니다. 모든 경우에 앱 측면의 사용자 환경은 전송되는 요청과 존중되거나 거절되는 요청을 구분해야하므로 3 가지 상태 제어 (켜기, 끄기, 대기 중)가 필요합니다.