文档首页/ 华为HiLens/ 快速入门/ 开发者快速开发技能
更新时间:2023-07-20 GMT+08:00

开发者快速开发技能

本章针对购买HiLens Kit的开发者,介绍如何使用技能模板快速开发技能,并安装到设备。安装完成后,将能在华为HiLens管理后台上查看技能的运行效果。

本文将以技能模板中“安全帽检测模板”为例,介绍从技能开发到查看技能效果的全流程。技能安装完成后,摄像头能检测工人是否佩戴安全帽。

开始使用样例前,请根据准备工作罗列的要求,提前完成准备工作。开发技能的流程如图1

图1 开发者快速入门

准备工作

  • 已注册华为帐号开通华为云。在使用华为HiLens前检查帐号状态,帐号不能处于欠费或冻结状态。
  • 已购买HiLens Kit设备,并注册HiLens Kit。

步骤1:开发技能

  1. 登录华为HiLens管理控制台,单击左侧导航栏“技能开发>技能管理”,进入“技能管理”页面。
  2. 单击右上角“新建技能”,进入“创建技能”流程。
    1. 填写技能基本信息,详细参数说明请参见表1
      图2 技能基本信息
      表1 基本信息参数说明

      参数

      参数说明

      填写建议

      技能模板

      可选择“使用空模板”或者“选择已有模板”开发技能。

      如果您已保存了技能模板,可使用技能模板快速开发技能。选用技能模板后,逻辑代码和模型等内容会与模板一致,您可以在此模板上二次编辑。

      如果当前系统中无技能模板,建议使用空模板开发技能。

      “选择已有模板”,并在弹出对话框中选择“安全帽检测模板”模板。

      技能名称

      技能的名称,下发到端侧也使用该名称作为根目录。

      可输入字母、数字、下划线或中划线,必须以字母开头,以字母或数字结尾,长度3~60个字符。

      说明:

      由于技能市场不允许存在同名技能,所以如果想发布到技能市场,请使用全局唯一的名称对您的技能进行命名。

      建议采用“品牌+应用名字”的形式便于区分。

      版本

      技能的版本号。

      格式为“数字.数字.数字”,如“2.1.3”,每位数字范围为“0~999”,超过1位时,不能以“0”开头。

      例如“1.0.0”

      适用芯片

      技能支持的芯片。运行在HiLens Kit上的技能需选择Ascend 310芯片。

      Ascend310。

      检验值

      用于技能校验,防止技能伪冒。

      使用模板的hash检验值。无需填写。

      应用场景

      技能适用的场景,例如“智慧园区”“智慧家庭”“智能车载”“智能商超”的子场景及“其他”

      可直接使用模板模型,无需填写。

      技能图标

      技能头像。

      可不填写。

      OS平台

      技能运行的操作系统平台,包括Linux、Android、IOS、LiteOS和Windows。

      Linux。

      描述

      对技能的详细介绍。

      最大长度2048,不允许输入~^$%&等特殊字符。

      参照模板填写技能输出方式。

      • HDMI:直接通过设备的hdmi接口输出到显示屏。
      • RTMP:实时输出到服务器供用户查看。
      • H264_FILE:以文件的方式输出到OBS供用户查看。
    2. 填写技能内容,详细参数说明请参见表2

      本示例选择已有模板开发技能的模式,其技能内容默认使用模板中的模型和代码,您可以使用默认提供的信息,或者直接在此基础上进行二次编辑后使用。针对“选择空模板”开发技能,其相关参数不同,建议参考《用户指南》的详细指导完成创建。

      图3 技能内容
      表2 技能内容参数说明

      参数名

      参数说明

      填写建议

      技能格式

      技能的格式。可分为“技能包”“容器镜像”两种格式。

      可直接使用模板模型,无需填写。

      运行时语言

      逻辑代码的运行时语言。目前支持“Python3.7”“C/C++”。如果选择C/C++语言开发,将不支持在线编辑代码。开发者线下开发完成后,需要在Linux环境下把代码编译打包,然后上传到obs。

      可直接使用模板模型,无需填写。

      代码执行文件

      技能的启动将以该代码执行文件为入口,类似C语言的main函数。入口文件必须在一级目录。

      • “技能包”格式的技能要求该文件在技能包的根目录下,如Python技能请以.py结尾。
      • “容器镜像”格式的技能,如果dockerfile有配置ENTTRYPOINT,概述如可以为空,否则要求输入该镜像内执行文件的路径。

      文件名不超过1024位,允许输入字母、数字或下划线。不允许输入#~^等字符。

      可直接使用模板模型,无需填写。

      模型

      技能的核心算法。在本地或ModelArts训练,导入到华为HiLens平台。单击加号,您可以在弹出框中,选择华为HiLens平台模型管理列表下的模型。

      直接使用模板的场景,无需填写。

      代码上传方式

      逻辑代码的上传方式。

      • “在线编辑”

        使用在线开发技能的逻辑代码,会自动生成一个zip包上传到OBS中。华为HiLens会自动创建一个OBS桶用于存储技能包,桶名称命名规则为“<project_id>-hilens-skill”,您可以前往OBS服务,找到对应命名规则的OBS桶,并获取在线编辑的代码包文件。

      • “从OBS桶上传文件”

        针对比较复杂的工程代码可以线下开发,手动生成zip或tar.gz包并上传到OBS中,然后在此参数中选择使用OBS中的zip或tar.gz代码包。

      • “从容器镜像中选择”

        针对容器镜像格式的技能,可以提前将容器镜像文件上传至SWR,方式请参见Docker客户端上传镜像

      直接使用模板的场景,无需填写。

    3. 设置运行时配置。由于“运行时配置”用于给使用该技能的用户配置技能必须的参数,直接使用模板所提供的配置参数。
  3. 在所有技能开发相关的参数填写并确认后,单击右侧“确定”完成技能开发。

    开发完成的技能将存储在“技能开发>技能管理”页面,您可以在技能管理页面查看此技能的状态。

    图4 技能管理

步骤2:安装技能

  1. “技能开发>技能管理”页面,选择已开发的技能,单击右侧“安装”
  2. 勾选已注册的设备,单击“安装”,安装成功后单击“确定”,完成安装技能操作。
    安装过程中,华为HiLens管理控制台会将技能包下发到设备。下发技能包需要一段时间,可以从进度条中看到技能安装进度,下发完成后“进度”栏会提示“安装成功”图5所示。
    图5 安装成功

步骤3:启动技能

若技能状态为“安装成功”,说明技能正常安装至设备,您可以启动技能,查看技能输出数据。
  1. 使用HDMI视频线缆连接HiLens Kit视频输出端口和显示器。
  2. 单击左侧导航栏“设备管理>设备列表”,进入设备列表页面。
  3. 单击已注册设备的“技能管理”,已安装的安全帽检测技能状态为“停止”,单击操作列的“启动”,并单击“确定”,确定启动技能运行在端侧设备上。

    等待一会,当状态变为“运行中”,则技能成功运行在端侧设备上。同时,您也可以通过显示器查看技能输出数据。

    安装技能的状态说明如表3所示。

    图6 查看安装技能
    表3 安装技能状态

    状态名

    状态说明

    停止

    停止状态,技能停止运行在端侧设备上。

    运行中

    运行状态,技能成功安装在端侧设备。