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

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

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

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

CircuitPython:用于教育的嵌入式 Python

gfhtrdfd ? 2022-12-29 10:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

盡管如此,對于新手嵌入式開發(fā)人員來說,MicroPython 還是有點挑戰(zhàn)。輸入CircuitPython,它是 MicroPython 語言的一個分支,經(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 相似,但它確實去除了復(fù)雜性并為那些剛剛接觸嵌入式電子產(chǎn)品的人提供了更直接的開發(fā)工作流程。

CircuitPython 入門

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

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

進(jìn)口板

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

導(dǎo)入時間

led = digitalio.DigitalInOut(board.D13)

led.direction = digitalio.Direction.OUTPUT

而真實的:

led.value = 真

時間.睡眠(0.5)

led.value = 假

時間.睡眠(0.5)

輸入代碼后,將文件命名為code.py并將其保存到CIRCUITPY驅(qū)動器的根目錄。如果您將文件保存在其他地方,例如桌面,只需單擊文件并將其從桌面拖動到CIRCUITPY驅(qū)動器圖標(biāo)即可。重要說明,文件名對 CircuitPython 很重要,因為有些文件名是為特殊目的保留的。code.py 文件在每次重新加載后運(yùn)行。要建立僅在啟動時運(yùn)行一次的任何設(shè)置函數(shù),請將該代碼放在名為boot.py的文件中。

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

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

CircuitPython 與 MicroPython

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

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

不支持并發(fā)。

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

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

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

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

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

Python,Python,無處不在

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

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

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

審核編輯黃昊宇

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

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86829
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    飛凌嵌入式旗下教育品牌ElfBoard與河北傳媒學(xué)院-人工智能學(xué)院,成功舉辦“產(chǎn)教融合”溝通會

    飛凌嵌入式旗下教育品牌ElfBoard與河北傳媒學(xué)院-人工智能學(xué)院共同召開“產(chǎn)教融合”溝通會
    的頭像 發(fā)表于 07-01 09:18 ?1210次閱讀
    飛凌<b class='flag-5'>嵌入式</b>旗下<b class='flag-5'>教育</b>品牌ElfBoard與河北傳媒學(xué)院-人工智能學(xué)院,成功舉辦“產(chǎn)教融合”溝通會

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    區(qū)別 單片機(jī)嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是兩種不同的嵌入式系統(tǒng)開發(fā)方式,它們在應(yīng)用領(lǐng)域、開發(fā)環(huán)境、資源需求等方面都有顯著的區(qū)別。以下是它們的主要區(qū)別: 1.應(yīng)用領(lǐng)域: 單片機(jī)嵌入式
    發(fā)表于 06-20 09:46

    【新品發(fā)布】嵌入式人工智能實驗箱EDU-AIoT ELF 2正式發(fā)布

    在萬物互聯(lián)的智能化時代,將AI算法深度植入硬件終端的技術(shù),正悄然改變著工業(yè)物聯(lián)網(wǎng)、智慧交通、智慧醫(yī)療等領(lǐng)域的創(chuàng)新邊界。為了助力嵌入式人工智能在教育領(lǐng)域?qū)崿F(xiàn)高質(zhì)量發(fā)展,飛凌嵌入式旗下教育
    的頭像 發(fā)表于 05-27 14:01 ?576次閱讀
    【新品發(fā)布】<b class='flag-5'>嵌入式</b>人工智能實驗箱EDU-AIoT ELF 2正式發(fā)布

    飛凌嵌入式旗下教育品牌ElfBoard即將亮相「第63屆高等教育博覽會」

    :服務(wù)高等教育強(qiáng)國建設(shè)"為主題,旨在搭建高等教育全要素協(xié)同發(fā)展平臺。飛凌嵌入式旗下教育品牌ElfBoard依托自身技術(shù)優(yōu)勢,助力高校教師制定嵌入式
    的頭像 發(fā)表于 05-15 13:34 ?506次閱讀
    飛凌<b class='flag-5'>嵌入式</b>旗下<b class='flag-5'>教育</b>品牌ElfBoard即將亮相「第63屆高等<b class='flag-5'>教育</b>博覽會」

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學(xué)者提供一份詳細(xì)的嵌入式開發(fā)入門指南,涵蓋學(xué)習(xí)路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用嵌入式系統(tǒng)
    發(fā)表于 05-15 09:29

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

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

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

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

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

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

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

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

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

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

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

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

    什么是嵌入式人工智能

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

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

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

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

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

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

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