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

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

3天内不再提示

什么是MicroPython 它能做什么有什么局限

电子森林 来源:电子森林 作者: 苏老师 2021-10-12 11:44 次阅读

随着Python成为主流的编程语言,MicroPython在嵌入式系统领域也越来越热门起来,尤其是大家喜爱的ESP32以及树莓派基金会刚推出的基于RP2040微控制器Pico模块都支持MicroPython。

作为一行代码都不会写的板农,在很多时候觉得非常受限,发誓一定要找个时机好好学会一门编程语言,这不国庆7天的假期我都奉献给了MicroPython,并在自己设计的Pico扩展学习板上实现了板上所有外设的功能:

花式点灯 - 单色、RGB三色,各种组合,还可以按键和传感器来控制

OLED屏幕上显示文本、图像、波形

音频信号进行数据采集并显示在OLED屏幕上 - 做了一个炫酷的波形显示

用板上的蜂鸣器奏响了“我和我的祖国”

移植了别人的代码生成了任意波形 - 改变波形、改变频率、改变幅度等等

。。。。

通过这7天的“探索”我自己最大的感触就是,以MicroPython入门嵌入式系统实在是太方便了 - 丰富的开源资源、多种形式的参考,比如视频课程、文本案例等。

MicroPython确实是一个很好的编程语言 - 面向对象、灵活、简单、优美!

我个人的学习得益于别人的分享(开源)、传递知识最好的方式就是把自己所学、所悟也分享出去,因此我计划上线一套基于Pico的Micro Python嵌入式编程教程,一个月以后正式开播,当然,前期会有15节PCB设计的直播课程带着大家自己设计一款Pico的学习板,毕竟在打板都能免费且包邮的便利大环境下,基于一个Pico核心板,未来每个人都可以通过自己设计PCB来做各种有趣的应用出来,学会PCB的设计也会让嵌入式系统工程师如虎添翼。

从现在开始陆续连载与这个课程相关的技术文章,今天是第一篇:

1. 什么是MicroPython

MicroPython是一个小型的开源Python编程语言解释器,运行在小型嵌入式开发板上。使用MicroPython,您可以编写干净、简单的Python代码来控制硬件,而不必使用复杂的底层语言,如C或c++Arduino用于编程)。

Python编程语言的简单性使MicroPython成为编程和硬件新手的理想选择。MicroPython功能非常齐全,支持大多数Python语法,所以即使是经验丰富的Python老手也会发现使用MicroPython很熟悉和有趣。

除了易于使用之外,MicroPython还有一些独特的特性,使它有别于其它嵌入式系统:

使用交互式解释器:REPL(读Read-评估Evaluate-打印Print-循环Loop) - 这允许你连接到一个板,并让它执行代码,而不需要编译或上传-完美的快速学习和试验硬件!

丰富的软件库 - 像普通的Python编程语言一样,MicroPython内置了非常多的库来支持许多任务。例如,通过MicroPython的内置库,可以很容易地解析来自Web服务的JSON数据,使用正则表达式搜索文本,甚至进行网络套接字编程。

可扩展性 - 对于高级用户来说,MicroPython可以通过低级C/C++函数进行扩展,因此在需要时,您可以将富有表现力的高级MicroPython代码与更快的低级代码混合使用。

MicroPython是Python 3语言的一个变种,其思想来源于剑桥大学的Darrien P. George博士,他与一个众筹团队一起于2013年开发了一款支持MicroPython的硬件开发板 - 叫PyBoard,并于2014年的Python大会(PyCon)上提出了MicroPython1.0。George博士也建立了micro python.org网站(www.micropython.org)来支持MicroPython和Pyboard。

2. MicroPython能做什么?

MicroPython被设计用于快速有效地创建嵌入式系统控制程序。嵌入式系统可以简单定义为任何需要使用微控制器以满足工程需要的工程。典型的嵌入式系统通常使用传感器,有时会使用电子机械传动结构与微控制器接口,它们可能附接有人机接口设备,便于交互,但是更多为自动的,为单机运行或连接至云端进行远程访问。

就像Arduino板一样,MicroPython可以控制硬件和连接的设备 - 可以控制GPIO引脚闪烁灯、读取开关以及更多;可以驱动能够驱动伺服器、LED的PWM信号; 能通过模数转换器读取读取模拟传感器的信息,与I2C或SPI设备通信也很容易,你甚至可以在一些板上找到网络和WiFi支持。MicroPython甚至有用于控制其它硬件的库,如NeoPixels和LED条,微型OLED显示器等等。简而言之,MicroPython可以做很多事情!

3. MicroPython有什么局限?

MicroPython有很少的限制,几乎Arduino能做的任何事情都可以通过MicroPython板来完成。然而,需要注意的是,与类似的Arduino或其它基于C/C++的底层代码相比,MicroPython代码没有那么快,需要的内存也可能更大,不过通常这并不重要,因为速度和内存差异并不大,大多数的应用不会受到影响。要注意的是,那些对时间或性能要求很严格的代码可能无法在MicroPython中工作。

例如,在MicroPython中完全使用软件来驱动IO管脚实现一些高速的串行通信协议可能不是最好的主意。然而,有一些方法可以混合MicroPython和低级C/C++代码,这样我们就可以同时拥有这两个世界的优点 - 主要的逻辑是干净且易于理解的MicroPython代码,而性能关键部分使用更快的低级代码编写的。

MicroPython语言实现了大部分核心Python 3语言,但是MicroPython不能实现整个Python 3标准库。Python以拥有广泛的标准库而闻名,但是试图将这么大的库压缩到只有千字节内存的小板上是不可能的。相反,MicroPython实现了一些Python标准库的更小版本,为我们提供了很棒的开发体验。

编辑:jq

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

    关注

    3

    文章

    4117

    浏览量

    61543
  • 代码
    +关注

    关注

    30

    文章

    4596

    浏览量

    67327
  • python
    +关注

    关注

    53

    文章

    4701

    浏览量

    83698
  • 解释器
    +关注

    关注

    0

    文章

    98

    浏览量

    6431

原文标题:嵌入式系统轻松入门(1)- MicroPython是什么?

文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AIGC遇上ChatGPT,互联网公司的创意设计师,还能做什么

    的审美眼光和源源不断的创意灵感,还需学会与AI技术携手并进,甚至引领AI技术为设计服务,共同开创设计的新境界。 那么,当AIGC遇上ChatGPT,互联网公司的创意设计师,到底还能做什么? 与AIGC协同设计,共创无限创意 随着AIGC技术的崛起,设计师们
    的头像 发表于 06-25 13:32 51次阅读

    编译Micropython的时候两个头文件中定义的内容冲突了怎么解决?

    刚入手的S3开发板,想装一个Micropython,从官网下载的源码编译的时候出现问题 In file included from /home/mars/esp/esp-idf_4_4
    发表于 06-18 06:24

    ESP32如何安装MicroPython库?

    ?? 【问题2】Python的noise库,装还是不装?装了也是没用啊,环境是MicroPython 【请教】请问以上问题如何解决?
    发表于 06-05 07:55

    边缘AI它到底是什么?能做什么

    边缘AI它到底是什么?能做什么? 边缘人工智能是一种新兴的人工智能技术,它将人工智能的计算和决策能力移动到离数据生成源和终端设备更近的边缘节点上。与传统的云计算方式相比,边缘AI将计算和决策推向网络
    的头像 发表于 01-11 14:44 843次阅读

    蔡司三坐标测量机能做什么

    关于蔡司三坐标测量机能做什么,蔡司代理三本精密仪器讲解如下:1.提高测量效率,保证测量的数据的一致性测量最怕的是第一次测量和第二次测量的数据出现大幅变化,这对生产人员改进工艺参数是巨大的风险
    的头像 发表于 12-25 17:54 251次阅读
    蔡司三坐标测量机<b class='flag-5'>能做什么</b>

    什么是光伏模拟器?光伏模拟器能做什么

    什么是光伏模拟器?光伏模拟器能做什么? 光伏模拟器是一种用来模拟太阳能光伏电池的工作原理和性能的软硬件设备。它可以提供光伏电池在不同光照、温度和环境条件下的电流、电压、功率等参数。光伏模拟器可以用
    的头像 发表于 11-10 15:57 928次阅读

    有些MCU支持micropython开发,它能保证实时性吗?

    使用Micropython开发和c语言开发相比,实时性怎么样,能得到保证吗?
    发表于 11-08 07:38

    什么是人脸识别门禁系统,它能用来做什么

    ,通过人脸识别设备的功能优势为门禁信息化赋能。什么是人脸识别门禁系统,它能用来做什么?人脸识别门禁系统是基于人脸特征进行身份认证的技术。它通常由通道闸机加人脸识别设备
    的头像 发表于 11-06 15:21 2032次阅读
    什么是人脸识别门禁系统,<b class='flag-5'>它能</b>用来<b class='flag-5'>做什么</b>?

    MOS管为什么需要电源启动?电源缓启动能做什么

    MOS管为什么需要电源启动?电源缓启动能做什么? MOS管是广泛应用于电子产品中的一种晶体管,在现代数字电路设计中扮演着重要的角色。不过,在使用MOS管时,我们需要考虑到的一个重要问题就是它们的启动
    的头像 发表于 10-24 10:11 993次阅读

    MicroPython应用基础-准备基于MM32F5的MicroPython开发板

    本文主要面向 **2023年全国大学生物联网设计竞赛安谋科技命题** ,使用星辰处理器的灵动MM32F5微控制器开发板,基于MicroPython开发应用系统。
    的头像 发表于 10-19 18:27 551次阅读
    <b class='flag-5'>MicroPython</b>应用基础-准备基于MM32F5的<b class='flag-5'>MicroPython</b>开发板

    X2安规电容在电源中的三大作用,除了抗干扰它还能做什么

    X2安规电容在电源中的三大作用,除了抗干扰它还能做什么?  X2安规电容是一种针对直流电源中高频噪声和电磁干扰的安全电容。它的主要作用是消除电源输入端的干扰信号和保护电路,从而提高电路稳定性和可靠性
    的头像 发表于 09-22 17:41 875次阅读

    核废水来了,我们能做什么

    核废水来了,我们能做什么
    的头像 发表于 09-08 08:26 535次阅读
    核废水来了,我们<b class='flag-5'>能做什么</b>?

    MicroPython的优势及应用领域 RT-Thread MicroPythonMicroPython的区别

    当下MicroPython变得越来越流行,RT-Thread 也提供了对应的软件包的支持。那么,相比官方原生的 MicroPython 我们有哪些改进呢?本文将深入介绍,RT-Thread MicroPython软件包与官方原生
    发表于 08-28 10:47 1080次阅读

    人工智能能做什么

    人工智能能做什么 人工智能(Artificial Intelligence,AI)是一种模拟人类思维的技术,它可以实现自主学习、识别图像、自然语言处理、决策推理等一系列高级任务。当前,随着AI技术
    的头像 发表于 08-12 16:33 6909次阅读

    【FireBeetle 2 ESP32-S3开发板测评】MicroPython开发体验

    【FireBeetle 2 ESP32-S3开发板测评】MicroPython开发体验
    的头像 发表于 07-23 09:02 1369次阅读
    【FireBeetle 2 ESP32-S3开发板测评】<b class='flag-5'>MicroPython</b>开发体验