Arduino Lab for MicroPython程序畫面
一直以來(lái),談到Arduino大家立刻想到的程序語(yǔ)言是C/C++,但現(xiàn)在Arduino官方開始嘗試支持MicroPython。所謂支持即是Arduino官方開發(fā)出一套新的整合開發(fā)環(huán)境(IDE)稱為Arduino Lab for MicroPython,軟件接口風(fēng)格與原有的ArduinoIDE相仿,也同樣有Windows、Mac、Linux等跨平臺(tái)版本。
之所以稱為「嘗試」是因?yàn)槟壳斑@套開發(fā)工具軟件還在內(nèi)部測(cè)試階段,意即alpha階段,連外部測(cè)試的beta階段都還沒到,版本也在0.5左右,尚未到正式的1.0版,源代碼已放在GitHub上。
更嚴(yán)格來(lái)說(shuō),這比較像是一套編輯器(editor)軟件,因?yàn)镻ython是直譯執(zhí)行的程序語(yǔ)言,不像C/C++是編譯執(zhí)行的語(yǔ)言,編譯是先在計(jì)算機(jī)上把程序編譯完成后,才把可執(zhí)行的程序代碼傳送到開發(fā)板上,而后執(zhí)行;直譯是把程序代碼放到開發(fā)板上后,等到要執(zhí)行前才立即將其轉(zhuǎn)譯成可執(zhí)行的程序代碼,而后執(zhí)行。
直譯方式過(guò)去并不興盛,主要是執(zhí)行速度太慢、且占儲(chǔ)存空間,但隨著計(jì)算機(jī)運(yùn)算力、硬件資源愈來(lái)愈強(qiáng)大寬裕,加上軟件技術(shù)的改進(jìn)(例如轉(zhuǎn)譯完成的程序代碼可以保留一份,需要再次執(zhí)行時(shí)即可加速),直譯可行性因而提高。
發(fā)展源起與現(xiàn)況
在Arduino官方還沒撰寫開發(fā)Arduino Lab for MicroPython前,其實(shí)Arduino自家的產(chǎn)品就已經(jīng)有使用到MicroPython,例如NiclaVision開發(fā)板是專門用于計(jì)算機(jī)視覺應(yīng)用的,搭配的韌軟件為OpenMV,而OpenMV的操控即需要撰寫MicroPython程序。
為了開發(fā)Arduino Lab for MicroPython,Arduino官方找上MicroPython的創(chuàng)建者DamienGeorge,把他撰寫的MicroPython官方版虛擬機(jī)(Virtual Machine, VM)改寫出一套可以在Arduino現(xiàn)有產(chǎn)品上執(zhí)行的版本。
也為了讓現(xiàn)有Arduino產(chǎn)品可以執(zhí)行MicroPython,Arduino官方也開始改寫幾片現(xiàn)行開發(fā)板的韌體,目前已經(jīng)釋出三片開發(fā)板的韌體,分別是Nano BLE Sense、Nano RP2040 Connect,以及Portenta H7等。新韌體的網(wǎng)址為https://docs.arduino.cc/micropython/,同時(shí)也有順便放OpenMV的韌體。
三片開發(fā)板把原有的韌體清除掉,改寫入新版韌體,搭配計(jì)算機(jī)上安裝的Arduino Lab for MicroPython,就可以進(jìn)行MicroPython的程序開發(fā),并最終在板子上執(zhí)行MicroPython。為了推廣MicroPython,Arduino官方也另立一個(gè)網(wǎng)站來(lái)推廣,網(wǎng)址為labs.arduino.cc
Arduino Labs官網(wǎng)畫面
值得注意的是,釋出開發(fā)板的新韌體并不表示后續(xù)也同樣只有Arduino官方的開發(fā)板會(huì)支持MicroPython,Arduino官方希望有更多的非官方板卡也能支持響應(yīng)Arduino Lab for MicroPython,自己只是起個(gè)頭示范。
因?yàn)橐磺械陌l(fā)展都還在很前期,所以Arduino官方稱Arduino Lab for MicroPython是一套輕量(lightweight)編輯器,也尚不能稱是正式產(chǎn)品,而是一個(gè)體驗(yàn)工具(experimental tool),之所以現(xiàn)階段就釋出就是希望多聽聽各方的意見,看看能否逐漸改進(jìn)成熟,但也不保證最終可以成為完整產(chǎn)品。
Arduino Labs官網(wǎng)上也開始有Arduino Labfor MicroPython相關(guān)的創(chuàng)客項(xiàng)目,一是Include Robot,是一個(gè)用3D打印做成的自走車,可以使用Arduino Nano 33 BLE、BLE Sense、33 IoT,以及Arduino RP2040 Connect等電路板來(lái)驅(qū)動(dòng);二是BLE Dashboard,是一個(gè)儀表板項(xiàng)目,可用來(lái)顯示傳感器數(shù)據(jù),使用的板子是Arduino Nano 33 BLE Sense或Nicla Sense ME。
MicroPython vs. CircuitPython
最后,或許有些人仍不太了解MicroPython、CircuitPython的區(qū)別。MicroPython的淵源來(lái)自前述的Damien George(澳洲程序員、物理學(xué)家)曾于群眾募資網(wǎng)站Kickstarter上發(fā)起一個(gè)募資,希望能生產(chǎn)銷售一片名為PyBoard(有時(shí)寫成pyboard)的開發(fā)板,并讓購(gòu)買該板的用戶,能使用修改版的Python來(lái)撰寫該開發(fā)板的控制程序,該修改版的Python即為Micro Python(當(dāng)時(shí)發(fā)起時(shí)兩個(gè)字之間有空格,之后連寫)。
本來(lái)只想募15,000英鎊(發(fā)起者可以自行決定募資的幣別),募資天數(shù)30天,但最終由1,931名支持者共籌募了97,803英鎊,PyBoard項(xiàng)目成立并順利生產(chǎn)交貨。自此之后有更多的芯片、板卡支持MicroPython,如ESP8266芯片、ESP32芯片、BBC Micro:bit、Raspberry Pi Pico,以及STMicro公司的STM32系列等。
至于CircuitPython則是由Adafruit以MicroPython為基礎(chǔ)的衍生發(fā)展,既然由Adafruit所提出,自然Adafruit所推出的板卡最支持CircuitPython,但由于一樣是開放源代碼的項(xiàng)目,也是有其他板卡支持CircuitPython,例如SparkFun、Seeed Studio、Arduino等均有推出支援CircuitPython的板卡。
至于兩者使用上有何差異,其實(shí)CircuitPython只是更方便入門者學(xué)習(xí)與除錯(cuò),而不是比MicroPython強(qiáng)大。CircuitPython無(wú)法共享狀態(tài)所以同時(shí)間只能執(zhí)行一個(gè)工作,如果正在用計(jì)算機(jī)與板卡進(jìn)行REPL(Read–Eval–Print Loop)模式互動(dòng),這時(shí)就無(wú)法執(zhí)行板子上的 .py檔案程序。
其他差異還有CircuitPython的API比較精簡(jiǎn),有些CircuitPython的API是直接以低階硬件動(dòng)作來(lái)實(shí)現(xiàn),如此可以省去引用一堆函式庫(kù)與額外的指令。總之,希望此一新推展能獲得夠多夠好的回饋意見,從而盡快發(fā)展成熟,使創(chuàng)客在控制程序的開發(fā)上有更多的選擇。
審核編輯:湯梓紅
-
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75360 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192267 -
Micropython
+關(guān)注
關(guān)注
0文章
68瀏覽量
5319
原文標(biāo)題:Arduino開始將MicroPython納入生態(tài)系
文章出處:【微信號(hào):易心Microbit編程,微信公眾號(hào):易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
地物光譜儀在多維生態(tài)系統(tǒng)監(jiān)測(cè)中的應(yīng)用

《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)
如何借助大語(yǔ)言模型打造人工智能生態(tài)系統(tǒng)

如何在光子學(xué)中利用電子生態(tài)系統(tǒng)

安森美PRISM生態(tài)系統(tǒng)助力相機(jī)開發(fā)

AMAZINGIC晶焱科技技術(shù)應(yīng)用:典范轉(zhuǎn)移 EV全生態(tài)系商機(jī) - The CAN SIC Transceiver Is Ready To Go.

英監(jiān)管機(jī)構(gòu)或優(yōu)先調(diào)查蘋果谷歌移動(dòng)生態(tài)系統(tǒng)
英國(guó)CMA將對(duì)蘋果谷歌移動(dòng)生態(tài)系統(tǒng)展開調(diào)查
典范轉(zhuǎn)移 EV全生態(tài)系商機(jī) - The CAN SIC Transceiver Is Ready To Go.

評(píng)論