热门问题
时间线
聊天
视角
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或者外部電池包來供電[3]。設備輸入和輸出為環孔連接器和邊緣連接器。
Remove ads
硬件

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