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++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72907
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184924
  • Micropython
    +关注

    关注

    0

    文章

    68

    浏览量

    4610

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

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

收藏 人收藏

    评论

    相关推荐

    浅谈AMD Ryzen AI PC生态系

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

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

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

    RadioVerse:技术和无线电设计生态系

    电子发烧友网站提供《RadioVerse:技术和无线电设计生态系统.pdf》资料免费下载
    发表于 11-24 11:43 0次下载
    RadioVerse:技术和无线电设计<b class='flag-5'>生态系</b>统

    esp8266microPython如何调用Arduino库?

    esp8266microPython如何简单的调用Arduino库,本人C++不是太熟练,想把ATmega328p的一个LCD屏驱动移植到esp8266 microPython 上,不知如何实现
    发表于 10-30 07:42

    模拟矩阵在生态系统模拟中的应用

    维模拟矩阵在生态系统模拟中的应用主要是通过构建一个包含多个物种、生态系统和环境因素的模拟矩阵,来模拟和预测生态系统在不同条件下的动态变化和稳定性。 在生态系统模拟中,维模拟矩阵可以用来
    的头像 发表于 09-05 21:25 337次阅读

    Wasm软件生态系统安全分析

    本文转载自 OpenHarmony TSC 官方《峰会回顾第12期 | Wasm软件生态系统安全分析》 演讲嘉宾 | 王浩宇 回顾整理 | 廖涛 排版校对 | 李萍萍 嘉宾简介 王浩宇,华中科技
    发表于 09-05 15:29

    STM32Cube生态系统助力开发者释放创造力

    STM32Cube生态系统,助力开发者释放创造力,本片文档主要介绍选型、原型评估、配置、编译、软件包、调试、烧录、监测和总结。
    发表于 09-05 06:10

    《从零开始学ARM》真心适合新手小白

    的嵌入式系统,读者都能够通过这些实例获得宝贵的经验。 三、重点强调ARM生态系统 ARM架构不仅仅是一种处理器架构,它还涵盖了广泛的生态系统,包括操作系统、编程语言、开发工具等等。《从零开始学ARM
    发表于 09-02 15:29

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

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

    【赋能IoT生态系列5之5】智能工业闸道器升级新制造方案

    【赋能IoT生态系列5之5】智能工业闸道器升级新制造方案
    的头像 发表于 08-14 15:49 331次阅读
    【赋能IoT<b class='flag-5'>生态系</b>列5之5】智能工业闸道器升级新制造方案

    【赋能IoT生态系列5之4】多重网络智控模块升级方案

    【赋能IoT生态系列5之4】多重网络智控模块升级方案
    的头像 发表于 08-14 15:48 315次阅读
    【赋能IoT<b class='flag-5'>生态系</b>列5之4】多重网络智控模块升级方案

    【赋能IoT生态系列5之2】羽量级远程智控升级方案

    【赋能IoT生态系列5之2】羽量级远程智控升级方案
    的头像 发表于 08-14 15:46 221次阅读
    【赋能IoT<b class='flag-5'>生态系</b>列5之2】羽量级远程智控升级方案

    生态伙伴 | 华秋硬创联合长虹创投,共同打造更优生态系

    ,获2轮及以上融资的企业占比达54%。 02生态伙伴介绍:长虹创投 长虹创投是长虹控股集团进行股权投资的平台,协同内外创新资源,结合产业资金优势,打造“基金+基地+联盟”的生态系统。 长虹创投主要开展直
    发表于 07-31 15:45

    使用K210和Arduino IDE/Micropython进行图像识别

    电子发烧友网站提供《使用K210和Arduino IDE/Micropython进行图像识别.zip》资料免费下载
    发表于 06-25 11:02 6次下载
    使用K210和<b class='flag-5'>Arduino</b> IDE/<b class='flag-5'>Micropython</b>进行图像识别

    GaN功率半导体与高频生态系

    GaN功率半导体与高频生态系统(氮化镓)
    发表于 06-25 09:38