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

    文章

    7453

    浏览量

    129722
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90415
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2642

    浏览量

    70239

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCU 开发板大比拼:STM32、ESP32、Arduino、树莓派谁更强?

    嵌入式开发板琳琅满目,STM32、ESP32、Arduino、RaspberryPi各有特色。新手容易纠结:到底哪块适合我的项目?本文整理了一份开发板对比速查表,帮你快速理清思路。一、STM32
    的头像 发表于 01-09 19:03 1609次阅读
    MCU <b class='flag-5'>开发板</b>大比拼:STM32、ESP32、Arduino、树莓派谁更强?

    性能跃迁,鸿蒙开发新纪元!凌羽派RK3566鸿蒙开发板,开启全场景开发之旅

    【导语】还在为鸿蒙开发寻找强劲、稳定、高效的硬件平台?凌羽派RK3566鸿蒙开发板震撼登场!集高性能、全接口、强生态于一身,专为鸿蒙
    的头像 发表于 12-11 17:58 2824次阅读
    性能跃迁,<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>新纪元!凌羽派RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>,开启全场景<b class='flag-5'>开发</b>之旅

    触觉智能RK3506星闪开发板测评报告(下)

    本文基于触觉智能RK3506开发板,上集主要从性能、功耗进行测评,本集将从开发板外设设计、EMC等可靠性性能进行测评。
    的头像 发表于 12-11 17:00 1609次阅读
    触觉智能RK3506星闪<b class='flag-5'>开发板</b>测评报告(下)

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

    如何快速上手体验鸿蒙生态? 想体验鸿蒙生态,该怎么获取鸿蒙开发板?有哪些途径?
    发表于 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 1225次阅读
    触觉智能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 1916次阅读
    触觉智能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 2099次阅读
    触觉智能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 1851次阅读
    尝鲜开源<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 2092次阅读
    开鸿<b class='flag-5'>开发板</b>深度体验:从开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>到AI场景实践

    【BPI-CanMV-K230D-Zero开发板体验】+灯效控制Python编程

    ,在学习Python编程的基础上通过GPIO来实现LED灯的控制。 在开发板上,仅有的2个可供GPIO控制的器件是RGB_LED和按键,其中RGB_LED的电路如图1所示。 但要点亮W
    发表于 06-27 17:33

    有ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙派开发板

    ,是A股首家专注于FPGA业务的上市公司。YM90X开发板的就是安路的SALDRAGON1(飞龙1,以下简称DR1)系列FPSoC。FPSoC就是将ARM、NPU和
    的头像 发表于 06-13 08:03 2112次阅读
    有ARM,NPU,FPGA三种核心的<b class='flag-5'>开发板</b> — 米尔安路飞龙派<b class='flag-5'>开发板</b>

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

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

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

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