华为HILENS-初始化HiLens Framework
初始化HiLens Framework
该接口用于初始化HiLens Framework。在调用HiLens Framework的其他接口之前,需要先做全局初始化。
- 接口调用
hilens.init(verify)
- 参数说明
表1 参数说明 参数名
是否必选
参数类型
描述
verify
是
字符串
长度0到128的字符串。
应与华为HiLens管理控制台上新建技能时,所填写的“基本信息”中的“检验值”一致。如果不一致,HiLens Framework会强制技能停止。
图1 新建技能
- 返回值
0为HiLens Framework初始化成功,其他为失败。
该方法还可以用来验证技能是否损坏或被篡改。如果想要使用该功能,参数verify应该是开发者编写的一个函数的返回值,该返回值是实时计算要验证的文件的hash值。开发者在完成技能的开发后,用同样的hash方法计算出hash值,填入控制台新建技能的校验值。如下所示:
#! /usr/bin/python3.7 import hilens def verify(): # 开发者需要实现一个方法,来验证程序身份(以防被损坏、篡改) # 例如可以计算技能包中重要文件的Hash值,verify应当返回一个字符串(1~128字节)。 # 在HiLens平台,技能开发中填入此Hash值。调用init方法后,技能会自动将此Hash值发送到平台上进行比对,并验证技能的使用许可。 # 调试期间,开发者可以考虑使用一个固定的字符串来进行校验,以便于修改代码。 # 因为Python脚本源码下发到设备上较容易篡改,对于商用技能,建议开发者使用C++进行开发。 # 注意:正式发布的技能不应使用硬编码的字符串来校验! return "hello" def main(): # 初始化HiLens rc = hilens.init(verify()) # 如果在技能开发调试阶段不想用此功能,那么直接填写一个静态字符串即可 # 如: hilens.init("hello") if rc != 0: hilens.error("Failed to initialize HiLens") return # 业务代码 pass # 完成后,清理资源 hilens.terminate() if __name__ == '__main__': main()