一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CircuitPython:用于教育的嵌入式 Python

gfhtrdfd ? 2022-12-29 10:02 ? 次閱讀

“變化是唯一不變的”是希臘哲學(xué)家赫拉克利特的智慧明珠。這一點(diǎn)在數(shù)字電子世界中最為真實(shí)。C 語言是 1970 年代初期計(jì)算熱潮的產(chǎn)物,自從 BASIC 語言放棄其對(duì)微控制器編程的統(tǒng)治地位以來,它就一直主導(dǎo)著嵌入式開發(fā)。今天風(fēng)向又變了,這次轉(zhuǎn)向了日益流行的 Python 編程語言。MicroPython 在過去幾年出現(xiàn),以彌合面向桌面的 CPython 參考語言與相對(duì)有限的微控制器硬件規(guī)格之間的差距。

盡管如此,對(duì)于新手嵌入式開發(fā)人員來說,MicroPython 還是有點(diǎn)挑戰(zhàn)。輸入CircuitPython,它是 MicroPython 語言的一個(gè)分支,經(jīng)過調(diào)整以滿足學(xué)生和其他希望學(xué)習(xí)現(xiàn)代嵌入式系統(tǒng)開發(fā)的人的特定需求。自 2017 年夏季首次發(fā)布以來,由Adafruit Industries主辦的CircuitPython 語言在制造商和教育標(biāo)記中的受歡迎程度一直在穩(wěn)步增長。

在其當(dāng)前迭代中,即本文的 6.1.0 版,CircuitPython 支持由 Microchip Technology Atmel SAMD21和SAMD51微控制器以及 Nordic Semiconductor nRF52840片上系統(tǒng) (SoC) 提供支持的眾多開發(fā)板。以前的 CircuitPython 版本支持流行的 ESP8266 微控制器,但從版本 4 開始不再支持。雖然 CircuitPython 在許多方面與 MicroPython 相似,但它確實(shí)去除了復(fù)雜性并為那些剛剛接觸嵌入式電子產(chǎn)品的人提供了更直接的開發(fā)工作流程。

CircuitPython 入門

首先,與 MicroPython 一樣,CircuitPython 需要將特殊固件上傳到開發(fā)板,稱為 USB 閃存版本 2 或 UF2。許多受支持的開發(fā)板都預(yù)裝了固件。但是,所有開發(fā)板都提供一種機(jī)制,使系統(tǒng)進(jìn)入引導(dǎo)加載程序模式,從而允許刷新 UF2 固件。UF2 固件特定于每個(gè)開發(fā)板,因此請(qǐng)確保下載特定于您的開發(fā)板的最新固件。CircuitPython網(wǎng)站使這項(xiàng)任務(wù)變得簡(jiǎn)單。將開發(fā)板插入計(jì)算機(jī)并啟用引導(dǎo)加載程序模式后,開發(fā)板應(yīng)顯示為名為BOOT的閃存驅(qū)動(dòng)器。只需將之前下載的UF2文件拖入BOOT的根目錄即可駕駛。成功安裝后,將出現(xiàn)一個(gè)名為CIRCUITPY的新驅(qū)動(dòng)器。至此,開發(fā)板已經(jīng)為它的第一個(gè)項(xiàng)目做好了準(zhǔn)備。

雖然任何代碼編輯器都可用于編輯 CircuitPython 源文件 (.py ),但建議初學(xué)者使用Mu 編輯器。安裝并運(yùn)行編輯器后,只需單擊“新建”按鈕即可創(chuàng)建一個(gè)空白的 Python 腳本文件。有大量示例代碼可以滿足幾乎所有需求。當(dāng)然,舉世聞名的Blinky LED就是硬件世界的Hello, World。這是一個(gè)閃爍 LED 的示例:

進(jìn)口板

進(jìn)口數(shù)碼

導(dǎo)入時(shí)間

led = digitalio.DigitalInOut(board.D13)

led.direction = digitalio.Direction.OUTPUT

而真實(shí)的:

led.value = 真

時(shí)間.睡眠(0.5)

led.value = 假

時(shí)間.睡眠(0.5)

輸入代碼后,將文件命名為code.py并將其保存到CIRCUITPY驅(qū)動(dòng)器的根目錄。如果您將文件保存在其他地方,例如桌面,只需單擊文件并將其從桌面拖動(dòng)到CIRCUITPY驅(qū)動(dòng)器圖標(biāo)即可。重要說明,文件名對(duì) CircuitPython 很重要,因?yàn)橛行┪募菫樘厥饽康谋A舻?。code.py 文件在每次重新加載后運(yùn)行。要建立僅在啟動(dòng)時(shí)運(yùn)行一次的任何設(shè)置函數(shù),請(qǐng)將該代碼放在名為boot.py的文件中。

CircuitPython 的一個(gè)很好的特性是它可以檢測(cè)到任何時(shí)候添加或更新文件并自動(dòng)重新啟動(dòng)代碼。無需按下重置按鈕或拔下/重新插入開發(fā)板的 USB 電纜。所有源代碼都保留為用戶可讀文件,因此您可以將開發(fā)板連接到任何計(jì)算機(jī)并以零配置管理工作進(jìn)行代碼更改。換句話說,您始終在設(shè)備上擁有最新的源代碼。

CircuitPython 通過使用庫使擴(kuò)展功能變得非常簡(jiǎn)單。在CIRCUITPY驅(qū)動(dòng)器的根文件夾中,應(yīng)該有一個(gè)名為 lib 的文件夾。如果沒有,使用計(jì)算機(jī)的文件資源管理器從頭開始創(chuàng)建文件夾是安全的。這是存儲(chǔ)添加功能或與傳感器和執(zhí)行器交互所需的所有支持文件的地方。CircuitPython 提供標(biāo)準(zhǔn)的庫包,這些庫在 CircuitPython 開發(fā)人員中很受歡迎。這些庫文件針對(duì)嵌入式設(shè)備進(jìn)行了顯式優(yōu)化,并以 . MPY文件擴(kuò)展名。確保庫包的版本號(hào)與您正在使用的 CircuitPython 的版本號(hào)相匹配至關(guān)重要。在升級(jí) CircuitPython 固件時(shí),不要忘記同時(shí)升級(jí)庫包。

CircuitPython 與 MicroPython

CircuitPython 和 MicroPython 之間的其他一些主要區(qū)別包括:

所有構(gòu)建都啟用了浮點(diǎn)數(shù)。

不支持并發(fā)。

CircuitPython 中引入了一種安全模式,可在檢測(cè)到硬崩潰或掉電情況時(shí)阻止用戶代碼運(yùn)行。

模塊別名不可用。換句話說,uos和utime模塊不能作為os和time 使用。為了保持 CPython 兼容性,CircuitPython 操作系統(tǒng)和時(shí)間模塊是其 CPython 對(duì)應(yīng)項(xiàng)的子集。因此,CircuitPython 代碼在 CPython 中是可執(zhí)行的,但反之則不一定。

引入存儲(chǔ)模塊來掛載文件系統(tǒng)。

與其他 Python 版本一樣,CircuitPython 通過讀取-評(píng)估-打印循環(huán) (REPL) 終端提供交互式編程體驗(yàn)。對(duì)于 CircuitPython,可以在主代碼完成后通過串行終端連接到電路板并按鍵盤上的任意鍵進(jìn)入 REPL 環(huán)境。輸入 REPL 會(huì)禁用自動(dòng)重新加載功能。

CircuitPython 的另一個(gè)令人興奮的方面是Blinka。雖然 CircuitPython 在微控制器上運(yùn)行,但 Blinka 將 CircuitPython 庫帶到了微型個(gè)人計(jì)算機(jī)上,這些個(gè)人計(jì)算機(jī)被稱為單板計(jì)算機(jī) (SBC),例如 Raspberry Pi。對(duì)于那些來自桌面開發(fā)人員背景的人,Blinka 使 MicroPython 成為可在面向桌面的 Python 版本中運(yùn)行的 pip 可安裝 Python 庫,從而使使用與 SBC 相同的庫與各種傳感器和執(zhí)行器交互成為可能用于微控制器。

Python,Python,無處不在

CircuitPython 是進(jìn)入嵌入式系統(tǒng)軟件開發(fā)“Python 化”的激動(dòng)人心的入口。它的設(shè)計(jì)簡(jiǎn)單,加上強(qiáng)大的功能集,使其成為教育工作者和創(chuàng)客等人的誘人編程語言。CircuitPython 還為專業(yè)人士提供了獨(dú)特的機(jī)會(huì)。對(duì)于嵌入式工程師來說,學(xué)習(xí) Python 等強(qiáng)大語言的機(jī)會(huì)有助于教授桌面和 Web 應(yīng)用程序技能。對(duì)于傳統(tǒng)的桌面應(yīng)用程序軟件開發(fā)人員,CircuitPython 提供了一種將他們的編碼技能從 PC 遷移到嵌入式系統(tǒng)的方法。

無論您的經(jīng)驗(yàn)如何,CircuitPython 都是嵌入式開發(fā)領(lǐng)域值得一提的新編程語言。它的獨(dú)特功能使嵌入式開發(fā)入門變得輕而易舉,同時(shí)還提供了一些新概念,這些概念也應(yīng)該會(huì)吸引資深程序員。CircuitPython 是嵌入式開發(fā)編程語言傳奇歷史中一個(gè)受歡迎的新成員。

我們想知道您是否有使用 CircuitPython 的經(jīng)驗(yàn)?在Twitter 上與我們聯(lián)系并與我們分享您的 CircuitPython 支持的項(xiàng)目!有興趣開始使用 CircuitPython,請(qǐng)查看此Adafruit CircuitPython 入門工具包。

審核編輯黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4822

    瀏覽量

    85855
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式教育科普|SPI接口全面解析

    在現(xiàn)代科技領(lǐng)域,嵌入式系統(tǒng)接口作為信息交互的核心樞紐,扮演著不可或缺的角色。
    的頭像 發(fā)表于 03-24 16:45 ?1122次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>教育</b>科普|SPI接口全面解析

    Python嵌入式系統(tǒng)中的應(yīng)用場(chǎng)景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢(shì)在于其簡(jiǎn)潔的語法、豐富的
    的頭像 發(fā)表于 03-19 14:10 ?390次閱讀

    嵌入式教育科普|GPIO接口全面解析

    在現(xiàn)代科技領(lǐng)域,嵌入式系統(tǒng)接口作為信息交互的核心載體,發(fā)揮著至關(guān)重要的作用,各類接口通過預(yù)定義的通信協(xié)議與標(biāo)準(zhǔn)化規(guī)范,可以實(shí)現(xiàn)設(shè)備間的精準(zhǔn)數(shù)據(jù)傳輸與智能控制。 作為嵌入式開發(fā)的技術(shù)基礎(chǔ),接口
    的頭像 發(fā)表于 03-05 11:11 ?1343次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>教育</b>科普|GPIO接口全面解析

    嵌入式主板選型與應(yīng)用指南

    嵌入式主板是專為嵌入式系統(tǒng)設(shè)計(jì)的核心硬件平臺(tái),廣泛應(yīng)用于工業(yè)控制、物聯(lián)網(wǎng)、醫(yī)療設(shè)備等領(lǐng)域。以下是關(guān)于嵌入式主板的詳細(xì)介紹:1.嵌入式主板的核
    的頭像 發(fā)表于 02-27 14:53 ?285次閱讀
    <b class='flag-5'>嵌入式</b>主板選型與應(yīng)用指南

    小身材大能量:解讀小尺寸嵌入式主板

    ,就帶大家一同深入了解小尺寸嵌入式主板。小尺寸嵌入式主板特點(diǎn)小尺寸嵌入式主板,尺寸規(guī)格相對(duì)緊湊,專為特定應(yīng)用場(chǎng)景和設(shè)備量身定制的主板。它們被設(shè)計(jì)用于
    的頭像 發(fā)表于 02-17 18:02 ?435次閱讀
    小身材大能量:解讀小尺寸<b class='flag-5'>嵌入式</b>主板

    嵌入式主板的概述與發(fā)展

    隨著科技的迅猛發(fā)展,嵌入式系統(tǒng)在現(xiàn)代電子產(chǎn)品中扮演著越來越重要的角色。嵌入式主板作為嵌入式系統(tǒng)的核心組件之一,承擔(dān)著控制、處理和通訊等多種功能。本文將對(duì)嵌入式主板的基本概念、構(gòu)成部分、
    的頭像 發(fā)表于 01-13 16:30 ?607次閱讀
    <b class='flag-5'>嵌入式</b>主板的概述與發(fā)展

    ARM架構(gòu)嵌入式主板特點(diǎn)

    嵌入式主板可以理解為嵌入在設(shè)備中用于控制和數(shù)據(jù)處理的CPU板,也就是設(shè)備的“大腦”。當(dāng)主板嵌入到設(shè)備中,當(dāng)然對(duì)主板的體積和功耗會(huì)有更嚴(yán)格的要求(嵌入
    的頭像 發(fā)表于 12-31 16:03 ?749次閱讀
    ARM架構(gòu)<b class='flag-5'>嵌入式</b>主板特點(diǎn)

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術(shù)應(yīng)用于嵌入式系統(tǒng)中的一種技術(shù)。嵌入式系統(tǒng)是嵌入到其他設(shè)備或系統(tǒng)中的計(jì)算機(jī)系統(tǒng),通常
    的頭像 發(fā)表于 12-11 09:23 ?763次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    。這兩者的結(jié)合,為智能設(shè)備和智能系統(tǒng)的發(fā)展提供了強(qiáng)大的動(dòng)力。 一、嵌入式系統(tǒng)與物聯(lián)網(wǎng)的基本概念 嵌入式系統(tǒng) 嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),它被設(shè)計(jì)用于控制和管理特定的設(shè)備或系統(tǒng)。這
    的頭像 發(fā)表于 11-06 10:23 ?854次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運(yùn)行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計(jì)算機(jī)的硬件和軟件嵌入到某種設(shè)備或系統(tǒng)中,以實(shí)現(xiàn)特定功能的計(jì)算
    的頭像 發(fā)表于 10-16 10:14 ?2305次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?1368次閱讀

    飛凌嵌入式旗下教育品牌ElfBoard亮相全國大學(xué)生嵌入式競(jìng)賽總決賽現(xiàn)場(chǎng)

    ElfBoard作為嵌入式教育市場(chǎng)的新生力量,憑借母公司飛凌嵌入式多年深耕企業(yè)級(jí)嵌入式板卡的經(jīng)驗(yàn)亮相全國嵌賽總決賽現(xiàn)場(chǎng),希望將企業(yè)的實(shí)踐經(jīng)驗(yàn)與高校的理論研究相結(jié)合,共同推動(dòng)產(chǎn)學(xué)研結(jié)合,
    的頭像 發(fā)表于 08-15 09:39 ?895次閱讀
    飛凌<b class='flag-5'>嵌入式</b>旗下<b class='flag-5'>教育</b>品牌ElfBoard亮相全國大學(xué)生<b class='flag-5'>嵌入式</b>競(jìng)賽總決賽現(xiàn)場(chǎng)

    嵌入式熱門領(lǐng)域有哪些?

    另一個(gè)備受關(guān)注的領(lǐng)域,已經(jīng)在汽車行業(yè)展現(xiàn)出革命性的影響。在自動(dòng)駕駛領(lǐng)域,嵌入式系統(tǒng)的重要性日益突出,它們被廣泛應(yīng)用于與傳感器和控制系統(tǒng)配合,實(shí)現(xiàn)車輛的自主運(yùn)行。自動(dòng)駕駛技術(shù)的急速發(fā)展為嵌入式系統(tǒng)工程
    發(fā)表于 07-16 09:23

    嵌入式系統(tǒng)怎么學(xué)?

    、C++或者Python。這些語言在嵌入式系統(tǒng)開發(fā)中都被廣泛應(yīng)用。 3、微處理器/微控制器架構(gòu):學(xué)習(xí)常見的微處理器和微控制器架構(gòu),如ARM、AVR、PIC等,了解其特性和應(yīng)用場(chǎng)景。 4、嵌入式系統(tǒng)開發(fā)
    發(fā)表于 07-02 10:10

    第61屆高博會(huì)圓滿閉幕,飛凌嵌入式教育品牌ElfBoard精彩回顧

    4月15~17日,備受矚目的第61屆中國高等教育博覽會(huì)在福州隆重舉行,在這場(chǎng)匯聚了眾多高等院校、教育精英與科技創(chuàng)新成果的盛會(huì)上,飛凌嵌入式旗下的教育品牌ElfBoard盛裝亮相,這是品
    的頭像 發(fā)表于 05-27 17:03 ?452次閱讀
    第61屆高博會(huì)圓滿閉幕,飛凌<b class='flag-5'>嵌入式</b><b class='flag-5'>教育</b>品牌ElfBoard精彩回顧