2016-11-17 3 views
0

100,000 개의 어플라이언스가있는 시스템을 설계 중이며 사용자는 MQTT를 통해 장비에 데이터를 송수신 할 수 있습니다. Device to App 통신 : 각 장비의 고유 한 주제 및 장치 ID를 기반으로하는 MAC 주소가 있습니다. 각 어플라이언스는 서버의 주제에 데이터를 게시합니다. 서버는 HTTP를 통해 해당 App으로 데이터를 보냅니다.클라우드 서버가있는 IOT 장치 용 MQTT 통신

응용 프로그램 통신 응용 프로그램은 HTTP를 통해 서버로 데이터를 보내고 서버는 MQTT를 통해 해당 어플라이언스로 데이터를 전달합니다.

지금이 방법이 올바른 방법일까요? 또는 서버가 모든 어플라이언스의 고유 주제를 구독해야하는 더 좋은 방법입니까?

enter image description here

+0

공용 인터넷 또는 클라우드 서버에 연결하지 않고도 IoT 장치를 사용할 수 있도록해야합니다. 시스템에 보안 문제가 생기면 사용자의 개인 정보가 유출되고 장치가 위험 해집니다. 100k 이상의 시스템을 봇넷의 일부로 사용할 수 있습니다. – DanFromGermany

+0

보안에 관한 한 당신이 옳습니다. 지금은 HTTPS를 사용하여보다 안전한 통신을 보장하고 개선 할 부분을 조사 할 것입니다. –

+0

당신은 그러한 아키텍처로 막대한 병목 현상을 만들 것입니다. 일부 MQTT 중개자는 수십만 개의 msg/s를 처리 할 수 ​​있으므로 백엔드의 단일 서버는 이러한로드를 처리 할 수 ​​없습니다. HTTP에 대해 공유 구독 또는 브로커 플러그인 사용을 고려하십시오. 클라우드에 있다면 HA 및 확장 성을위한 클러스터링 (로드 밸런서를 앞에두고)이 가치가 있습니다. –

답변

1

IBM Bluemix 당신에게 관심이있을 수있는 IoT for electronics 서비스를 제공 위에서 언급 한 절차의 흐름도입니다 다음. Watson IoT Platform을 사용하여 스마트 전자 장치와 개발하는 응용 프로그램을 연결합니다. 또한 어플라이언스의 데이터를 분석하고 이해하는 데 도움이됩니다.

+0

의견을 보내 주셔서 감사합니다. 나는 이것을 조사하고있다. 그러나, MQTT 표준에 대한 더 나은 이해가 필요하다. 클라우드 서버에 모든 장치가 게시 할 수있는 주제가 하나있는 아키텍처로 작업했습니다. 이를 수행하는 또 다른 방법은 서버가 모든 고유 장치 주제에 등록해야한다는 것입니다. 장치와주고받는 내용을들을 수 있습니다. 성능이 더 좋은 시스템을 제안 해주십시오. –

+0

IBM의 Watson IoT 플랫폼에서 각 장치마다 고유 한 주제 공간이 있습니다. 정보를 읽는 가입자는 와일드 카드를 사용하여 많은 주제를 확인할 수 있습니다. – ValerieLampkin

1

MQTT 및 HTTP 프로토콜을 지원하는 Azure IoT hub으로 장치 간 및 클라우드 간 장치 기능을 사용하여 메시지를 보내고받을 수 있습니다.

Azure IoT device SDKs은 다양한 OS 플랫폼 및 장치와 함께 사용할 수 있습니다. Microsoft.Azure.Devices.Client으로 '기기'와 '앱'을 만들 수 있습니다.

참조 할 수있는 Azure에 thisthis MQTT 브로커를 배치 할 수 있습니다.

throughput은 서비스 등급에 따라 분당 최대 208,333 개의 메시지가 있습니다.

관련 문제