更新时间:2022-08-18 gmt 08:00

初始化hilens framework-凯发k8国际娱乐官网入口

该接口用于初始化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()
分享:
网站地图