Создание высокоуровневого приложения
Самый простой способ создать новое высокоуровневое приложение — начать с шаблона Blank из расширения Azure Sphere Visual Studio Code и настроить конфигурацию проекта, выполнив следующие действия.
Запустите Visual Studio Code. Выберите Просмотр>палитры команд, а затем введите Azure Sphere: Generate New Project (Azure Sphere: Generate New Project).
Выберите HL Blank в меню Шаблоны.
Visual Studio Code отобразится окно проводник. Перейдите в папку, в которую нужно поместить пустое приложение, и укажите имя проекта, например NewHLApp. Visual Studio Code создает папку NewHLApp в выбранном расположении и создает файлы сборки для пустого приложения. Вы должны увидеть сообщения из CMake.
Откройте файл CMakeLists.txt и укажите папку, содержащую определения используемого оборудования. По умолчанию пустое приложение HL не содержит определений оборудования. Примеры определений оборудования можно найти в репозитории Примеры Azure Sphere или создать, как описано в разделе Определения оборудования.
Ниже показано, как добавить примеры определений оборудования для seeed Azure Sphere MT3620 Development Kit:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "sample_appliance.json")
Эта строка должна быть вставлена перед последней командой, начинающуюся
azsphere_target_add_image_package
с .
Вы также можете создать новое высокоуровневое приложение из любого из высокоуровневых примеров Azure Sphere:
Клонируйте репозиторий примеров , если вы еще этого не сделали. Скопируйте одну из папок приложения высокого уровня и переименуйте ее для проекта.
В файле CMakeLists.txt измените имя проекта на имя новой папки. Например:
PROJECT(NewHLApp C)
Самый простой способ создать новое высокоуровневое приложение — начать с шаблона Blank из расширения Visual Studio Azure Sphere и настроить конфигурацию в соответствии с проектом, выполнив следующие действия.
Запустите Visual Studio и выберите Создать проект.
Введите
Azure Sphere
в поле поиска метку Поиск шаблонов. Выберите Azure Sphere HLCore Blank в возвращенном списке, а затем нажмите кнопку Далее.Укажите имя проекта (например, NewHLApp), расположение файла проекта и имя решения (которое может совпадать с именем проекта), а затем нажмите кнопку Создать. Visual Studio создает папку NewHLpp в выбранном расположении и создает файлы сборки для пустого приложения. Вы должны увидеть сообщения из CMake.
Откройте файл CMakeLists.txt и укажите папку, содержащую определения используемого оборудования. По умолчанию пустое приложение HL не содержит определений оборудования. Примеры определений оборудования можно найти в репозитории Примеры Azure Sphere или создать, как описано в разделе Определения оборудования.
Ниже показано, как добавить примеры определений оборудования для seeed Azure Sphere MT3620 Development Kit:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "sample_appliance.json")
Эта строка должна быть вставлена перед последней командой, начинающуюся
azsphere_target_add_image_package
с .
Вы также можете создать новое высокоуровневое приложение из любого из высокоуровневых примеров Azure Sphere:
Клонируйте репозиторий примеров , если вы еще этого не сделали. Скопируйте одну из папок приложения высокого уровня и переименуйте ее для проекта.
В файле CMakeLists.txt измените имя проекта на имя новой папки. Например:
PROJECT(NewHLApp C)
Самый простой способ создать новое высокоуровневое приложение — начать с любого из высокоуровневых примеров Azure Sphere:
Клонируйте репозиторий примеров , если вы еще этого не сделали. Скопируйте одну из папок приложения высокого уровня и переименуйте ее для проекта.
В файле CMakeLists.txt измените имя проекта на имя новой папки. Например:
PROJECT(NewHLApp C)
Базовая файловая структура высокоуровневого приложения
Независимо от того, как вы создаете приложение, все приложения Azure Sphere используют следующие основные файлы:
- Исходный код приложения в одном или нескольких файлах. В настоящее время поддерживается только исходный код на языке C.
- Файлы сборки CMake. требуется CMakeLists.txt. CMake вместе со служебной программой упрощенной сборки ninja используется для управления процессом сборки приложения Azure Sphere.
- Файл манифеста приложения , описывающий возможности, доступные приложению.
Высокоуровневые приложения обычно имеют по крайней мере три других файла:
- Файл applibs-versions.h для указания уровней версий различных API Azure Sphere
- Два файла определения оборудования (редактируемая версия в формате JSON и созданный из него файл C- языка), которые предоставляют удобный способ ссылки на аппаратные компоненты в коде. С помощью согласованного набора файлов определения оборудования можно написать аппаратный независимый исходный код, а затем создать образы приложений для определенного оборудования, просто повторно нацелив соответствующий файл определения оборудования в файле CMakeLists.txt.
Написание кода
- Напишите код приложения, используя примеры высокоуровневых приложений Azure Sphere в качестве руководств. В следующих разделах описываются конкретные сценарии реализации.
- Использование периферийных устройств в высокоуровневом приложении
- Подключение к веб-службам
- Использование wolfSSL для подключений TLS
- Управление сертификатами
- Общие сведения об использовании памяти
- Отложить обновления устройств
- Управление временем и использование часов в режиме реального времени
- Использование хранилища устройств
- Взаимодействие с приложением с поддержкой реального времени
- Управление состоянием выключения питания
- Настройка профилей питания
- Выполнение обнаружения служб
- В файлеCMakeLists.txt:
- Указание редакции средств пакета SDK для Azure Sphere
- Указание целевого набора API
- Указание целевого оборудования
- В файле app_manifest.json:
- Задайте
Name
имя проекта. - Добавьте все возможности приложения, необходимые для кода, такие как аппаратные ресурсы или подключения. Если высокоуровневое приложение взаимодействует с RTApp, добавьте в возможность идентификатор компонента приложения высокого уровня
AllowedApplicationConnections
.
- Задайте
Если вы хотите развернуть высокоуровневое приложение вместе с партнерским приложением с поддержкой реального времени, добавьте идентификатор компонента партнера в поле partnerComponents раздела конфигураций файла launch.vs.json (Visual Studio) или .vscode/launch.json (Visual Studio Code).
"partnerComponents": [ "25025d2c-66da-4448-bae1-ac26fcdd3627" ]