侵权投诉

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

HarmonyOS技术社区 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

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

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

收藏 人收藏
分享:

评论

相关推荐

瘦肉精检测仪的应用范围和产品性能
瘦肉精检测仪的产品性能。瘦肉精检测仪【恒美 HM-SSJ】广泛应用于食药监局、卫生部门、医学院校、科....
发表于 10-15 14:34 14次 阅读
呕吐毒素检测仪的特点
呕吐毒素检测仪,灵敏度高,采用更先进的荧光定量检测原理,准确度更高,与国标法高度符合,满足不同层次对....
发表于 10-15 11:38 178次 阅读
关于Python18个你不知道的高效编程技巧
初识Python语言,觉得python满足了我上学时候对编程语言的所有要求。python语言的高效编....
的头像 马哥Linux运维 发表于 10-15 11:23 164次 阅读
求一种通用的BootLoader方案
BootLoader是什么?如何去配置BootLoader?
发表于 10-15 06:33 0次 阅读
RDA5856蓝牙芯片有哪些特点
什么是MbedOS操作系统? MbedOS操作系统是由哪些部分组成的? RDA5856蓝牙芯片有哪些特点? ...
发表于 10-15 06:08 0次 阅读
专业手持机设计的特点
手持机是能与其他设备进行数据通讯的手持型终端机,具有数据存储和操作系统,有人机交互界面可以显示输入信....
发表于 10-14 16:17 21次 阅读
鸿蒙系统到底有多少“差评”?虽然很难听,但是很真实
HarmonyOS 2.0HarmonyOS 2.0是华为技术有限公司于20年9月在华为开发者大会上发布的操作系统,适用于部分手机、车机、智能电...
发表于 10-14 16:10 196次 阅读
大米重金属检测仪的作用
检测大米中的重金属镉,推荐【上海飞测】大米重金属检测仪,阻击‘危险’大米,操作快速简便,结果准确定量....
发表于 10-14 14:30 125次 阅读
呕吐毒素检测仪产品特点
上海飞测呕吐毒素检测仪,采用更先进的荧光定量检测原理,准确度更高,与国标法高度符合,满足不同层次对呕....
发表于 10-14 14:29 24次 阅读
大米重金属检测仪的作用
大米重金属检测仪[微测生物],阻击‘危险’大米,检测大米中的镉,操作快速简便,结果准确定量。
发表于 10-14 14:25 91次 阅读
厂界VOC气象站技术参数是什么
厂界VOC气象站技术参数是什么?环保意义上的定义是指活泼的一类挥发性有机物,即会产生危害的那一类挥发....
发表于 10-14 14:12 28次 阅读
iPhone13的劲敌,华为Mate50卖点不止鸿蒙系统,但有一个小遗憾
受到一些众所周知的因素影响,手机业务发展受限的华为,目前在全球手机市场中份额直线下滑。从华为的新机发布情况来看,按照以往...
发表于 10-14 11:24 404次 阅读
iPhone13的劲敌,华为Mate50卖点不止鸿蒙系统,但有一个小遗憾
STM32F103+RT-thread操作系统+M5311NB模组物联网该如何去设计
STM32的编程逻辑分为哪些?STM32F103+RT-thread操作系统+M5311NB模组物联网该如何去设计?...
发表于 10-14 09:20 0次 阅读
用Python实现3D地图教程
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题....
的头像 马哥Linux运维 发表于 10-13 10:09 152次 阅读
用Python实现3D地图教程
HarmonyOS的组件化设计方案
HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,Ha....
的头像 HarmonyOS开发者 发表于 10-13 09:59 174次 阅读
基于HarmonyOS的黑白翻棋手机版本
前言 之前发过两篇黑白翻棋游戏的手表版本,这次给大家带来的小分享是黑白翻棋的手机版本,也是JS写的,....
的头像 HarmonyOS官方合作社区 发表于 10-13 09:38 117次 阅读
鸿蒙OS 3.0马上就要来了
花粉们都用上鸿蒙系统了吗?据统计,目前鸿蒙OS 2.0升级用户数突破1.2亿,平均每天超100万用户....
的头像 HarmonyOS官方合作社区 发表于 10-13 09:33 678次 阅读
关于Python对交通路口的红绿灯进行颜色检测
转自 |   Python联盟 1.视频读取 首先把视频读取进来,因为我测试的视频是4k的所以我用r....
的头像 新机器视觉 发表于 10-13 09:32 210次 阅读
关于Python对交通路口的红绿灯进行颜色检测
有没有人详细的可以解释下C语言单片机程序的组成、存储与运行STM32实例演示?
有没有人详细的可以解释下C语言单片机程序的组成、存储与运行STM32实例演示?...
发表于 10-13 09:25 0次 阅读
便携式重金属测定仪可以检测什么
便携式重金属测定仪可以检测什么【霍尔德HED-IG-SZ】据有关机构保守估计,目前中国18亿亩耕地中....
发表于 10-13 09:22 16次 阅读
罐区防爆气象站-化工厂气象站的特点
罐区防爆气象站-化工厂气象站FT-FB【风途】面对极端强降雨天气,提前协调气象部门,将公司相关人员及....
发表于 10-12 17:45 102次 阅读
我摊牌了:13香并不香!我最终还是选择了国产华为P50
​苹果13和华为p50是现在最欢迎的两款手机,不管是手机颜值还是提供带来的手机网络性能体验来说,都是不错的一个选择。 ​虽然说...
发表于 10-12 17:28 568次 阅读
油库化工厂一体式气象站技术参数
油库化工厂一体式气象站技术参数FT-FB【风途】化工行业是非常重要的优势产业,但其在生产过程中会造成....
发表于 10-12 16:44 88次 阅读
如何制作数据可视化大屏
经常有小伙伴问,如何制作数据可视化大屏? 今天将手把手带你爬取奥运会相关信息,并利用 可视化大屏 为....
的头像 Linux爱好者 发表于 10-12 16:31 134次 阅读
如何制作数据可视化大屏
大米镉重金属检测仪有哪些用处
大米镉重金属检测仪有哪些用处【霍尔德HED-IG-SZ】大米是南方人的主食。但是近些年来,随着南北交....
发表于 10-12 16:18 25次 阅读
国产FPGA GW1NSR的片上资源和特性
   本文介绍国产FPGA GW1NSR的片上资源和特性,从官网能获取资料的途径,完成这一步可以使读....
的头像 高云半导体 发表于 10-12 14:17 874次 阅读
国产FPGA GW1NSR的片上资源和特性
什么是MicroPython 它能做什么有什么局限
随着Python成为主流的编程语言,MicroPython在嵌入式系统领域也越来越热门起来,尤其是大....
的头像 电子森林 发表于 10-12 11:44 214次 阅读
Apple最新发布iOS 15.0.2
Apple 于周一发布了 iOS 15.0.2,并修复了一些重要的错误,包括一些特定于 Find M....
的头像 科技见闻网 发表于 10-12 10:54 470次 阅读
10具有挑战性的Python项目创意
你知道 Python 是被称为 全能编程语言 的吗?是的,它确实是,虽然不应该在每个项目中都使用它。....
的头像 Android编程精选 发表于 10-12 10:43 234次 阅读
稻谷重金属测定仪如何选择
稻谷重金属测定仪如何选择【霍尔德HED-IG-SZ】当重金属持续在体内积聚到一定量(或者发生急性中毒....
发表于 10-12 10:28 33次 阅读
如何把Python和Excel两大数据工具进行集成
  这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理....
的头像 数据分析与开发 发表于 10-12 09:41 143次 阅读
如何把Python和Excel两大数据工具进行集成
如何在Colab中使用SQL
如今,编码测试在数据科学面试过程中几乎是标准的。 作为一名数据科学招聘经理,我发现一个20-30分钟....
的头像 智能感知与物联网技术研究所 发表于 10-12 09:39 156次 阅读
如何在Colab中使用SQL
Python开发中Pycharm的实用小技巧
  Pycharm作为Python开发最常用的IDE之一,不仅兼容性好,而且功能也相当丰富,比如调试....
的头像 马哥Linux运维 发表于 10-12 09:36 128次 阅读
Python的时间处理模块中处理日期与时间的全面总结
Python的时间处理模块在日常的使用中用的较多,但是使用的时候基本上都是要查资料,还是有些麻烦的,....
的头像 马哥Linux运维 发表于 10-12 09:24 174次 阅读
Python的时间处理模块中处理日期与时间的全面总结
华为 FreeBuds Pro 加入鸿蒙系统超级终端,多设备一拖即连
华为今天宣布,FreeBuds Pro 正式加入鸿蒙系统超级终端功能,使用鸿蒙机型的小伙伴可以在超级终端界面自由切换音频输出,无论...
发表于 10-11 16:44 101次 阅读
华为 FreeBuds Pro 加入鸿蒙系统超级终端,多设备一拖即连
Python中最常用的几种线程锁你会用吗
前言本文将继续围绕 threading 模块讲解,基本上是纯理论偏多。 对于日常开发者来讲很少会使用....
的头像 马哥Linux运维 发表于 10-11 16:07 145次 阅读
优秀的 Verilog/FPGA开源项目介绍(一)
优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信 今天开始会陆续介绍一些优秀的开源项....
的头像 OpenFPGA 发表于 10-11 15:31 237次 阅读
优秀的 Verilog/FPGA开源项目介绍(一)
欧拉开源操作系统首个全场景版本发布
9月25日,华为孟晚舟回国的消息刷屏了。据央视报道,当地时间24日,孟晚舟在加拿大不列颠哥伦比亚省法....
的头像 电子发烧友网 发表于 10-11 14:45 194次 阅读
鸿蒙的网络管理功能你们知道有多厉害吗
  本示例演示了如何使用网络管理模块相关接口,演示了以下功能: 功能 1: 使用默认网络,打开连接,....
的头像 HarmonyOS技术社区 发表于 10-11 14:26 255次 阅读
鸿蒙的网络管理功能你们知道有多厉害吗
何为鸿蒙?和安卓的区别到底是什么?别再扯套壳了
linux的创始人linus在2000年8月25号的一封邮件中写了这样一句话“Talk is cheap.show me the code.”“多说无意有种你给我看代码...
发表于 10-11 11:38 202次 阅读
左手鸿蒙,右手欧拉,任正非的格局真的牛!
近日华为最令人震惊的事情应该就是在全联接大会上,面向数字基础设施的开源操作系统欧拉全新发布了吧。 这是继欧拉操作系统于...
发表于 10-11 11:36 303次 阅读
Python版test1实战说明
上一篇文章已经带着大家安装 DeepStream 的 Python 开发环境,并且执行最简单的 de....
的头像 NVIDIA英伟达企业解决方案 发表于 10-09 14:28 149次 阅读
教你们如何用 Python 快速制作海报级地图附代码
 1 简介 基于 Python 中诸如 matplotlib 等功能丰富、自由度极高的绘图库,我们可....
的头像 Linux爱好者 发表于 10-09 11:36 256次 阅读
HarmonyOS系统TextField组件基本用法
1. TextField组件基本用法 组件说明: 是Text的子类,用来进行用户输入数据的 常见属性....
的头像 电子发烧友论坛 发表于 10-09 09:18 224次 阅读
HarmonyOS系统TextField组件基本用法
Python定时任务的实现方式
在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond....
的头像 马哥Linux运维 发表于 10-08 15:20 1212次 阅读
Windows11有哪些值得让人升级的理由
对于微软来说,Windows 11让你升级的最大好处之一就是,可以让你的PC更加流畅,当然他们也是确....
的头像 Android编程精选 发表于 10-08 14:42 367次 阅读
极客时间引领IT技术培训风向,操作系统课程近期火热招募
操作系统是计算机体系中最为重要的组成部分之一,在进行相关应用的开发时,很多细节问题都与操作系统有着紧....
的头像 话说科技 发表于 09-30 16:59 353次 阅读
极客时间引领IT技术培训风向,操作系统课程近期火热招募
Python的矩阵传播机制
一、Python的矩阵传播机制(Broadcasting) 我们知道在深度学习中经常要操作各种矩阵(....
的头像 Linux爱好者 发表于 09-30 16:53 290次 阅读
iphone13promax和iphone13pro区别
iphone13promax和iphone13pro区别
的头像 lhl545545 发表于 09-30 16:27 14265次 阅读
机智云边缘操作管理系统及边缘服务器满足企业全球化需求
机智云自助开发平台,作为一个零门槛、超低代码的iot开发平台,通过傻瓜化的自助工具、在线可视化开发环....
的头像 机智云物联网 发表于 09-30 16:06 1405次 阅读
微测生物重金属检测仪有哪些特点?
微测生物重金属检测仪可快速简便准确定量的测定出粮食谷物、饲料、食品、中药材、蔬菜、乳品、水产品中多种....
发表于 09-30 14:33 93次 阅读
嵌入式操作系统VxWorks中的网络通信
嵌入式操作系统VxWorks中的网络通信(通信网络保障应急方案)-嵌入式操作系统VxWorks中的网....
发表于 09-30 11:19 41次 阅读
嵌入式操作系统VxWorks中的网络通信
嵌入式VxWorks实时操作系统中串口通信的实现
嵌入式VxWorks实时操作系统中串口通信的实现(通信网络基础课后答案第三章)-嵌入式VxWorks....
发表于 09-30 11:15 41次 阅读
嵌入式VxWorks实时操作系统中串口通信的实现
市场监管局农残速测仪的仪器特点有那些
市场监管局农残速测仪的仪器特点有那些【霍尔德仪器HED-NC12】农残留跟着农业的迅速开展已经变成了....
发表于 09-30 09:14 39次 阅读
如何用python实现贪吃蛇游戏
贪吃蛇 具体实现部分,大致分为三个模块来介绍:游戏初始化、游戏运行(蛇移动、吃掉食物)、游戏结束 1....
的头像 马哥Linux运维 发表于 09-29 18:05 451次 阅读
如何用python实现贪吃蛇游戏
华为mate50pro价格官网报价
华为mate50pro价格官网售价约为8000元起,最新搭载鸿蒙操作系统,采用OLED大屏幕设计,外....
的头像 lhl545545 发表于 09-29 16:42 4432次 阅读
生物毒性检测仪器产品介绍
生物毒性检测仪器产品介绍【霍尔德HED-DX】当前,中国在经济高速发展的同时,人为对水体的污染也是越....
发表于 09-29 10:40 38次 阅读
真菌毒素快速检测仪设备 【飞测生物】真菌毒素检测仪
【飞测生物】真菌毒素检测仪,操作快速简便,结果准确定量,可用于粮食、饲料、中药材等多种样品中真菌毒素....
发表于 09-29 10:34 50次 阅读
执法影像记录仪设计
执法记录仪具有摄像、照相、录音、对讲、定位、回放、存储等功能,能够对执法过程中进行动态、静态的现场情....
发表于 09-29 10:27 38次 阅读