Micro Bit(也叫做BBC Micro Bit,或風格化為micro:bit)是基於ARM架構單板電腦,由英國廣播公司(BBC)設計,用於英國的電腦教育。

BBC micro:bit
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 LEMicroUSB,邊緣連接器。
網站microbit.org

電路板大小為4cm×5cm,擁有1個ARM Cortex-M0處理器,內建加速度感測器和磁力感測器,通訊介面包括藍牙USB,可透過網頁編程,直接把程式匯入。顯示器由25個 (5*5) 紅色LED組成,可以顯示單色圖案或動畫。2個可程式化按鈕,可以用USB或者外部電池包來供電[2]。裝置輸入和輸出為環孔連接器和邊緣連接器。

硬件

編輯
 
加速度感測器三軸方向

裝置大小可描述為信用卡的一半大小[3],首發的最終製造產品[4],實測為43mm×52mm,它包括有:

I/O包括環孔連接器:3個GPIO(P0、P1、P2),1個電源正極(3V),1個接地即電源負極(GND),它們接納鱷魚夾英語Crocodile clip或4mm香蕉插頭英語Banana connector[13]邊緣連接器針腳英語Pinout(也稱為金手指)的標號,依次為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]

在micro:bit v2中,可以長按3秒reset按鈕來關閉主機板[19][20][21]

軟件

編輯

Micro Bit的軟件是使用ARM Mbed開發工具建立的[22],並且採用了其編程介面DAPLink[23],裝置在連接到電腦的時候,是作為一個USB大容量儲存裝置而出現的[14]蘭卡斯特大學開發了micro:bit執行時系統(有時稱為裝置抽象層),提供了事件驅動編程和鍵-值儲存機制[24],採用了Nordic半導體英語Nordic Semiconductor的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個官方線上代碼編輯器

針對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上執行的嵌入式作業系統還有:ZephyrApache Mynewt英語Apache MynewtRIOT

針對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[69],它也建造在BBC在電腦教育中的BBC Micro這項遺產之上[70]

合作夥伴

編輯

Micro Bit的開發匯集了眾多夥伴與BBC一起工作:

BBC研究發展部英語BBC Research & Development建立了原型裝置和軟件棧[77],在最初宣佈中進了展示[78],在學校中測試了這項提議,並為合作夥伴後續建設提供了參考規定[79]

Microbit教育基金會

編輯

在成功的於英國推出了micro:bit之後,BBC將BBC micro:bit的未來交付給新成立的非營利性Micro:bit教育基金會[80]。從BBC到Micro:bit教育基金會的遷移首先是將官方網站從www.microbit.co.uk轉移到了microbit.org[81]

製造

編輯

Premier Farnell英語Premier Farnell負責管理BBC micro:bit的製造,監督各廠商進貨所有部件並在各自的加工工廠生產micro:bit[82]

各地發展

編輯

於2018年,香港教育城與資訊科技教育領袖協會(AiTLE)、香港大學專業進修學院(HKUSPACE)及 Micro:bit Alliance合辦了十七場「Micro:bit 教師工作坊」,工作坊分五種程度授課,由Micro:bit的基礎功能至進階應用技巧皆有涵蓋。部份內容被納入香港中小學的資訊科技課程[83]

參見

編輯

書籍

編輯

參照

編輯
  1. ^ Computing at School Community. [11 February 2016]. (原始內容存檔於2019-10-18). 
  2. ^ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Anthony, Sebastian. BBC Micro:bit—a free single-board PC for every Year 7 kid in the UK. arstechnica.uk. 7 July 2015 [8 July 2015]. (原始內容存檔於2017-11-08). 
  3. ^ Wired: Micro bit hands on. [2018-03-28]. (原始內容存檔於2016-05-22). 
  4. ^ Bell, Lee. BBC teams with ARM, Microsoft and Samsung to launch Micro:bit and get kids coding. The Inquirer. 7 July 2015 [2018-03-29]. (原始內容存檔於2019-12-20). 
  5. ^ Sherwin, Adam. BBC micro:bit: Can a pocket-sized computer 'inspire digital creativity' in Britain's children?. The Independent. 7 July 2015 [7 July 2015]. (原始內容存檔於2015-08-16). 
  6. ^ Austin, Jonathan. Working with the BBC on micro:bit: Part 1 – using the mbed HDK. 7 July 2015 [2018-03-29]. (原始內容存檔於2016-05-05). …we plugged them into a Nordic NRF51822 development kit, which uses the same chip as the micro:bit… 
  7. ^ Introducing the BBC micro:bit (Shockwave Flash) (Television production). BBC. 事件發生在 00:39. 7 July 2015 [2018-03-29]. (原始內容存檔於2020-10-23).  存档副本. [2018-03-29]. 原始內容存檔於2020-10-23. 
  8. ^ 8.0 8.1 8.2 Franklin-Wallis, Oliver. BBC unveils final Micro:Bit computer design. wired.co.uk. 7 July 2015 [8 July 2015]. (原始內容存檔於2015-11-01). 
  9. ^ 串行及除錯配接器頁面存檔備份,存於互聯網檔案館
  10. ^ CMSIS DAP頁面存檔備份,存於互聯網檔案館).
  11. ^ Serial Communication with a PC頁面存檔備份,存於互聯網檔案館).
  12. ^ 12.0 12.1 12.2 BBC micro:bit. mbed.org. [8 July 2015]. (原始內容存檔於2017-08-02). The BBC micro:bit is based on the mbed HDK. The target MCU is a Nordic nRF51822 with 16K RAM, 256K Flash. As well as the nRF51822 there's also an onboard accelerometer and magnetometer from Freescale. 
  13. ^ 13.0 13.1 13.2 Groundbreaking initiative to inspire digital creativity and develop a new generation of tech pioneers. BBC. [8 July 2015]. (原始內容存檔於2020-12-04). 
  14. ^ 14.0 14.1 Williams, Alun. Micro Bit reunites BBC and ARM for grand education initiative. Electronics Weekly. [8 July 2015]. (原始內容存檔於2015-07-14). 
  15. ^ Edge Connector & micro:bit pinout. [2020-09-20]. (原始內容存檔於2020-11-28). 
  16. ^ Power Supply.. [2018-04-21]. (原始內容存檔於2020-12-02). 
  17. ^ 存档副本. [2018-12-07]. (原始內容存檔於2022-02-01). 
  18. ^ S113 SoftDevice —— Memory-optimized Peripheral-only Bluetooth Low Energy protocol stack. [2022-02-22]. (原始內容存檔於2022-02-22). 
  19. ^ Everything You Need To Know About The BBC micro:bit V2. [2021-02-22]. (原始內容存檔於2022-03-29). 
  20. ^ micro:bit shield for MakeCode Arcade. [2021-02-22]. (原始內容存檔於2022-02-01). 
  21. ^ Meet the new BBC micro:bit. [2021-02-22]. (原始內容存檔於2022-02-01). 
  22. ^ 22.0 22.1 BBC micro:bit on ARM Mbed頁面存檔備份,存於互聯網檔案館).
  23. ^ DAPLink頁面存檔備份,存於互聯網檔案館
  24. ^ micro:bit runtime.. [2018-03-30]. (原始內容存檔於2020-09-15). 
  25. ^ nRF51 SDK頁面存檔備份,存於互聯網檔案館
  26. ^ S110 SoftDevice頁面存檔備份,存於互聯網檔案館
  27. ^ BLE API頁面存檔備份,存於互聯網檔案館
  28. ^ profile頁面存檔備份,存於互聯網檔案館
  29. ^ Mbed CLI頁面存檔備份,存於互聯網檔案館
  30. ^ GNU MCU Eclipse頁面存檔備份,存於互聯網檔案館
  31. ^ Keli µVISION頁面存檔備份,存於互聯網檔案館
  32. ^ ARM編譯器頁面存檔備份,存於互聯網檔案館
  33. ^ GNU ARM工具鏈頁面存檔備份,存於互聯網檔案館
  34. ^ micro:bit基金會網站頁面存檔備份,存於互聯網檔案館
  35. ^ Microsoft MakeCode頁面存檔備份,存於互聯網檔案館
  36. ^ PXT頁面存檔備份,存於互聯網檔案館
  37. ^ In Browser Compilers.. [2018-04-21]. (原始內容存檔於2020-10-21). 
  38. ^ Williams, Alun. Hands on with the BBC Micro-Bit user interface. ElectronicsWeekly.com. [8 July 2015]. (原始內容存檔於2015-10-01). 
  39. ^ The Story of MicroPython on the BBC micro:bit. ntoll.org. [13 November 2015]. (原始內容存檔於2020-11-08). 
  40. ^ Python on the micro:bit.. [2018-04-21]. (原始內容存檔於2020-10-21). 
  41. ^ Mu頁面存檔備份,存於互聯網檔案館
  42. ^ EduBlocks
  43. ^ Espruino頁面存檔備份,存於互聯網檔案館
  44. ^ The Espruino project enables JavaScript for embedded development on multiple levels.. [2021-02-07]. (原始內容存檔於2018-10-21). 
  45. ^ Web Bluetooth頁面存檔備份,存於互聯網檔案館
  46. ^ Espruino Web IDE頁面存檔備份,存於互聯網檔案館
  47. ^ Arduino nRF5頁面存檔備份,存於互聯網檔案館
  48. ^ Core頁面存檔備份,存於互聯網檔案館
  49. ^ node-bbc-microbit頁面存檔備份,存於互聯網檔案館
  50. ^ bbc-microbit-io頁面存檔備份,存於互聯網檔案館
  51. ^ Johnny-Five頁面存檔備份,存於互聯網檔案館
  52. ^ Mbed OS 2頁面存檔備份,存於互聯網檔案館
  53. ^ CMSIS-RTOS RTX頁面存檔備份,存於互聯網檔案館
    The SDK provides an implementation of an extension to ARM Keil RTX that is referred to as tickless mode. It allows waking up the MCU only when it is needed.. [2018-12-04]. (原始內容存檔於2018-12-05). 
  54. ^ CMSIS-RTOS is the fundation of the offical mbed RTOS.. [2018-12-10]. (原始內容存檔於2020-11-06). 
  55. ^ It is possible to use mbed 5 without the whole of mbed OS, and this would be a good step for micro:bit.. [2018-04-27]. (原始內容存檔於2020-11-17). 
  56. ^ uLisp on the BBC Micro Bit. [2018-11-23]. (原始內容存檔於2021-02-04). 
  57. ^ Forth for the BBC micro:bit. [2018-04-22]. (原始內容存檔於2020-11-30). 
  58. ^ build FPC for the controller used by the micro:bit. [2018-03-30]. (原始內容存檔於2020-10-26). 
  59. ^ Ada on the Micro:Bit. [2018-11-23]. (原始內容存檔於2020-11-09). 
  60. ^ Go on microcontrollers > BBC micro:bit. [2020-09-19]. (原始內容存檔於2020-11-06). 
  61. ^ Rust on BBC micro:bit. [2018-11-24]. (原始內容存檔於2020-11-08). 
  62. ^ Swift playgrounds for the micro:bit頁面存檔備份,存於互聯網檔案館).
  63. ^ The new version of Scratch is officially compatible with the micro:bit via their Scratch Link plug-in. [2018-11-24]. (原始內容存檔於2021-02-04). 
  64. ^ Tools for using the micro:bit with Dyalog APL on the Pi. [2018-11-24]. (原始內容存檔於2020-09-18). 
  65. ^ Simulink Coder Support Package for BBC micro:bit Board. [2018-03-30]. (原始內容存檔於2020-10-23). 
  66. ^ A node-red module with limited capabilities to interface with Micro:bits. [2018-11-24]. (原始內容存檔於2020-09-11). 
  67. ^ Control a micro:bit via Bluetooth with App Inventor, a visual programming environment for Android applications. [2018-11-24]. (原始內容存檔於2020-09-11). 
  68. ^ MakeCode and App Inventor extension that makes it easy to connect AppInventor mobile phone apps with the BBC micro:bit wirelessly over Bluetooth. [2018-11-24]. (原始內容存檔於2020-11-27). 
  69. ^ Stuart Dredge. BBC Micro Bit will complement Raspberry Pi not compete with it. The Guardian. [2018-03-30]. (原始內容存檔於2020-11-08). 
  70. ^ Pritchard, Stephen. Raspberry Pi: A BBC Micro for today's generation. ITPRO. 1 March 2012 [15 March 2012]. (原始內容存檔於2020-10-01). 
  71. ^ 71.0 71.1 71.2 71.3 71.4 71.5 Bell, Lee. BBC teams with ARM, Microsoft and Samsung to launch Micro:bit and get kids coding. The Inquirer. [8 July 2015]. (原始內容存檔於2019-12-20). 
  72. ^ 存档副本. [2018-03-30]. (原始內容存檔於2020-11-08). 
  73. ^ Brian, Matt. How the BBC's Micro:bit came to be. Engadget. 7 July 2015 [8 July 2015]. (原始內容存檔於2019-04-20). 
  74. ^ A Million Children. Python Software Foundation News. [24 April 2016]. (原始內容存檔於2018-03-30). 
  75. ^ BBC launches MicroBit. Python Software Foundation News. [13 November 2015]. (原始內容存檔於2018-03-30). 
  76. ^ 76.0 76.1 76.2 76.3 76.4 76.5 存档副本. [2018-03-30]. (原始內容存檔於2017-01-29). 
  77. ^ 原型裝置和軟件棧頁面存檔備份,存於互聯網檔案館
  78. ^ Wakefield, Jane. BBC gives children mini-computers in Make it Digital scheme. BBC News. 12 March 2015 [6 August 2015]. (原始內容存檔於2020-12-02). 
  79. ^ Sparks, Michael. Prototyping the BBC micro:bit. BBC. 7 July 2015 [6 August 2015]. (原始內容存檔於2016-03-14). 
  80. ^ 存档副本. [2016年11月8日]. (原始內容存檔於2016年11月8日). 
  81. ^ https://microbit.org/頁面存檔備份,存於互聯網檔案館
  82. ^ Where to buy the BBC micro:bit and BBC micro:bit accessories頁面存檔備份,存於互聯網檔案館).
  83. ^ Micro:bit基礎教學 STEM / 創客教育. [2023-08-28]. (原始內容存檔於2023-08-28). 

外部連結

編輯