Micro Bit
来自维基百科,自由的百科全书
Micro Bit(也叫做BBC Micro Bit,或風格化為micro:bit)是基於ARM架構的單板電腦,由英國廣播公司(BBC)設計,用於英國的電腦教育。
![]() | |
![]() BBC micro:bit v1版的背面。 | |
研發商 | BBC Learning, BBC R&D, ARM Holdings, Nordic Semiconductor, NXP Semiconductors, Lancaster University, Microsoft, Python Software Foundation, element14, TechnologyUs, Samsung, ScienceScope, Barclays |
---|---|
類型 | 單板微控制器 |
發布日期 | 學校:2015年9月(延期) 公眾:2015年10月(延期) 首次遞交給教師於2016年2月[1] |
系統晶片 | Nordic nRF51822 SoC。 |
中央處理器 | 16 MHz ARM Cortex-M0微控制器。 |
記憶體 | 256 KB Flash,16 KB RAM。 |
連接介面 | Bluetooth LE,MicroUSB,邊緣連接器。 |
網站 | microbit |
電路板大小為4cm×5cm,擁有1個ARM Cortex-M0處理器,內建加速度感測器和磁力感測器,通訊介面包括藍牙和USB,可透過網頁編程,直接把程式匯入。顯示器由25個 (5*5) 紅色LED組成,可以顯示單色圖案或動畫。2個可程式化按鈕,可以用USB或者外部電池包來供電[2]。裝置輸入和輸出為環孔連接器和邊緣連接器。
硬體

裝置大小可描述為信用卡的一半大小[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]。
版本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)和一個輕觸感測器按鈕。
軟體
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]。
在成功的於英國推出了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.