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

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

3天内不再提示

Arduino开始将MicroPython纳入生态系

jf_cVC5iyAO ? 来源:易心Microbit编程 ? 作者:陆向阳 ? 2022-12-15 16:18 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

650baa52-7c4f-11ed-8abf-dac502259ad0.png

Arduino Lab for MicroPython程序画面

一直以来,谈到Arduino大家立刻想到的程序语言是C/C++,但现在Arduino官方开始尝试支持MicroPython。所谓支持即是Arduino官方开发出一套新的整合开发环境(IDE)称为Arduino Lab for MicroPython,软件接口风格与原有的ArduinoIDE相仿,也同样有Windows、Mac、Linux等跨平台版本。

之所以称为「尝试」是因为目前这套开发工具软件还在内部测试阶段,意即alpha阶段,连外部测试的beta阶段都还没到,版本也在0.5左右,尚未到正式的1.0版,源代码已放在GitHub上。

更严格来说,这比较像是一套编辑器(editor)软件,因为Python是直译执行的程序语言,不像C/C++是编译执行的语言,编译是先在计算机上把程序编译完成后,才把可执行的程序代码传送到开发板上,而后执行;直译是把程序代码放到开发板上后,等到要执行前才立即将其转译成可执行的程序代码,而后执行。

直译方式过去并不兴盛,主要是执行速度太慢、且占储存空间,但随着计算机运算力、硬件资源愈来愈强大宽裕,加上软件技术的改进(例如转译完成的程序代码可以保留一份,需要再次执行时即可加速),直译可行性因而提高。

发展源起与现况

在Arduino官方还没撰写开发Arduino Lab for MicroPython前,其实Arduino自家的产品就已经有使用到MicroPython,例如NiclaVision开发板是专门用于计算机视觉应用的,搭配的韧软件为OpenMV,而OpenMV的操控即需要撰写MicroPython程序。

为了开发Arduino Lab for MicroPython,Arduino官方找上MicroPython的创建者DamienGeorge,把他撰写的MicroPython官方版虚拟机(Virtual Machine, VM)改写出一套可以在Arduino现有产品上执行的版本。

也为了让现有Arduino产品可以执行MicroPython,Arduino官方也开始改写几片现行开发板的韧体,目前已经释出三片开发板的韧体,分别是Nano BLE Sense、Nano RP2040 Connect,以及Portenta H7等。新韧体的网址为https://docs.arduino.cc/micropython/,同时也有顺便放OpenMV的韧体。

三片开发板把原有的韧体清除掉,改写入新版韧体,搭配计算机上安装的Arduino Lab for MicroPython,就可以进行MicroPython的程序开发,并最终在板子上执行MicroPython。为了推广MicroPython,Arduino官方也另立一个网站来推广,网址为labs.arduino.cc

653169e0-7c4f-11ed-8abf-dac502259ad0.png

Arduino Labs官网画面

值得注意的是,释出开发板的新韧体并不表示后续也同样只有Arduino官方的开发板会支持MicroPython,Arduino官方希望有更多的非官方板卡也能支持响应Arduino Lab for MicroPython,自己只是起个头示范。

因为一切的发展都还在很前期,所以Arduino官方称Arduino Lab for MicroPython是一套轻量(lightweight)编辑器,也尚不能称是正式产品,而是一个体验工具(experimental tool),之所以现阶段就释出就是希望多听听各方的意见,看看能否逐渐改进成熟,但也不保证最终可以成为完整产品。

Arduino Labs官网上也开始有Arduino Labfor MicroPython相关的创客项目,一是Include Robot,是一个用3D打印做成的自走车,可以使用Arduino Nano 33 BLE、BLE Sense、33 IoT,以及Arduino RP2040 Connect等电路板来驱动;二是BLE Dashboard,是一个仪表板项目,可用来显示传感器数据,使用的板子是Arduino Nano 33 BLE Sense或Nicla Sense ME。

MicroPython vs. CircuitPython

最后,或许有些人仍不太了解MicroPython、CircuitPython的区别。MicroPython的渊源来自前述的Damien George(澳洲程序员、物理学家)曾于群众募资网站Kickstarter上发起一个募资,希望能生产销售一片名为PyBoard(有时写成pyboard)的开发板,并让购买该板的用户,能使用修改版的Python来撰写该开发板的控制程序,该修改版的Python即为Micro Python(当时发起时两个字之间有空格,之后连写)。

本来只想募15,000英镑(发起者可以自行决定募资的币别),募资天数30天,但最终由1,931名支持者共筹募了97,803英镑,PyBoard项目成立并顺利生产交货。自此之后有更多的芯片、板卡支持MicroPython,如ESP8266芯片、ESP32芯片、BBC Micro:bit、Raspberry Pi Pico,以及STMicro公司的STM32系列等。

至于CircuitPython则是由Adafruit以MicroPython为基础的衍生发展,既然由Adafruit所提出,自然Adafruit所推出的板卡最支持CircuitPython,但由于一样是开放源代码的项目,也是有其他板卡支持CircuitPython,例如SparkFun、Seeed Studio、Arduino等均有推出支援CircuitPython的板卡。

至于两者使用上有何差异,其实CircuitPython只是更方便入门者学习与除错,而不是比MicroPython强大。CircuitPython无法共享状态所以同时间只能执行一个工作,如果正在用计算机与板卡进行REPL(Read–Eval–Print Loop)模式互动,这时就无法执行板子上的 .py档案程序。

其他差异还有CircuitPython的API比较精简,有些CircuitPython的API是直接以低阶硬件动作来实现,如此可以省去引用一堆函式库与额外的指令。总之,希望此一新推展能获得够多够好的回馈意见,从而尽快发展成熟,使创客在控制程序的开发上有更多的选择。

审核编辑:汤梓红

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

    关注

    22

    文章

    2119

    浏览量

    75747
  • Arduino
    +关注

    关注

    190

    文章

    6501

    浏览量

    193111
  • Micropython
    +关注

    关注

    0

    文章

    68

    浏览量

    5389

原文标题:Arduino开始将MicroPython纳入生态系

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    地物光谱仪在多维生态系统监测中的应用

    在气候变化与生物多样性快速演变的背景下,生态系统的监测与研究正走向精细化、数据化和智能化。越来越多科研人员一种名为“地物光谱仪”的设备,视为构建生态研究“数据引擎”的关键组件。 那么,什么是地物
    的头像 发表于 05-16 17:43 ?219次阅读
    地物光谱仪在多维<b class='flag-5'>生态系</b>统监测中的应用

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    第二章 Arduino基础知识 本章,我们向大家介绍Arduino是一个什么东西?让大家对Arduino有一个大概了解。本章分为如下
    发表于 05-13 09:28

    如何借助大语言模型打造人工智能生态系

    、硬件需求以及所涉及的财务影响这三者之间的内在联系。我们深入探究现实中大语言模型的发展趋势,并共同探讨如何借助规模更小、效能更高的模型,打造一个更具可持续性的人工智能生态系统。
    的头像 发表于 04-27 09:19 ?645次阅读
    如何借助大语言模型打造人工智能<b class='flag-5'>生态系</b>统

    如何在光子学中利用电子生态系

    本文介绍了如何在光子学中利用电子生态系统。 这一目标要求光子学制造利用现有的电子制造工艺和生态系统。光子学必须采用无晶圆厂模型、可以在焊接步骤中幸存下来的芯片以及电子封装和组装方法。 ? 无晶圆厂
    的头像 发表于 02-10 10:24 ?650次阅读
    如何在光子学中利用电子<b class='flag-5'>生态系</b>统

    安森美PRISM生态系统助力相机开发

    安森美(onsemi)开发了一个高级图像传感器模块参考设计 (Premier Reference Image Sensor Module,PRISM) 生态系统,大大缩短了原型开发周期,进一步减轻了工程负担,提高了相机质量,并最终帮助我们的客户实现产品快速上市。
    的头像 发表于 02-06 10:32 ?540次阅读
    安森美PRISM<b class='flag-5'>生态系</b>统助力相机开发

    AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.

    AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
    的头像 发表于 02-05 16:01 ?676次阅读
    AMAZINGIC晶焱科技技术应用:典范转移 EV全<b class='flag-5'>生态系</b>商机 - The CAN SIC Transceiver Is Ready To Go.

    英监管机构或优先调查苹果谷歌移动生态系

    近日,英国竞争与市场管理局(CMA)发布了一项重要声明,引起了广泛关注。该声明指出,CMA正考虑根据将于明年生效的数字市场竞争新规,优先对苹果和谷歌的移动生态系统活动展开调查。 据悉,这一决定
    的头像 发表于 02-05 13:46 ?531次阅读

    英国CMA将对苹果谷歌移动生态系统展开调查

    。 据悉,此次调查重点关注苹果和谷歌在操作系统、应用商店以及智能手机浏览器等领域的市场地位。CMA仔细审查这两家公司是否存在滥用市场支配地位、阻碍创新或损害消费者权益的行为。 随着科技的飞速发展,移动生态系统已成为数
    的头像 发表于 01-24 14:04 ?647次阅读

    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.

    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
    的头像 发表于 01-22 17:23 ?657次阅读
    典范转移 EV全<b class='flag-5'>生态系</b>商机 - The CAN SIC Transceiver Is Ready To Go.

    Hadoop 生态系统在大数据处理中的应用与实践

    随着数据量的爆发式增长,大数据处理技术成为企业关注焦点,Hadoop 生态系统在其中扮演着核心角色。 Hadoop Distributed File System(HDFS)是其分布式文件存储
    的头像 发表于 01-21 17:48 ?482次阅读

    笙泉完善的MCU生态系统(ECO System),赋能高效开发、提升竞争优势

    本帖最后由 noctor 于 2024-12-27 10:46 编辑 笙泉完善的MCU生态系统(ECO System),赋能高效开发、提升竞争优势 完善的生态系统 笙泉科技已深耕MCU
    发表于 12-27 09:58

    对三星而言开放生态系统是什么

    在过去的五年里,三星投入了大量精力来建立团队、文化和流程,成为开放生态系统的积极贡献者。那么,为什么一家硬件公司会进行这样的投资?其价值何在?我们如何硬件差异化与开源和标准结合起来?
    的头像 发表于 11-13 15:58 ?934次阅读

    英特尔和AMD组建x86生态系统咨询小组

    在联想2024 Tech World大会上,英特尔CEO帕特·基辛格宣布了一项重大合作:英特尔与AMD共同组建X86生态系统咨询小组。
    的头像 发表于 10-16 16:34 ?721次阅读

    贸泽电子开售Arduino新款解决方案

    的新款产品及解决方案。Arduino产品从设计之初就旨在提供一个便捷的平台和生态系统来提升行业创造力和产品创新。Arduino解决方案弥补了工程领域的人才短缺,并通过强大的开源产品线摆脱了对个别供应商的依赖,支持IoT、自动化、
    发表于 09-24 15:54 ?342次阅读

    《DNK210使用指南 -CanMV版 V1.0》第七章 基于CanMV的MicroPython语法开发环境搭建

    第七章 基于CanMV的MicroPython语法开发环境搭建 前面章节中已经介绍了如何编译CanMV固件,并将编译好的CanMV固件烧录至Kendryte K210,本章介绍如何在Windows
    发表于 09-13 09:30