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

    文章

    2108

    浏览量

    73627
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    186969
  • Micropython
    +关注

    关注

    0

    文章

    68

    浏览量

    4733

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    ESP32如何安装MicroPython库?

    = noise.Noise(adcObj) print("noise inited") 【问题1】导入noise库,但是库不存在,如何安装MicroPython
    发表于 06-05 07:55

    智原科技宣布加入Arm®(安谋)车用生态系的合作伙伴

    ASIC设计服务暨IP研发销售厂商智原科技(Faraday Technology Corporation,TWSE:3035)宣布加入Arm®(安谋)车用生态系的合作伙伴。智原采用Arm 最先进的Cortex-A720AE IP推动AI智慧车用 ASIC的开发,立足于安全、效率和质量。
    的头像 发表于 04-18 17:37 620次阅读

    苹果硬件生态系统丰富,用户黏性大

     苹果以其丰富多元的硬件生态系统,涵盖了从 iPhone 至 Mac 电脑等多种设备,每个设备都有其独特的用户群体。
    的头像 发表于 04-18 11:03 485次阅读

    SiliconLabs携手Arduino演示基于MGM240模块的新型Nano Matter开发板

    Arduino Nano Matter开发板,从而将Matter协议引入Arduino生态系统,为广大的开发人员提供一个快速涉足Matter互联互通设计的绝佳途径。
    的头像 发表于 04-11 17:35 648次阅读
    SiliconLabs携手<b class='flag-5'>Arduino</b>演示基于MGM240模块的新型Nano Matter开发板

    浅谈AMD Ryzen AI PC生态系

    AMD与OEM合作伙伴联想和华硕,以及生态系统合作伙伴百川智能、有道、游戏加加、生数、始智AI等共同努力,共庆龙年,并在大中华区扩展了Ryzen AI生态系统。
    的头像 发表于 04-11 11:05 751次阅读

    莱迪思举办2024莱迪思技术峰会展示其强大的FPGA合作生态系

    莱迪思半导体近日在上海举办的2024年莱迪思技术峰会上展示了其强大且不断增长的全球生态系统,该生态系统由客户、IP和参考平台合作伙伴以及致力于推动FPGA创新的开发人员组成。
    的头像 发表于 03-14 15:10 572次阅读

    Meta欲打造巨型AI覆盖视频推荐生态系

    Meta正计划打造一款巨型AI系统,以全面覆盖其视频推荐生态系统,为旗下产品提供统一的视频推荐引擎。
    的头像 发表于 03-11 11:14 681次阅读

    Renesas Ready生态系统合作伙伴解决方案介绍

    电子发烧友网站提供《Renesas Ready生态系统合作伙伴解决方案介绍.pdf》资料免费下载
    发表于 02-21 09:38 0次下载
    Renesas Ready<b class='flag-5'>生态系</b>统合作伙伴解决方案介绍

    2023年Arduino开放原码报告:持续茁壮的Arduino生态系

    所谓出钱就是买一片Arduino开发板或是付费订阅Arduino Cloud云端服务,或单纯资金赞助;出力就是撰写Arduino相关的程序并无私的分享程序代码或回报错误或投入翻译等,笔者即有若干翻译新版
    的头像 发表于 01-25 16:45 1432次阅读
    2023年<b class='flag-5'>Arduino</b>开放原码报告:持续茁壮的<b class='flag-5'>Arduino</b><b class='flag-5'>生态系</b>!

    Renesas Ready生态系统合作伙伴解决方案

    电子发烧友网站提供《Renesas Ready生态系统合作伙伴解决方案.pdf》资料免费下载
    发表于 01-14 11:04 0次下载
    Renesas Ready<b class='flag-5'>生态系</b>统合作伙伴解决方案

    芯原携手趣戴科技扩展手表GUI生态系统,以提升用户体验

    丰富的2.5D图形处理器(GPU)IP和与其配套的显示处理IP被全球智能手表SoC供应商广泛采用。这些技术专为提升智能手表的用户体验而设计,能够提供高性能、高质量的矢量图形,并在能效和芯片尺寸方面优于同类产品。通过与趣戴科技等生态系统伙伴的合作,芯原扩大其
    的头像 发表于 01-10 15:14 417次阅读