원격 명령 처리
IoT hub 의 direct method 를 사용한 원격 명령 처리 방법을 설명합니다.
다음 목록의 원격 명령은 IoT 디바이스에서 필수적으로 제공되어야 합니다.
리부팅
IoT 디바이스의 펌웨어는 IoT hub 와 MQTT 로 연결되어 있는데, MQTT 프로토콜은 커넥션을 시작하고 요청을 시작하는 주체와 관계 없이 양방향으로 신호를 주고 받을 수 있게 되어 있습니다. 그래서 서버에서 클라이언트로(cloud to device) 명령을 송신할 수 있습니다.
펌웨어에서는 필수 구현이 필요한 원격 명령을 수신할 수 있는 핸들러 로직을 구현하고 IoT hub client 객체에 등록해야 합니다.
위 Node.js 예제코드에서는 13라인에서 IoT hub client 객체의 onDeviceMethod 메소드로 reboot 라는 원격 명령을 등록합니다. 그리고 onReboot 함수가 핸들러로 등록됩니다. onReboot 함수는 HTTP 코드로 응답할 수 있게 되어 있습니다.
리부팅을 수행하는 코드이므로 정상적으로 메시지를 받았다는 200 을 리턴한 리부트를 수행하면 됩니다.
펌웨어에서 원격 명령을 수행하고 리턴해야 하는 코드는 다음과 같습니다.
상황
HTTP 코드
응답 주체
수신 및 처리 성공
200
펌웨어
처리 실패
503
펌웨어
Last updated