Отправка сообщений из облака на устройство с помощью Центра Интернета вещей (iOS)

Центр Интернета вещей Azure — это полностью управляемая служба, которая обеспечивает надежный и защищенный двунаправленный обмен данными между миллионами устройств и серверной частью решения.

В этой статье показано, как выполнить следующие действия:

  • Получение сообщений из облака на устройство (C2D)

С помощью этой статьи вы запустите следующий проект Swift iOS:

Примечание

В Центре Интернета вещей реализована поддержка пакетов SDK для многих платформ устройств и языков (включая C, Java, Python и Javascript). Эти пакеты работают на основе пакетов SDK для устройств Azure IoT.

Дополнительные сведения о сообщениях из облака на устройство см. в статье Отправка сообщений из облака на устройство из Центра Интернета вещей.

Предварительные требования

  • действующий Центр Интернета вещей в Azure;

  • Пример кода из репозитория Примеры Интернета вещей Azure для платформы IoS.

  • Последняя версия XCode, выполняющая последнюю версию пакета SDK для iOS. Эта статья была протестирована в XCode 9.3 и iOS 11.3.

  • Последняя версия CocoaPods.

  • Убедитесь, что в брандмауэре открыт порт 8883. Пример устройства в этой статье использует протокол MQTT, который передает данные через порт 8883. В некоторых корпоративных и академических сетях этот порт может быть заблокирован. Дополнительные сведения и способы устранения этой проблемы см. в разделе о подключении к Центру Интернета вещей по протоколу MQTT.

Имитация устройства Интернета вещей

В этом разделе вы подготовите имитацию устройства iOS под управлением приложения Swift, которое будет получать сообщения из облака на устройство через Центр Интернета вещей.

Установка CocoaPods

CocoaPods управляет зависимостями проектов iOS, которые используют сторонние библиотеки.

В окне терминала перейдите в папку с репозиторием, скачанным в предварительных требованиях. Перейдите к примеру проекта:

cd quickstart/sample-device

Убедитесь, что XCode закрыт, а затем выполните следующую команду, чтобы установить CocoaPods, объявленный в файле podfile:

pod install

Вместе с установкой модулей, необходимых для проекта, команда установки также создает файл рабочей области XCode, который уже настроен для использования pod с зависимостями.

Запуск примера приложения устройства

  1. Получите строку подключения к устройству. Эту строку можно скопировать из портал Azure на странице сведений об устройстве или получить с помощью следующей команды 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. Откройте ViewController.swift для редактирования в XCode.

  5. Найдите переменную connectionString и замените ее значение строкой подключения к устройству, которую вы скопировали на первом шаге.

  6. Сохраните изменения.

  7. Выполните проект в эмуляторе устройства, нажав кнопку Сборка и запуск или клавиши COMMAND+R.

    На снимке экрана показана кнопка

Отправка сообщения из облака на устройство

Теперь вы готовы к получению сообщений из облака на устройство. Используйте портал Azure для отправки тестового сообщения из облака на эмулированное устройство IoT.

  1. В примере приложения iOS , запущенного на имитированном устройстве Интернета вещей, выберите Пуск. Приложение сразу начинает отправлять сообщения из устройства в облако, а также прослушивать поступающие сообщения из облака.

    Просмотр примера приложения для устройства Интернета вещей

  2. Найдите нужный Центр Интернета вещей на портале Azure.

  3. На странице Устройства выберите идентификатор устройства для своего эмулированного устройства IoT.

  4. Выберите Сообщение для устройства, чтобы открыть интерфейс сообщений из облака на устройство.

  5. Напишите сообщение в виде обычного текста в поле Текст сообщения, а затем выберите Отправить сообщение.

  6. Понаблюдайте за приложением, работающем на эмулируемом устройстве IoT. Оно проверяет сообщения от Центра Интернета вещей и выводит на экран самое свежее из них. Полученный результат должен выглядеть примерно так:

    Просмотр сообщений из облака на устройство

Дальнейшие действия

В этой статье вы научились отправлять и получать сообщения из облака на устройство.