社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

低门槛学鸿蒙——会python就能学!

51CTO官微 • 4 年前 • 673 次点击  

点击蓝字 关注我们

了解与IT有关的人和事


众所周知,鸿蒙开发支持的语言是C++、Java、JavaScript,这对于专业开发者来说经常接触,尤其是Android开发者,上手会十分快。但对于一些想入门的小白来说,似乎不太友好——学习门槛高、成本高、难度大。


有没有什么低门槛的方法,能让小白快速入门鸿蒙开发呢?


说到最好上手的开发语言,大家一定会想到python。为了降低鸿蒙设备开发的门槛,唐佐林老师将python与鸿蒙开发相结合,大大降低了新手入门的学习门槛。


在这里就让我们一起来看看唐佐林老师是怎么做的吧:


话说很久以前,我将 MicroPython 的解释器给“挖”了出来,然后做了适配,成功运行于鸿蒙设备(Hi3861)之上。然而,这在本质上也就只是一件装酷的事,除了写个 Hello World 体验资源受限设备上的 Python 语言程序设计之外,基本一无是处。


为了实现最初的梦想:通过 Python 降低鸿蒙设备开发的门槛。最近我又开始躁动起来,大刀阔斧的在之前工作的基础上做了 Python SDK 的设计和开发。终于,现在可以直接用 Python 来控制鸿蒙开发板外设了!大家看完这篇帖子后,可以尝试使用 C 和 Python 来实现相同的功能,体会一下不同。


 Ok!我们进入正题,直接上Python代码学习! 



在这里给大家做一点点概念上的科普,帮助大家更好的理解代码。GPIO(General Purpose Input/Output)即:通用型输入输出的简称,其物理表现形式为:可接收或输出电信号的引脚,使用者可根据需要将其作为输入(GPI)或输出(GPO)使用。并且, 一般情况下,开发板上都有多个 GPIO 引脚供使用。当 GPIO 作为输出使用时,输出的电信号为高电平(1)或者低电平(0),因此,只要在电路上稍加设计就可以接入外设(如:LED灯,电动机,等),并通过程序控制外设的状态。有了这些概念之后,上面的示例的代码理解起来就简单了!无非就是将 LED 灯(一种外设)接入第 7 号 GPIO 引脚,并通过程序设置第 7 号引脚输出高电平,点亮 LED 灯。


如果只是单纯的通过代码点亮一个 LED 灯,是真的不难,但也是真的挺无聊。所以,再给大家一个稍微复杂一点的示例:通过开关控制 LED 灯的状态。


“Show me the code!”



这个示例看起来挺吓人的,比上一个示例复杂了一些。然而,本质却依旧是 GPIO 外设控制。在硬件连接上,第 11 号 GPIO 引脚接入了一个按键,其目的是接收按键的信号,既然是接收信号那么显然 GPIO 基本功能应该设置为“输入”(与连接 LED 的第 7 号 GPIO 基本功能设置相反)。并且,将初始状态设置为高电平(pull up)态,当引脚电平从高电平转为低电平(按键被按下)时触发中断。最后,设置中断触发后调用的函数为 button_callback,当这个函数被调用时会通过 GPIO_7 改变外接 LED 灯的状态。


整个过程如下图所示:



相信大家已经迫不及待想要动手实战,体验一下 Python 操作外设的快感了。


Ok!方法如下:

1、下载附件中的 libdtpython.a 并存储到 /code/vendor/hisi/hi3861/hi3861/build/libs

2、编写 Python 代码并使用工具 Txt2CStr.exe 转换为C数组

3、将转换后的代码加入附件中的 demo 工程中编译并执行


注意:

由于在 Python 中提供了 i2c 相关接口,因此,需要改动文件 user_config.mk。

路径:/code/vendor/hisi/hi3861/hi3861/build/config/usr_config.mk

配置:CONFIG_I2C_SUPPORT=y


代码已经开源,下载地址:https://gitee.com/delphi-tang/python-for-hos


Enjoy it!


只看书面文字可能太过抽象,今晚8点,唐佐林老师将会在直播间,将上述操作和内容以直播授课的形式教给大家,现场实时按步操作,大家可以跟着直播一起动手做起来~另外还有直播答疑环节,大家可以先自行操作,带着问题到直播间咨询。


扫码报名公开课,即可获取课程学习资料包


直播概要:

本次课程主要讲解:使用HI3861开发板介绍鸿蒙下基于Python语言的外设控制开发,通过几个小案例让你快速轻松的上手鸿蒙设备开发。


直播提纲:

1.GPIO&I2C外设控制
2.鸿蒙上Python引擎的发展方向


直播亮点:

基于Python的物联网硬件开发


适合人群:

学生、软件工程师、硬件爱好者


讲师介绍:

唐佐林——HarmonyOS社区核心讲师

狄泰软件学院创始人,活跃在一线的技术专家。原Motorola中国研发中心架构师,现从事系统的架构设计与开发工作,擅长图像处理算法以及深度学习技术的定制应用。


直播抽奖:

HarmonyOS定制T恤、开发板


扫码报名公开课,即可获取课程学习资料包


扫描上方二维码

关注51CTO官微

陪有梦想的你一起成长

点击“阅读原文”了解更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/120127
 
673 次点击