Поделиться через


Отправка файлов с устройств в облако

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

При необходимости вы можете управлять и просматривать файлы, отправленные устройствами в приложении IoT Central.

Сведения о настройке отправки файлов с помощью REST API IoT Central см. в статье "Добавление конфигурации учетной записи хранения для отправки файлов".

Необходимые компоненты

Чтобы настроить отправку файлов, вам нужны права администратора в приложении IoT Central.

Для хранения отправленных файлов требуется учетная запись хранения и контейнер Azure. Если у вас еще нет учетной записи и (или) контейнера, создайте учетную запись хранения на портале Azure.

Настройка отправки файлов с устройства

Чтобы настроить отправку файлов с устройства, выполните следующие действия:

  1. Перейдите в раздел "Приложение " в приложении.

  2. Выберите хранилище файлов устройств.

  3. Выберите учетную запись хранения и контейнер, которые нужно использовать. Если учетная запись хранения находится не в той же подписке Azure, где размещается приложение, введите строку подключения к этой учетной записи хранения.

  4. При желании измените время ожидания отправки, которое определяет срок действия запроса на отправку. Допускаются значения от 1 до 24 часов.

  5. Чтобы пользователи могли просматривать загруженные файлы в IoT Central и управлять ими, установите для него доступ к on.

  6. Выберите Сохранить. Когда отобразится состояние Настроено, все готово к отправке файлов с устройств.

Снимок экрана: правильно настроенная отправка файла.

Отключение отправки файлов с устройства

Если вы хотите отключить отправку файлов с устройства в приложение IoT Central, выполните следующие действия:

  1. Перейдите в раздел "Приложение " в приложении.

  2. Выберите хранилище файлов устройств.

  3. Выберите команду Удалить.

Управление доступом к загруженным файлам

Используйте роли и разрешения для управления тем, кто может просматривать и удалять отправленные файлы. Дополнительные сведения см. в статье "Управление пользователями и ролями" на устройствах управления приложениями > IoT Central.

Отправка файла с устройства

IoT Central использует функциональную возможность отправки файлов, предоставляемую Центром Интернета вещей, чтобы обеспечить поддержку для отправки файлов с устройств. Пример кода, который демонстрирует отправку файлов с устройства, см. в документе Пример отправки файлов с устройства в IoT Central.

Просмотр загруженных файлов и управление ими

Если вы включили доступ к файлам в конфигурации отправки файлов, пользователи с правильными разрешениями могут просматривать и удалять отправленные файлы.

Внимание

Все файлы в папке контейнера BLOB-объектов, связанной с устройством, отображаются в представлении "Файлы " для этого устройства. К ним относятся все файлы, которые не были отправлены устройством.

Чтобы просмотреть и удалить отправленные файлы, перейдите в представление "Файлы " для устройства. На этой странице можно просмотреть эскизы отправленных файлов и переключиться между коллекцией и представлением списка. Каждый файл имеет параметры для скачивания или удаления:

Снимок экрана: представление коллекции для отправленных файлов.

Совет

Тип файла определяется типом mime, назначенным файлу при отправке в хранилище BLOB-объектов. Значение по умолчанию — binary/octet-stream.

Представление списка можно настроить, отфильтровав по имени файла и выбрав отображаемые столбцы.

Чтобы просмотреть содержимое файла и получить дополнительные сведения о файле, выберите его. IoT Central поддерживает предварительные версии распространенных типов файлов, таких как текст и изображения:

Снимок экрана: предварительный просмотр текстового файла.

Проверка отправки файла

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

git clone https://github.com/azure-Samples/iot-central-file-upload-device
cd iotc-file-upload-device
npm i
npm build

Создание шаблона устройства и импорт модели

Чтобы проверить отправку файла, выполните пример приложения устройства. Создайте шаблон устройства для используемого примера устройства.

  1. Откройте приложение в пользовательском интерфейсе IoT Central.

  2. Перейдите на вкладку "Шаблоны устройств" в левой области и нажмите кнопку "Создать":

  3. Выберите устройство Интернета вещей в качестве типа шаблона.

  4. На странице настройки мастера введите имя, например пример устройства отправки файлов для шаблона устройства.

  5. На странице Отзыв выберите Создать.

  6. Выберите " Импортировать модель " и отправьте файл модели FileUploadDeviceDcm.json из папки iotc-file-upload-device\setup в скачанный ранее репозиторий.

  7. Щелкните Опубликовать, чтобы опубликовать шаблон устройства.

Добавить устройство

Чтобы добавить устройство в приложение Azure IoT Central, сделайте следующее:

  1. Выберите Устройства на панели слева.

  2. Выберите шаблон устройства "Отправка файла", созданный ранее.

  3. Нажмите кнопку "+ Создать " и нажмите кнопку "Создать".

  4. Выберите созданное устройство и нажмите кнопку " Подключиться"

Скопируйте значения для ID scope, Device IDи Primary key. Эти значения используются в примере кода устройства.

Запуск примера кода

Откройте репозиторий Git, скачанный в VS Code. Создайте файл .env в корне проекта и добавьте скопированные ранее значения. Файл должен выглядеть как приведенный ниже пример со значениями, которые вы записали ранее.

scopeId=<YOUR_SCOPE_ID>
deviceId=<YOUR_DEVICE_ID>
deviceKey=<YOUR_PRIMARY_KEY>
modelId=dtmi:IoTCentral:IotCentralFileUploadDevice;1

Откройте репозиторий Git, скачанный в VS Code. Нажмите клавишу F5, чтобы запустить и отладить пример. В окне терминала вы увидите, что устройство зарегистрировано и подключено к IoT Central:

Starting IoT Central device...
 > Machine: Windows_NT, 8 core, freemem=6674mb, totalmem=16157mb
Starting device registration...
DPS registration succeeded
Connecting the device...
IoT Central successfully connected device: 7z1xo26yd8
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}

Пример проекта поставляется с примером файла с именем datafile.json. Этот файл отправляется при использовании команды "Отправить файл " в приложении IoT Central.

Чтобы проверить отправку, откройте приложение и выберите созданное устройство. Перейдите на вкладку "Команда" и нажмите кнопку с именем "Выполнить". При нажатии этой кнопки приложение IoT Central вызывает прямой метод на устройстве для отправки файла. Этот прямой метод можно увидеть в примере кода в файле /device.ts. Метод называется uploadFileCommand.

Перейдите на вкладку "Необработанные данные", чтобы проверить состояние отправки файла.

Снимок экрана: U I о том, как проверить отправку файла.

Можно также вызвать REST API , чтобы проверить состояние отправки файла в контейнере хранилища.