当前位置: 首页 > 科技观察

《基于Python鸿蒙开发板外设控制》图文直播和问答

时间:2023-03-13 19:45:46 科技观察

更多内容请访问:Harmonyos技术社区https://harmonyos.51cto.com,与华为官方共同打造,Python作为鸿蒙设备上的原生应用存在,由其负责就是执行Python脚本文件,将对设备操作的请求传递给鸿蒙系统,由系统进行具体的操作,从而达到“用Python语言操作设备”的目的。目前由于代码版本和硬件厂商定制的差异,需要对Python框架进行适配才能正常运行(具体适配步骤后面会在文档中给出)。随着不断的发展,最终的适配版本可以完全屏蔽C语言的开发方式,使用Python实时解释执行代码。Python框架作为静态库提供,因此可以通过API将Python代码集成到C源代码中。同时,由于这些API的存在,我可以开发专门的Python任务来动态解释和执行Python代码。如何动态地做到这一点?唔。..REPL正在路上!!!下面是一个示例多文件Python脚本。目前开发板上支持多个Python文件的相互依赖,例如:test.py调用another.py中的代码。对于熟悉Python编程的同学来说,这本身就是一件很正常的事情。但是,在鸿蒙L0级设备(资源受限设备)中定制和支持该特性需要付出一定的努力。Python接口提供了对GPIO进行编程的能力,详情请参阅文章《使用Python开发鸿蒙设备程序(1-GPIO外设控制)》。Python接口提供了I2C编程的能力,详见文章《使用Python开发鸿蒙设备程序(2-I2C应用实例)》。直播问答:1.Python也很容易阅读,与C相比,哪个更容易阅读?答:从语言的角度来说,Python比C更容易学习和掌握,所以使用Python开发设备的难度要比使用C语言低很多。换句话说:Python更容易学习。2.唐先生,这个Python引擎是你自己开发的吗?答:这个Python框架的语言解释器取自MicroPython-v1.13。我在解释器的基础上适配了鸿蒙系统,以便进行设备开发。Python解释器不是我开发的,但是整个Python框架都是我设计开发的,包括后续的一系列工具链,也是我开发的。3、老师的回调函数如何支持多参数?答:Python版本的回调函数的参数可以是一个对象,比如list对象。因此,你只需要将需要的参数存储在一个列表对象中,然后将这个列表对象作为回调参数即可。4.importgpio可以改成类似RaspberryPi的importRPi.GPIO,比如importHOS.GPIO,这样以后就可以知道是鸿蒙的gpio库了。答:此Python框架是专门为鸿蒙L0设备开发的,暂无移植到其他系统的计划。所以所有的库都是为鸿蒙开发的。另外,你现在看到的接口只是我设计方案中的Python底层接口,使用起来有点繁琐;以后我会开发一个更上层的面向对象的接口,使用起来会更加轻松愉快。5.老师,你不能实时执行Python吗?答:是的,已经提供了相关的接口,比如:DTPython_RunCode(constchar*code),你只需要开发一个REPL命令行工具就可以有实时执行Python代码的体验,并且开发这个REPL命令-line工具将在稍后启动。6.唐老师,你支持Pygame还是Turtle?结合外设,可以做出很酷的外设硬操作游戏或传感器,并呈现一个集成软件。答:鸿蒙L0设备的能力相对有限。目前主要用作数据采集器和外围主控板。他们不能做太多很酷的事情,而且这样的库需要大量资源,L0设备无法支持它们。如果你真的要做这种事情,可以考虑复鸿蒙设备(比如:Hi3516),很多炫酷的效果都可以在这类设备上实现。7、GPIO底层调用OHOS的接口是什么?答:Python中的GPIO接口会适配鸿蒙本地的GPIO接口,即最终会调用iot_gpio.h中定义的函数。8、Python鸿蒙如何实现远程升级?答:如果要升级Python代码,可以直接远程下载Python文件实现升级。9、产品发布后如何保证Python源码不泄露?答:Python源码最终存放在设备的Flash中。只要最终产品不提供外部调试接口,除非强制要求,否则无法直接获取源代码,只能逆向产品。当然,你可以考虑对Python源码进行加密,防止泄露。10、鸿蒙开发有没有低成本的深度学习视觉开发板?Hi3516的价格在1000左右,有点小贵。与其他同类开发板相比,价格便宜很多。比如K210才200左右。答:目前支持视觉的富鸿蒙开发板只有Hi3516,但是随着越来越多的硬件厂商适配鸿蒙,相信性价比高的视觉开发板适合每个人都会陆续出现。文章相关附件可点击下方原文链接下载https://harmonyos.51cto.com/resource/1265更多信息请访问:与华为官方共建的Harmonyos技术社区https://harmonyos.51cto.com