阅读更多

1顶
0踩

开源软件



剑桥大学数学科学中心的Damien P. George在研究各种深奥数学、物理问题之余,还搞了一个MicroPython项目,将Python移植到ARM Cortex M微处理器上,并开发了电路板。2013年曾经在KickStarter上成功筹得近10万英镑。2014年成功完成项目,发货。

同时,这个项目也在GitHub上开源,至今已有1800+星,60位贡献者。

George曾在2014年PyCon UK上介绍MicroPython,所用硬件平台叫pyboard,规格是:
  • STM32F405RG: 192k RAM, 1M ROM, 168MHz, Cortex M4F.
  • USB micro connector for device (and host).
  • Micro SD card.
  • 3-axis accelerometer (MMA7660).
  • Real-time clock, 4 LEDs, 2 switches.
  • 30 GPIO: symmetric pin layout, plus extra pins.
  • Internal file system. ”/flash” and ”/sd”.

由于存储太小,CPython都太大,只能自行开发Python实现,采取了很多优化措施:
  • Interned strings, most already in ROM.
  • Small integers stuffed in a pointer.
  • Optimised method calls (thanks PyPy!).
  • Range object is optimised (if possible).
  • Python stack frames live on the C stack.
  • ROM absolutely everything that can be ROMed!
  • Garbage collection only (no reference counts).
  • Exceptions implemented with custom setjmp/longjmp.

优化后,比原生的Python 2和Python 3都快了几个数量级:https://news.ycombinator.com/item?id=7841642

MicroPython的生态系统现在也开始起来了,就在本月前几天,荷兰埃因霍温的一个团队WiPy刚刚在KickStarter上成功众筹到75000多英镑,他们的项目是基于MicroPython软件的另一款硬件:超低功耗的物联网WiFi硬件。

SparkFun上也有WiFi模块ESP8266

HN上的两次讨论:

-https://news.ycombinator.com/item?id=9558969
-https://news.ycombinator.com/item?id=7840566
  • 大小: 80.4 KB
1
0
评论 共 1 条 请登录后发表评论
1 楼 mangguo 2015-05-18 13:50
不错的文章,我也写过一个Python课程

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • MicroPython:微控制器和受限系统的 Python 实现-开源

    MicroPython 是 Python 3 编程语言的精简高效实现,其中包括 Python 标准库的一小部分,并针对在微控制器和受限环境中运行进行了优化。 MicroPython pyboard 是一款紧凑型电子电路板,可在裸机上运行 MicroPython,...

  • micropython微控制器,MicroPython:针对微控制器的Python

    George在研究各种深奥数学、物理问题之余,还搞了一个MicroPython项目,将Python移植到ARM Cortex M微处理器上,并开发了电路板。2013年曾经在KickStarter上成功筹得近10万英镑。2014年成功完成项目,发货。同时,...

  • MicroPython:微控制器上的MicroPython

    MicroPython是为在微控制器上运行而设计的,受微控制器硬件资源的限制,传统计算机程序员对这部分可能不太熟悉,特别是RAM和非易失性存储器“磁盘”(闪存)容量的限制,本文提供了一些方法,可以充分利用这些有限的...

  • micropython:在Ai-Thinker GPRS模块A9(RDA8955)上的MicroPython实现

    这是MicroPython项目,旨在在微控制器和小型嵌入式系统上实现Python 3.x的实现。 您可以在找到官方网站。 警告:此项目处于测试阶段,并且可能会更改代码库,包括项目范围内的名称更改和API更改。 MicroPython...

  • 移植micropython最小工程到mm32f3270微控制器

    移植micropython最小工程到mm32f3270微控制器 苏勇, 2021-08 文章目录移植micropython最小工程到mm32f3270微控制器Introduction初试micropython v1.6增加MM32的移植为新移植创建Makefile附件 Introduction ...

  • python工业控制器_Micropython之PID电机控制2

    PID控制属于工业中应用非常广泛的控制方法,为了使控制量稳定在某个数值,或者某个范围。比如对温度的控制,对电机转速的控制,这些我们看来很简单,但其实这在工业生产中却往往是至关重要的,比如温度控制,不同...

  • 移植micropython的最小工程到lpc5500微控制器

    移植micropython的最小工程到lpc5500微控制器 文章目录移植micropython的最小工程到lpc5500微控制器概述修改Makefile,替换芯片相关文件调整linker文件将常规SRAM分成两块增大栈的大小添加micropython需要引用的变量...

  • rspython:python语言的Rust实现

    python3语言的当前实现为: CPython3(C中的参考实现) PyPy3(在python中实现的python) IronPython3(.NET中的python实现) MicroPython(针对微控制器的C语言中的python实现) RsPython(您正在阅读自述文件) ...

  • 基于单片机、RTOS玩MicroPython

    关注+星标公众号,不错过精彩内容来源 |RTThread物联网操作系统当下MicroPython 变得越来越流行,RT-Thread 也提供了对应的软件包的支持。那么,相比官方原生的 M...

  • 尝尝MicroPython控制单片机

    1. 摘要本文档主要介绍,在python环境下,如何开发嵌入式应用程序,以STM32H43板卡为例介绍. 从系统环境搭建,到编译,到用python实现硬件控制。可作为入门教程。2. 准备...

  • MicroPython做嵌入式开发的优缺点

    关注+星标公众号,不错过精彩内容编排 |strongerHuang微信公众号 |嵌入式专栏Python的火热程度相信大家都看到了,自然,MCU和嵌入式也紧跟“潮流”,随之而来的就是Mi...

  • python在线编辑器可视化_MicroPython可视化拼插编辑器:让硬件编程更智能!

    MicroPython是Python 3语言的精简高效实现 ,包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。MicroPython旨在尽可能与普通Python兼容,轻松将代码从桌面传输到微控制器或嵌入式系统。现在...

  • 【雕爷学编程】MicroPython手册之控制流语句

    1、MicroPython的控制流语句与Python的控制流语句基本相同,只是在一些细节上有所区别,如MicroPython不支持match语句,而Python 3.10及以上版本支持。5、用continue语句可以跳过当前循环的剩余部分,直接进入下一次...

  • 【雕爷学编程】MicroPython手册之 OpenMV Cam 手势控制

    通过合理的教学指导和实践,OpenMV Cam手势控制可以帮助学生掌握手势识别技术,培养创新思维和交互设计能力,推动智能化应用的发展。学生可以将OpenMV Cam与机器人平台相结合,利用手势识别功能实现机器人的手势控制...

  • 使用 MicroPython 快速开发基于实时微控制器的应用程序---凯利讯半导体

    实时嵌入式系统变得非常复杂,不仅要深入了解复杂的 32 位微控制器,还要了解传感器、算法、因特网协议以及各种不同的终端用户应用。随着开发周期缩短和功能增多,开发团队需要设法加速设计并将代码移植到新产品中,...

  • micropython文件上传软件_【应用教程】Micro:bit MicroPython 编程简介

    MicroPython 是针对 Python 编程语言的重新实现,针对微控制器和嵌入式系统,这里给大家分享基于 micro:bit 的 MicroPython 编程。在这篇文章中,我们会完成 MicroPython 编程环境的搭建,熟悉变成环境的操作,并且...

  • ### 制造业上市公司高质量发展研究报告(2023年)

    内容概要:报告由中国信息通信研究院发布,旨在评估制造业上市公司高质量发展,强调制造业高质量发展的重要性,并构建了涵盖创新力、竞争力、影响力、贡献力四大维度的评价体系。通过对3500余家制造业上市公司2022年年报数据的综合评估,评选出百强企业。研究显示,百强企业专注主业,半数以上成长为制造业单项冠军;民营企业在盈利效率、创新发展方面表现优异;东部地区引领发展,装备制造业领先,新能源产业呈现爆发性增长。百强企业在科技创新、质效提升、持续增长、稳定就业等方面发挥重要作用,但也存在品牌建设和创新水平差距、领军企业竞争力提升空间、高端领域龙头企业培育不足等问题。 适用人群:制造业企业管理者、政策制定者、投资者及相关研究人员。 使用场景及目标:①帮助企业管理者了解行业发展趋势,提升企业竞争力;②为政策制定者提供决策参考,推动制造业高质量发展;③为投资者提供投资参考,识别优质企业;④为研究人员提供详实数据,助力学术研究。 其他说明:报告建议从重突破促升级、重创新补短板、重质量树品牌三个方面进一步推进制造业企业高质量发展,以加快建设具有全球竞争力的一流企业。

  • 异步电机无感矢量控制仿真:关键技术和代码实现技巧

    内容概要:本文详细介绍了异步电机无感矢量控制仿真的关键技术与常见问题解决方案。首先讨论了坐标变换(Clarke和Park变换)的基础操作及其注意事项,强调了正确选择系数的重要性。接下来深入探讨了滑模观测器的设计与优化方法,包括使用查表法替代三角函数计算以提高效率,以及加入低通滤波器减少高频抖振。此外,文章还涉及了速度估算的方法,如频域法和改进型滑模观测器的应用,并提供了具体的Python和Matlab代码片段。最后,针对电流环控制提出了前馈补偿机制,确保在突加负载情况下仍能保持良好的电流跟踪效果。文中多次提到调参技巧,特别是对于PI参数的选择给出了实用建议。 适合人群:从事电机控制系统研究与开发的技术人员,尤其是对异步电机无感矢量控制感兴趣的工程师。 使用场景及目标:适用于希望深入了解并掌握异步电机无感矢量控制仿真技术的研究人员和技术开发者。主要目标是在没有编码器的情况下实现对电机转速和扭矩的精确控制,同时提供详细的代码实现指导和调试经验。 其他说明:文章不仅提供了理论知识,还包括大量实际操作中的经验和教训,帮助读者避免常见的陷阱,快速搭建起有效的仿真环境。

  • (源码)基于Arduino的火箭动力学参数监测项目.zip

    # 基于Arduino的火箭动力学参数监测项目 ## 项目简介 这是一个基于Arduino平台的火箭动力学参数监测项目,旨在通过Adafruit BMP280压力传感器和Adafruit LIS3DH加速度传感器收集火箭飞行过程中的环境数据和运动数据。项目结合了Adafruit的BMP280库和LIS3DH库,实现对传感器数据的读取、处理及初步分析。 ## 项目的主要特性和功能 1. 环境数据监测通过BMP280压力传感器,实时监测并记录火箭周围的气压、温度和海拔高度变化。 2. 运动数据监测借助LIS3DH加速度传感器,获取火箭在飞行过程中的加速度、速度及方向变化数据。 3. 数据处理与传输Arduino负责收集和初步处理这些数据,然后通过串行通信或其他方式将数据发送到地面站或飞行控制软件。 4. 安全与警报基于收集的数据,项目可设置警报阈值,当超过预设的安全限制时,触发警报或采取相应的安全措施。 ## 安装使用步骤

  • (源码)基于Arduino的EPSleepy智能家居控制系统.zip

    # 基于Arduino的EPSleepy智能家居控制系统 ## 一、项目简介 EPSleepy是一个基于Arduino的智能家居控制系统原型。该项目旨在通过Arduino控制ESP32 WiFi和蓝牙板,结合MP3模块、shiftregister和按钮等硬件,实现智能家居的自动化控制。 ## 二、项目的主要特性和功能 1. 自动化控制通过Arduino代码控制ESP32板,实现家居设备的自动化控制。 2. 多种硬件支持支持MP3模块、shiftregister和按钮等硬件,实现音频播放、灯光控制、SD驱动等功能。 3. 模块化设计代码采用模块化设计,方便测试每个部分的功能,方便维护和调试。 4. 图形化界面可通过按钮和LED等硬件进行图形化操作和控制。 ## 三、安装使用步骤 1. 下载并解压项目源码文件。 2. 打开Arduino IDE,导入项目代码。 3. 连接硬件,包括ESP32板、MP3模块、shiftregister和按钮等。

Global site tag (gtag.js) - Google Analytics