云服务器内容精选

  • 4. 运行时配置(可选) 图4 运行时配置-22 部分技能在运行的时候需要用户配置参数,比如人脸判断类的技能需要用户上传人脸库等。运行时配置就像是一个“钩子”,开发者把“钩子”放出去,用户运行技能的时候设置了这些配置项,HiLens就会帮开发者把“钩子”收回来,这时候在代码里面开发者就可以使用这些用户的设置。您可以在界面中单击添加配置标签,参考表3填写您的配置。 您还可以单击“预览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" //文件类型值,表示文件的路径 } } ], } 表3 运行时配置的参数说明 字段名称 说明 配置名 配置的名称,逻辑代码里面可用该字段获取该配置的值。运行时配置指技能在运行的时候,由用户配置的内容。比如人脸判断技能需要用户上传人脸库等。需要说明的是,整个运行时配置是可选的,但如果添加了一条配置,那么“配置名”、“配置说明”是必填项。 值类型 表示该配置项的值是什么类型的数据。 数值类型(int、float)、枚举类型、字符串和文件类型。 值约束 表示该配置可以设置的范围。跟值类型有关。 数值类型:用开闭区间的表示方法。如[1,100)表示大于等于1小于100。 字符串和文件:该项无需输入。 枚举:集合的表示方式,如{a,b}。 配置说明 说明该配置的作用,以及配置方法。该字段非常重要,用户会根据该字段的说明来配置,所以如果有运行时配置,开发者一定要在这里解释清楚。 配置对象 HiLens Kit可以连接多个(个数不大于设备上所安装技能的支持通道数之和)摄像头,所以可以开发支持多路视频的技能。 选择“视频”,则表示该配置是可以针对设备上每个摄像头视频进行配置的,比如摄像头1和摄像头2采用不同的人脸库。 选择“全局”,则表示设备上所有摄像头都用同一个配置值。
  • 背景信息 在华为HiLens控制台开发技能时,会占用OBS资源,需要收取一定费用,收费规则请参见 对象存储服务 OBS。 算法模型必须是.om格式,且满足华为HiLens的要求,详细可参考开发算法模型。 逻辑代码的存储方式有两种:“在线编辑代码”和“从OBS上传代码”。 如果您的代码逻辑较简单,建议直接在线编辑代码。 如果您的代码结构比较复杂,推荐用本地IDE开发完成后,使用OBS上传代码zip或tar.gz包的方式,上传操作可参见OBS快速入门。上传到OBS需要收取一定费用,收费规则请参见对象存储服务 OBS。 上传文件时,要求此OBS桶与您使用的华为HiLens处于同一区域。 若您从OBS上传代码,需要将所有代码文件压缩后上传,上传的文件必须为“.zip”或“tar.gz”格式,且入口文件必须在一级目录。如下示例所示,入口代码(“main.py”)在一级目录,其它的代码按需求自行设计,您可将模型与代码一起打包上传。 入口代码所在文件(如上面的main.py)通过参数【代码执行文件】进行配置,后面会有说明。 代码目录示例如下所示: skill/ |---main.py #入口文件,名称与新建技能的“代码配置”参数一致 |---depends/ #可选,用于存放模型文件 |---workspace/ #工作空间,用于存放技能生成的数据 |---data/ #用于存放运行时配置