在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CircuitPython:用于教育的嵌入式 Python

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

掃碼添加小助手

加入工程師交流群

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

盡管如此,對于新手嵌入式開發人員來說,MicroPython 還是有點挑戰。輸入CircuitPython,它是 MicroPython 語言的一個分支,經過調整以滿足學生和其他希望學習現代嵌入式系統開發的人的特定需求。自 2017 年夏季首次發布以來,由Adafruit Industries主辦的CircuitPython 語言在制造商和教育標記中的受歡迎程度一直在穩步增長。

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

CircuitPython 入門

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

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

進口板

進口數碼

導入時間

led = digitalio.DigitalInOut(board.D13)

led.direction = digitalio.Direction.OUTPUT

而真實的:

led.value = 真

時間.睡眠(0.5)

led.value = 假

時間.睡眠(0.5)

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

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

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

CircuitPython 與 MicroPython

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

所有構建都啟用了浮點數。

不支持并發。

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

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

引入存儲模塊來掛載文件系統。

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

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

Python,Python,無處不在

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

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

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

審核編輯黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4826

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux嵌入式和單片機嵌入式的區別?

    區別 單片機嵌入式系統和Linux嵌入式系統是兩種不同的嵌入式系統開發方式,它們在應用領域、開發環境、資源需求等方面都有顯著的區別。以下是它們的主要區別: 1.應用領域: 單片機嵌入式
    發表于 06-20 09:46

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

    在萬物互聯的智能化時代,將AI算法深度植入硬件終端的技術,正悄然改變著工業物聯網、智慧交通、智慧醫療等領域的創新邊界。為了助力嵌入式人工智能在教育領域實現高質量發展,飛凌嵌入式旗下教育
    的頭像 發表于 05-27 14:01 ?538次閱讀
    【新品發布】<b class='flag-5'>嵌入式</b>人工智能實驗箱EDU-AIoT ELF 2正式發布

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

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

    嵌入式開發入門指南:從零開始學習嵌入式

    隨著物聯網、智能硬件的發展,嵌入式開發成為熱門技能之一。以下將為初學者提供一份詳細的嵌入式開發入門指南,涵蓋學習路徑、必備工具、推薦資源等內容。 1. 嵌入式系統的定義與應用嵌入式系統
    發表于 05-15 09:29

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

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

    Python嵌入式系統中的應用場景

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

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

    在現代科技領域,嵌入式系統接口作為信息交互的核心載體,發揮著至關重要的作用,各類接口通過預定義的通信協議與標準化規范,可以實現設備間的精準數據傳輸與智能控制。 作為嵌入式開發的技術基礎,接口
    的頭像 發表于 03-05 11:11 ?1784次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>教育</b>科普|GPIO接口全面解析

    嵌入式主板選型與應用指南

    嵌入式主板是專為嵌入式系統設計的核心硬件平臺,廣泛應用于工業控制、物聯網、醫療設備等領域。以下是關于嵌入式主板的詳細介紹:1.嵌入式主板的核
    的頭像 發表于 02-27 14:53 ?498次閱讀
    <b class='flag-5'>嵌入式</b>主板選型與應用指南

    嵌入式主板的概述與發展

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

    ARM架構嵌入式主板特點

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

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術應用于嵌入式系統中的一種技術。嵌入式系統是嵌入到其他設備或系統中的計算機系統,通常
    的頭像 發表于 12-11 09:23 ?977次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能

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

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

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

    嵌入式主板,通常被稱為嵌入式系統的核心組件,是一種用于控制和數據處理的計算機硬件,其設計旨在嵌入特定設備中執行專門任務。嵌入式主板如同是設備
    的頭像 發表于 09-30 10:05 ?1594次閱讀

    飛凌嵌入式旗下教育品牌ElfBoard亮相全國大學生嵌入式競賽總決賽現場

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

    嵌入式熱門領域有哪些?

    另一個備受關注的領域,已經在汽車行業展現出革命性的影響。在自動駕駛領域,嵌入式系統的重要性日益突出,它們被廣泛應用于與傳感器和控制系統配合,實現車輛的自主運行。自動駕駛技術的急速發展為嵌入式系統工程
    發表于 07-16 09:23
    主站蜘蛛池模板: 555成人免费影院 | 亚洲不卡视频 | 天堂新版www中文 | 亚洲国产精品va在线观看麻豆 | 日韩大胆 | 毛片新网址 | 欧美极品在线播放 | 日韩综合nv一区二区在线观看 | 日本资源在线 | 黄色软件合集 | 亚洲成a人片毛片在线 | 伊人丁香婷婷综合一区二区 | 2021日本三级理论影院 | 天天干天天色综合网 | 色多多成视频人在线观看 | 高清一级毛片一本到免费观看 | 三级在线看 | 免费在线欧美 | aⅴ天堂 | 午夜在线观看视频在线播放版 | 5252欧美在线观看 | 亚洲视频色| 黄色插插插| 国产美女免费 | 免费一级视频在线播放 | 在线免费看污视频 | 一区二区三区亚洲视频 | 国产99在线| 四虎精品成在线播放 | 欧美三级免费观看 | 一级片视频在线观看 | 国产久热精品 | 天堂中文在线www | 天天爽天天干 | 免费午夜不卡毛片 | 视色4setv.com | 人人天天爱天天做天天摸 | 九九涩| 午夜寂寞在线一级观看免费 | 亚洲福利秒拍一区二区 | 日本人的色道免费网站 |