热门问题
时间线
聊天
视角
Micro Bit
来自维基百科,自由的百科全书
Remove ads
Micro Bit(也叫做BBC Micro Bit,或風格化為micro:bit)是基於ARM架構的單板電腦,由英國廣播公司(BBC)設計,用於英國的計算機教育。
電路板大小為4cm×5cm,擁有1個ARM Cortex-M0處理器,內建加速度傳感器和磁力傳感器,通訊介面包括藍牙和USB,可透過網頁編程,直接把程式導入。顯示屏由25個 (5*5) 紅色LED組成,可以顯示單色圖案或動畫。2個可編程按鈕,可以用USB或者外部電池包來供電[2]。設備輸入和輸出為環孔連接器和邊緣連接器。
Remove ads
硬件

設備大小可描述為信用卡的一半大小[3],首發的最終製造產品[4][update],實測為43mm×52mm,它包括有:
- Nordic nRF51822 SoC – 16 MHz 32-bit ARM Cortex-M0微控制器,包含了256 KB閃存,16 KB靜態內存,集成了2.4 GHz藍牙低功耗協議棧和Nordic專有RF無線傳輸協議的模塊[2][5][6][7][8],nRF51由於低功耗設計,不內置SysTick可編程間隔定時器。
- NXP/Freescale KL26Z MCU – 48 MHz 32-bit ARM Cortex-M0+核心微控制器,包含了全速USB 2.0 OTG控制器等。它擔任串行及調試適配器[9],是在用戶計算機和nRF51目標MCU之間的接口MCU,用戶PC通過USB HID類連接經由接口MCU對目標MCU進行調試(JTAG-AP)和刷寫程序(MEM-AP)[10],並通過CDC類連接經由接口MCU與目標MCU進行串行通信[11]。
- 三軸加速度傳感器 – 經由I²C總線[12],v1.3*版是NXP/Freescale MMA8652,v1.5版是運動傳感器ST LSM303AGR。
- 磁力傳感器 – 經由I²C總線,可充當羅盤等[12],v1.3*版是NXP/Freescale MAG3110,v1.5版併入運動傳感器ST LSM303AGR。
- 前面有由25個LED構成5×5矩陣的顯示屏[8]。
- 3個觸覺按鈕,前面2個為用戶按鈕A和B,背面1個為reset[13]。
- 背面有MicroUSB連接器,和電池連接器[2][8][12][14]。
I/O包括環孔連接器:3個GPIO(P0、P1、P2),1個電源正極(3V),1個接地即電源負極(GND),它們接納鱷魚夾或4mm香蕉插頭[13];邊緣連接器針腳(也稱為金手指)的標號,依次為micro:bit設備抽象層(DAL)指定的:P3、P0、P4-P7、P1、P8-P12、P2、P13-P16、3V(3個)、P19-P20、GND(3個),共19個可設置的GPIO(未引出內部使用的P17、P18)。其中5個可完全自由使用(P0-P2、P8、P16),6個共用於LED陣列顯示屏(P3、P4、P6、P7、P9、P10),2個共用於按鈕A、B(P5、P11),1個保留給無障礙接口輸入(P12);可設置出1路SPI總線(P13-P15),1路I²C總線(P19-P20),1對UART串行收發;可設置出6個模擬輸入(P0-P4、P10),3個觸摸感應輸入(P0-P2),3個PWM輸出[15]。
在連接了USB的情況下,KL26Z負責對這個PCB餘下部份供電,將USB供給的5V±5%電壓規整降至3.3V。KL26Z限定最大電流120mA,電源環孔或針腳輸出可能只餘下90mA。在使用電池連接器供電時,電池不為KL26Z供電,nRF51供電和電源環孔或針腳輸出都來自電池。還可以謹慎的從電源環孔或針腳向micro:bit供電,從電池連接器、環孔或針腳擇一供電時都不可超過3.6V極值[16]。
Remove ads
版本2(v2)在2020年10月13日發行,包括了[17]:
- Nordic nRF52833 – 64 MHz 32-bit ARM Cortex-M4微控制器,512 KB閃存,128 KB靜態內存,Nordic S113 SoftDevice[18]提供的2.4 GHz藍牙低功耗無線網絡,集成的溫度傳感器。
- NXP/Freescale KL27Z – 48 MHz ARM Cortex-M0+核心微控制器,預編程為全速USB 2.0控制器,用在USB和CPU之間的通線接口。
- 要麼ST LSM303要麼NXP FXOS8700 – 三軸的組合加速度和磁力傳感器,經由I²C總線。
- Knowles MEMS麥克風,具有內建LED指示燈。
- Jiangsu Huaneng MLT-8530電磁式揚聲器。
- MicroUSB連接器,JST PH電池連接器,25針邊緣連接器。
- 由25個LED構成的5×5矩陣顯示屏。
- 三個觸覺按鈕(兩個給應用,一個給reset)和一個觸摸傳感器按鈕。
Remove ads
軟件
Micro Bit的軟件是使用ARM Mbed開發工具建立的[22],並且採用了其應用程序接口DAPLink[23],設備在連接到計算機的時候,是作為一個USB大容量存儲設備而出現的[14]。蘭卡斯特大學開發了micro:bit運行時系統(有時稱為硬件抽象層),提供了事件驅動編程和鍵-值存儲機制[24],採用了Nordic半導體的nRF51 SDK[25]和S110 SoftDevice[26],以及Mbed的BLE API[27],並與藍牙技術聯盟協作開發了定製的BLE profile[28]。用戶用C/C++語言編寫的應用程序,可以通過Mbed在線編譯器[22]、Mbed CLI[29]、GNU MCU Eclipse[30]或Keli µVISION[31]等開發工具,利用ARM編譯器[32]或GNU ARM工具鏈[33]來進行編譯,編譯後的目標代碼接着通過USB連接或手機app藍牙連接而被刷寫到設備中。
在micro:bit基金會網站[34]上有側重於教育的2個官方在線代碼編輯器:
- Microsoft MakeCode[35],是JavaScript Blocks編輯器和瀏覽器內編譯器,曾經稱為Microsoft PXT編輯器,PXT[36](編程實驗工具包)完全在用戶瀏覽器中運行,它通過內置的ARM Thumb編譯器生成目標代碼,瀏覽器同時還裝載了預編譯的micro:bit運行時系統,從而與用戶目標代碼鏈接成最終目標代碼,還可以在刷寫入設備之前在內置的micro:bit模擬器中見到它的運行效果[37]。
- MicroPython,是完整的Python 3語言實現,包含了Python標準庫的一個小子集,帶有音樂編程語言和語音合成器,本地文件系統,被推薦用於做進一步的編程實驗[38][39]。用戶可以在web編輯器中寫Python腳本,其源代碼被附加於MicroPython實現固件的後面,把這個最終複合固件下載後刷寫到設備中,MicroPython運行後將附隨的源代碼編譯成字節碼並在虛擬機中運行,由於內存限制在MicroPython內未啟用nRF51的藍牙協議棧[40]。可以通過USB串行連接訪問MicroPython REPL,從而可直接交互於Micro Bit的外設。MicroPython的編輯器還有給初學者在PC上用Mu[41],和在線blocks編輯器EduBlocks[42]。
針對micro:bit的其他開發工具有:
- Espruino[43],是面向網絡應用開發的JavaScript解釋器固件[44],解釋器有運行狀態持久保存和復位機制,支持內聯匯編語言,由於將micro:bit的內存大量用於了藍牙功能,不提供ES6特徵和高級庫函數。可以通過USB串行連接,或通過在支持了Web Bluetooth[45]的瀏覽器中運行Web IDE[46]對它進行交互訪問,IDE也有可選的blocks編輯器。
- Arduino nRF5[47],是針對基於Nordic半導體nRF5開發板的Arduino Core[48]。
- Node.js庫:node-bbc-microbit[49],從Node.js用BLE控制micro:bit;bbc-microbit-io[50],針對micro:bit的Johnny-Five[51](JavaScript機器人及IoT平台)IO插件。
除了micro:bit運行時系統所採用的Mbed OS 2[52],以及nRF51 SDK支持的CMSIS-RTOS RTX[53][54][55],可以在micro:bit上運行的嵌入式操作系統還有:Zephyr,Apache Mynewt,RIOT。
針對micro:bit的其他編程語言有:uLisp[56]、Mecrisp Forth[57]、Free Pascal[58]、GNAT Ada[59]、TinyGo[60]、Rust[61]、Swift[62]等。其他交互語言有Scratch3.0[63]、Dyalog APL[64]、Simulink編碼器支持包[65]、Node-RED模塊[66]、App Inventor + IoT[67]、BlockyTalkyBLE[68]等。
歷史
Micro Bit被設計用來鼓勵兒童活躍的投入為計算機書寫軟件和建造新東西,而不是成為媒體的消費者[2]。它被設計為並肩工作於其他系統,比如Raspberry Pi、Arduino[69],它也建造在BBC在計算機教育中的BBC Micro這項遺產之上[70]。
Micro Bit的開發匯集了眾多夥伴與BBC一起工作:
- ARM控股 – 提供Mbed開發工具、固件和編譯器服務[71]。
- Nordic半導體 – 為這個設備提供目標MCU和BLE協議棧[2]。
- NXP半導體 – 提供接口MCU、USB控制器和傳感器[2]。
- 藍牙技術聯盟 – 與蘭卡斯特大學協作開發定製的Bluetooth LE profile[72]。
- 蘭卡斯特大學 – 開發這個設備的運行時系統,與藍牙技術聯盟協作開發定製的Bluetooth LE profile[71]。
- 微軟 – 貢獻了自己在TypeScript等方面的軟件專門知識。它在其TouchDevelop平台上為這個設備定製了專題項目[73],還開發了這個設備的教師訓練材料[2]。
- Python軟件基金會 – 將MicroPython移植到這個設備,建立本機和基於web的初學者友好的Python代碼編輯器,出品大量教育資源並為教師建立有組織的開發者領導的工場[74][75]。
- Farnell element14 – 監督這個設備的製造[2]。
- Technology Will Save Us – 設計這個設備的物理外觀,編寫出廠演示程序[13]。
- 三星集團 – 開發Android app並幫助把設備連接到智能手機和平板電腦[71]。
- ScienceScope – 開發iOS app並把這個設備發布到學校[71]。
- 巴克萊銀行 – 提供產品遞送和外展活動[71]。
- 惠康基金會 – 為教師和學校提供學習機會[71]。
- STEMNET – 提供STEM大使來支持學校和教師並聯繫第三方比如Bloodhound SSC和Cisco[76]。
- 思科系統 – 向STEMNET提供人員和資源來資助國家首展[76]。
- Creative Digital Solutions – 開發教師材料,工場和外展活動[76]。
- Code Club – 建立一系列引導9到11歲兒童的編碼資源並通過志願者遞送運行編碼俱樂部[76]。
- Kitronik – 為BBC micro:bit生產並分發5500份e-textile kit給英國內的D&T教師。設計硬件比如Motor Driver board來允許BBC micro:bit控制設備比如電動機和伺服系統[76]。
- Tangent Design – 建立BBC micro:bit品牌標識並開發web站點[76]。
BBC研究發展部建立了原型設備和軟件棧[77],在最初宣布中進了展示[78],在學校中測試了這項提議,並為合作夥伴後續建設提供了參考規定[79]。
Remove ads
在成功的於英國推出了micro:bit之後,BBC將BBC micro:bit的未來交付給新成立的非營利性Micro:bit教育基金會[80]。從BBC到Micro:bit教育基金會的遷移首先是將官方網站從www.microbit.co.uk轉移到了microbit.org[81]。
製造
Premier Farnell負責管理BBC micro:bit的製造,監督各廠商進貨所有部件並在各自的加工工廠生產micro:bit[82]。
各地發展
於2018年,香港教育城與資訊科技教育領袖協會(AiTLE)、香港大學專業進修學院(HKUSPACE)及 Micro:bit Alliance合辦了十七場「Micro:bit 教師工作坊」,工作坊分五種程度授課,由Micro:bit的基礎功能至進階應用技巧皆有涵蓋。部份內容被納入香港中小學的資訊科技課程中[83][84]。
參見
書籍
引用
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads