IoT Hub(iOS)를 사용하여 클라우드-디바이스 메시지 보내기

Azure IoT Hub는 수백만 개의 디바이스와 솔루션 백 엔드 간에 안정적이고 안전한 양방향 통신이 가능하도록 지원하는 완전히 관리되는 서비스입니다.

이 문서는 다음을 수행하는 방법을 보여줍니다.

  • 디바이스에서 클라우드-디바이스(C2D) 메시지 수신

이 문서의 마지막 부분에서는 다음 Swift iOS 프로젝트를 실행합니다.

참고 항목

IoT Hub는 Azure IoT 디바이스 SDK를 통해 많은 디바이스 플랫폼 및 언어(C, Java, Python 및 JavaScript 포함)를 지원합니다.

클라우드-디바이스 메시지에 대해 자세히 알아보려면 IoT 허브에서 클라우드-디바이스 메시지 보내기를 참조하세요.

필수 조건

  • Azure의 활성 IoT Hub.

  • Azure IoT Samples for IoS Platform 리포지토리의 코드 샘플입니다.

  • 최신 버전의 iOS SDK를 실행 중인 최신 버전의 XCode. 이 문서에서는 XCode 9.3 and iOS 11.3에서 테스트를 거쳤습니다.

  • 최신 버전의 CocoaPods.

  • 방화벽에서 포트 8883이 열려 있는지 확인합니다. 이 문서의 디바이스 샘플은 포트 8883을 통해 통신하는 MQTT 프로토콜을 사용합니다. 이 포트는 일부 회사 및 교육용 네트워크 환경에서 차단될 수 있습니다. 이 문제를 해결하는 자세한 내용과 방법은 IoT Hub에 연결(MQTT)을 참조하세요.

IoT 디바이스 시뮬레이션

이 섹션에서는 IoT Hub에서 클라우드-디바이스 메시지를 수신하는 Swift 애플리케이션을 실행하는 iOS 디바이스를 시뮬레이션합니다.

CocoaPods 설치

CocoaPods는 타사 라이브러리를 사용하는 iOS 프로젝트의 종속성을 관리합니다.

터미널 창에서 필수 구성 요소에서 다운로드한 리포지토리가 있는 폴더로 이동합니다. 그런 다음, 샘플 프로젝트로 이동합니다.

cd quickstart/sample-device

XCode가 닫혀 있는지 확인한 후, 다음 명령을 실행하여 podfile 파일에 선언된 CocoaPods를 설치합니다.

pod install

설치 명령은 프로젝트에 필요한 포드를 설치하고, 종속성에 Pod를 사용하도록 이미 구성된 XCode 작업 영역 파일도 만들었습니다.

샘플 디바이스 애플리케이션 실행

  1. 디바이스의 연결 문자열을 검색합니다. 디바이스 세부 정보 블레이드에서 Azure Portal을 통해 이 문자열을 복사하거나 다음 CLI 명령을 사용하여 검색할 수 있습니다.

    az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id {YourDeviceID} --output table
    
  2. XCode에서 샘플 작업 영역을 엽니다.

    open "MQTT Client Sample.xcworkspace"
    
  3. MQTT 클라이언트 샘플 프로젝트를 확장한 다음, 같은 이름의 폴더를 확장합니다.

  4. XCode에서 편집을 위해 ViewController.swift를 엽니다.

  5. connectionString 변수를 검색하고 첫 번째 단계에서 복사해 둔 디바이스 연결 문자열로 값을 업데이트합니다.

  6. 변경 내용을 저장합니다.

  7. 빌드 및 실행 단추 또는 명령 + r 키 콤보를 사용하여 디바이스 에뮬레이터에서 프로젝트를 실행합니다.

    Screenshot shows the Build and run button in the device emulator.

클라우드-디바이스 메시지 보내기

이제 클라우드-디바이스 메시지를 수신할 준비를 마쳤습니다. Azure Portal을 사용하여 시뮬레이션된 IoT 디바이스에 테스트 클라우드-디바이스 메시지를 보냅니다.

  1. 시뮬레이션된 IoT 디바이스에서 실행되는 iOS 앱 샘플에서 시작을 선택합니다. 애플리케이션이 디바이스-클라우드 메시지 송신을 시작하고, 그와 동시에 클라우드-디바이스 메시지 수신 대기도 시작합니다.

    View sample IoT device app

  2. Azure Portal에서 IoT Hub로 이동합니다.

  3. 디바이스 페이지에서 시뮬레이션된 IoT 디바이스의 디바이스 ID를 선택합니다.

  4. 디바이스에 메시지 전송을 선택하여 클라우드-디바이스 메시지 인터페이스를 엽니다.

  5. 메시지 본문 텍스트 상자에 일반 텍스트 메시지를 작성한 다음, 메시지 보내기를 선택합니다.

  6. 시뮬레이션된 IoT 디바이스에서 실행되는 앱을 확인합니다. IoT Hub의 메시지를 확인하고 가장 최근 메시지의 텍스트를 화면에 인쇄합니다. 출력은 다음 예제와 비슷합니다.

    View cloud-to-device messages

다음 단계

이 문서에서는 클라우드-디바이스 메시지를 보내고 받는 방법을 알아보았습니다.