0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用Python完成鸿蒙开发板外设控制

OpenHarmony技术社区 来源:鸿蒙技术社区 作者:唐佐林 2021-09-28 09:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

话说很久以前,我将 MicroPython 的解释器给“挖”了出来,然后做了适配,成功运行于鸿蒙设备(Hi3861)之上。

详见前一篇帖子:《使用 Python 开发鸿蒙设备程序(0-初体验)》

然而,这在本质上也就只是一件装酷的事,除了写个 Hello World 体验资源受限设备上的 Python 语言程序设计之外,基本一无是处。..。..

为了实现最初的梦想:通过 Python 降低鸿蒙设备开发的门槛。最近我又开始躁动起来,大刀阔斧的在之前工作的基础上做了 Python SDK 的设计和开发。终于,现在可以直接用 Python 来控制鸿蒙开发板外设了。

我之前的帖子《《《鸿蒙开发板外设控制》》直播图文版(2020.10.28)》中涉及的案例都可以用 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!方法如下:

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

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

将转换后的代码加入附件中的 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

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128627
  • python
    +关注

    关注

    57

    文章

    4857

    浏览量

    89581
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2642

    浏览量

    69340

原文标题:用Python控制鸿蒙开发板,YYDS!

文章出处:【微信号:gh_834c4b3d87fe,微信公众号:OpenHarmony技术社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    想体验鸿蒙生态,该怎么获取鸿蒙开发板?有哪些途径?

    如何快速上手体验鸿蒙生态? 想体验鸿蒙生态,该怎么获取鸿蒙开发板?有哪些途径?
    发表于 11-29 08:40

    如何申请鸿蒙开发板?想体验鸿蒙生态。

    如何申请鸿蒙开发板?想体验鸿蒙生态。
    发表于 11-29 08:34

    触觉智能Purple Pi OH开发板率先适配OpenHarmony6.0 Release,鸿蒙明星开发板

    2025年9月19日,在官网上线开源鸿蒙OpenHarmony6.0Release仅13天,触觉智能宣布旗下PurplePiOH开发板成功完成OpenHarmony6.0Release系统适配。这一
    的头像 发表于 10-29 08:00 353次阅读
    触觉智能Purple Pi OH<b class='flag-5'>开发板</b>率先适配OpenHarmony6.0 Release,<b class='flag-5'>鸿蒙</b>明星<b class='flag-5'>开发板</b>

    触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例

    本文介绍OpenHarmony开源鸿蒙系统的USB控制传输功能实现及相关代码示例,基于触觉智能RK3576开发板PurplePiOH2演示。OpenHarmony的USB通信介绍实现
    的头像 发表于 09-30 16:31 1215次阅读
    触觉智能RK3576<b class='flag-5'>开发板</b>OpenHarmony开源<b class='flag-5'>鸿蒙</b>系统USB<b class='flag-5'>控制</b>传输功能示例

    【汇思博SEEK100开发板试用体验】在开发板鸿蒙OS搭建QT开发环境

    、基于 SEEK100 开发板的 QT 鸿蒙应用开发流程 (一)创建 QT 项目 在 Qt Creator 中,通过常规的新建项目流程,选择合适的 Qt 项目模板,例如基于 Widget 的应用或者 QML
    发表于 08-24 18:34

    触觉智能RK3506开发板通过OpenHarmony 5.1 XTS认证,引领鸿蒙开发新标杆!

    触觉智能作为瑞芯微专业方案商与开源鸿蒙南向硬件厂家,旗下RK3506开发板及其核心(模组)通过OpenHarmony5.1XTS认证!这一消息犹在行业内引起了广泛关注,标志着触觉智能在鸿蒙
    的头像 发表于 08-14 23:49 1371次阅读
    触觉智能RK3506<b class='flag-5'>开发板</b>通过OpenHarmony 5.1 XTS认证,引领<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>新标杆!

    尝鲜开源鸿蒙6.0?试试明星开发板Purple Pi OH

    6月19日,开源鸿蒙官方发布了OpenHarmony6.0Beta1版本,触觉智能紧随其后,率先在PurplePiOH开发板进行适配
    的头像 发表于 07-11 18:42 1197次阅读
    尝鲜开源<b class='flag-5'>鸿蒙</b>6.0?试试明星<b class='flag-5'>开发板</b>Purple Pi OH

    开鸿开发板深度体验:从开源鸿蒙开发到AI场景实践

    开鸿开发板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC体验开源鸿蒙能力学习开源鸿蒙开发●●●搭载KaihongOS
    的头像 发表于 07-03 17:03 1189次阅读
    开鸿<b class='flag-5'>开发板</b>深度体验:从开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>到AI场景实践

    【免费试用】开发板评测大赛开启!OH 、RISC-V、Rockchip顶级开发板等你试用~

    道OpenHarmony、RISC-V、Rockchip(下称RK)全面覆盖前沿技术方向,等你代码与创意点燃科技未来!——点击开发板图片立即申请————点击开发板图片立即申请———
    的头像 发表于 06-05 08:05 748次阅读
    【免费试用】<b class='flag-5'>开发板</b>评测大赛开启!OH 、RISC-V、Rockchip顶级<b class='flag-5'>开发板</b>等你试用~

    贝启BQ3568HM 开发板被选用为 OpenHarmony 明星开发板

    经开放原子开源基金会OpenHarmony社区官方测评评选,贝启科技BQ3568HM开源鸿蒙开发板被正式选用为OpenHarmony明星开发板。BQ3568HM开源鸿蒙
    的头像 发表于 05-25 00:22 1196次阅读
    贝启BQ3568HM <b class='flag-5'>开发板</b>被选用为 OpenHarmony 明星<b class='flag-5'>开发板</b>

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART
    的头像 发表于 03-25 11:02 1289次阅读
    【北京迅为】iTOP-RK3568<b class='flag-5'>开发板</b><b class='flag-5'>鸿蒙</b>OpenHarmony系统南向驱动<b class='flag-5'>开发</b>实操-HDF驱动配置UART

    AI人脸识别开发板BW21-CBV-Kit驱动墨水屏

    试着BW21-CBV-Kit点亮2.9寸墨水屏,开发板例程非常丰富,在arduino上开发的话上手超级容易。
    的头像 发表于 03-04 18:24 1532次阅读
    <b class='flag-5'>用</b>AI人脸识别<b class='flag-5'>开发板</b>BW21-CBV-Kit驱动墨水屏

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙
    的头像 发表于 12-30 10:08 1513次阅读
    OpenHarmony源码编译后烧录镜像教程,RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示

    OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示

    开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐
    的头像 发表于 12-24 11:46 1082次阅读
    OpenHarmony怎么修改DPI密度值?触觉智能RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示

    OpenHarmony默认30秒熄屏太麻烦?触觉智能鸿蒙开发板教你轻松取消

    OpenHarmony系统开机后 30 秒会自动息屏,教大家两招轻松取消自动息屏,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release系统!
    的头像 发表于 12-09 11:45 1304次阅读
    OpenHarmony默认30秒熄屏太麻烦?触觉智能<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>教你轻松取消