
# 新建技能项目
使用HiLens Studio 新建技能项目，将技能文件组织起来以便进行编译和调试，最终开发一个新的技能。
#### 前提条件
- 保证华为云账号处于不欠费状态。在华为HiLens控制台开发技能时，会占用OBS资源，需要收取一定费用，收费规则请参见[对象存储服务 OBS](https://www.huaweicloud.com/pricing.html?tab=detail#/obs)。
- 已订购HiLens Studio版本。
- 新建技能使用的算法模型已开发完成并[导入HiLens](https://support.huaweicloud.com/usermanual-hilens/hilens_02_0062.html)中。
![](https://support.huaweicloud.com/usermanual-hilens/public_sys-resources/note_3.0-zh-cn.png)
当前技能市场购买的技能暂不支持在HiLens Studio中打开，您可以选择在HiLens Studio中选择技能模板新建技能项目，详情请见[新建技能项目](https://support.huaweicloud.com/usermanual-hilens/hilens_02_0087.html)。
#### 1. 开始新建项目
1. 登录华为HiLens管理控制台，在左侧导航栏中选择"技能开发\>HiLens Studio"。 等待大概30秒，进入HiLens Studio 页面。
   
2. 在HiLens Studio页面，单击"File\>New Project"。 弹出"选择模板创建HiLens Studio项目"对话框。
   
3. 在"选择模板创建HiLens Studio项目"对话框，选择您想要使用的技能模板，然后单击"新建技能"。 页面自动跳至"创建技能"页面，您选择的模板默认配置将自动加载，您可以在创建技能页面右侧查看到相关信息。
   图1创建技能-25   
   ![](https://support.huaweicloud.com/usermanual-hilens/zh-cn_image_0283015827.png "点击放大") 
 
 #### 2. 填写基本信息
选择已有技能模板后，页面已自动加载技能模板的默认参数配置，如[表1]所示。您必须填写"技能名称"、"技能版本"参数。
 表1基本信息 
| 字段名称  | 说明                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|
| 技能模板  | 是否使用模板来开发技能。使用HiLens Studio新建技能默认选择已有模板，则会使用模板的模型和代码。即技能内容模块的字段都会使用模板的信息。                                                                                                                                                                                                                                                                                              |
| 已选择模板 | 选择的技能模板名称。                                                                                                                                                                                                                                                                                                                                                             |
| 技能名称  | 技能的名称，下发到端侧也使用该名称作为根目录。 技能名称不能与"已选择模板"，即已选择的技能模板名称一致。 可输入字母、数字、下划线或中划线，必须以字母开头，以字母或数字结尾，长度3\~48个字符。 说明： 由于技能市场不允许存在同名技能，所以如果想发布到技能市场，请使用全局唯一的名称对您的技能进行命名。                                                                          |
| 技能版本  | 技能的版本。版本号格式为"A.A.A"，"A"为不超过3位的自然数。例如"1.0.0"。 当"A"超过一位时，不允许以"0"开头，比如禁止输入"01.0.0"。                                                                                                                                                                                                                                                      |
| 适用芯片  | 技能支持的芯片。运行在HiLens Kit上的技能需选择Ascend 310芯片。                                                                                                                                                                                                                                                                                                                              |
| 检验值   | 用于技能校验，防止技能伪冒。要与代码中初始化接口的参数一致。具体使用方法请参见[开发指南\>初始化HiLens Framework](https://support.huaweicloud.com/devg-hilens/hilens_05_0006.html)。                                                                                                                                                                                                                                   |
| 应用场景  | 技能适用的场景，例如"园区"、"家庭"、"车载"、"商超"等场景及其子场景。如果选项中没有合适的场景，可选择"其他"，然后在文本框中填写场景名称。                                                                                                                                                                                                                                                                                              |
| 技能图标  | 技能的头像。                                                                                                                                                                                                                                                                                                                                                                 |
| OS平台  | 技能运行的操作系统平台，包括Linux、Android、IOS、LiteOS和Windows。HiLens Kit用的是基于CentOS制作的Linux发行版Euler系统操作系统，所以如果开发的是运行在HiLens Kit的技能，这里选择Linux。                                                                                                                                                                                                                                         |
| 描述    | 对技能的详细介绍。输入最大长度2048。 说明： 若新建技能的场景需要发送消息到用户的手机或邮箱，比如检测到陌生人技能需要在发现陌生人后发送消息提醒用户，描述中**必须注明** ："本技能支持发送订阅消息"，发送的具体内容需在[使用手机实时视频流编写/调试代码](https://support.huaweicloud.com/usermanual-hilens/hilens_02_0088.html)时注明，详细指导和API介绍可参见[开发指南](https://support.huaweicloud.com/devg-hilens/hilens_05_0001.html)。 |
   
#### 3. 运行时配置（可选）
图2运行时配置-26   
![](https://support.huaweicloud.com/usermanual-hilens/zh-cn_image_0000001208147709.png "点击放大")
部分技能在运行的时候需要用户配置参数，比如人脸判断类的技能需要用户上传人脸库等。运行时配置就像是一个"钩子"，开发者把"钩子"放出去，用户运行技能的时候设置了这些配置项，HiLens就会帮开发者把"钩子"收回来，这时候在代码里面开发者就可以使用这些用户的设置。您可以在界面中单击添加配置标签，参考[表2]填写您的配置。
您还可以单击"预览JSON格式"查看"钩子"的格式。开发者通过HiLens Framework提供的get_skill_config接口获取技能配置的JSON格式，读取里面字段的值来使用用户的配置。
运行时配置JSON格式如下所示：
```
{
        //全局配置
"Language": "enum",
        //视频分路配置
"multi_camera": [ //该字段key值multi_camera固定，值表示摄像头分路配置
{       
"camera_names": [     //该字段key值camera_names固定，值表示该分组配置里包含了哪些摄像头
"cameraX",
"cameraY"
],
"FaceLib": {        //配置名
"from": "file source", //文件类型值，表示文件来自哪个服务。比如OBS
"path": "file path"  //文件类型值，表示文件的路径
}
}
],
       }
```
 表2运行时配置的参数说明 
| 字段名称 | 说明                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| 配置名  | 配置的名称，逻辑代码里面可用该字段获取该配置的值。运行时配置指技能在运行的时候，由用户配置的内容。比如人脸判断技能需要用户上传人脸库等。需要说明的是，整个运行时配置是可选的，但如果添加了一条配置，那么"配置名"、"配置说明"是必填项。                                                                                                                                                                                                                                                                      |
| 值类型  | 表示该配置项的值是什么类型的数据。 数值类型（int、float）、枚举类型、字符串和文件类型。                                                                                                                                                                                                                                                                                                          |
| 值约束  | 表示该配置可以设置的范围。跟值类型有关。 - 数值类型：用开闭区间的表示方法。如\[1,100)表示大于等于1小于100。  - 字符串和文件：该项无需输入。  - 枚举：集合的表示方式，如{a,b}。   |
| 配置说明 | 说明该配置的作用，以及配置方法。**该字段非常重要，用户会根据该字段的说明来配置，所以如果有运行时配置，开发者一定要在这里解释清楚。**                                                                                                                                                                                                                                                                                                                       |
| 配置对象 | HiLens Kit可以连接多个（个数不大于设备上所安装技能的支持通道数之和）摄像头，所以可以开发支持多路视频的技能。 - 选择"视频"，则表示该配置是可以针对设备上每个摄像头视频进行配置的，比如摄像头1和摄像头2采用不同的人脸库。  - 选择"全局",则表示设备上所有摄像头都用同一个配置值。                                |
   
#### 4. 确认信息进入HiLens Studio
确认信息无误后，单击"确定"，进入启动HiLens Studio的界面。
必要信息填写完成后，您可以在界面右侧查看其配置参数值，如果某个字段填写错误，在右侧会显示一个小红叉。
图3确认信息   
![](https://support.huaweicloud.com/usermanual-hilens/zh-cn_image_0000001208546297.png)
![](https://support.huaweicloud.com/usermanual-hilens/public_sys-resources/note_3.0-zh-cn.png)
- 确认信息后请务必进入HiLens Studio界面查看所创建的技能项目，否则会创建空项目，造成后续无法在HiLens Studio界面打开技能项目文件。
- 如果打不开HiLens Studio界面，请检查浏览器是否设置阻止弹出式窗口。如果浏览器设置了阻止弹出式窗口，请添加HiLens Studio网址为允许浏览器弹窗的白名单地址。
 
