Micro Bit

{{Information appliance
|name = BBC micro:bit
|logo = File:Microbit-logo-stacked.png
|developer = , , ARM Holdings, , NXP Semiconductors, Lancaster University, Microsoft, Python Software Foundation, , TechnologyUs, Samsung, ScienceScope, Barclays
|type = 单板微控制器
|image = File:Micro-bit v1 & v2.JPG
|caption = BBC micro:bit v1(右)和v2(左)。
|releasedate = v1:2016年2月10日
v2:2020年10月13日
|cpu = v1: nRF51822, ARM Cortex-M0核心,闪存, RAM。设备输入和输出為环孔连接器和边缘连接器。

硬件
v1
设备大小可描述为信用卡的一半大小,,实测为,它包括有:

  • nRF51822 SoC – 32-bit ARM Cortex-M0微控制器,包含了闪存,静态内存,集成了蓝牙低功耗协议栈和Nordic专有RF无线传输协议的模块,nRF51由于低功耗设计,不内置SysTick。
  • NXP/Freescale KL26Z MCU – 32-bit ARM Cortex-M0+核心微控制器,包含了全速USB 2.0 OTG控制器等。它担任串行及调试适配器,是在用户计算机和nRF51目标MCU之间的接口MCU,用户PC通过USB HID类连接经由接口MCU对目标MCU进行调试(JTAG-AP)和刷写程序(MEM-AP),并通过CDC类连接经由接口MCU与目标MCU进行串行通信。
  • 三轴加速度传感器 – 经由I²C总线。

I/O包括环孔连接器:3个GPIO(P0、P1、P2),1个电源正极(3V),1个接地即电源负极(GND),它们接纳或4mm香蕉插头;(也称为金手指)的标号,依次为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输出。

在连接了USB的情况下,KL26Z负责对这个PCB余下部份供电,将USB供给的5V±5%电压规整降至3.3V。KL26Z限定最大电流120mA,电源环孔或针脚输出可能只余下90mA。在使用电池连接器供电时,电池不为KL26Z供电,nRF51供电和电源环孔或针脚输出都来自电池。还可以谨慎的从电源环孔或针脚向micro:bit供电,从电池连接器、环孔或针脚择一供电时都不可超过3.6V极值。

v2
版本2(v2)在2020年10月13日发行,包括了:

  • Nordic nRF52833 – 32-bit ARM Cortex-M4微控制器,闪存,静态内存,Nordic S113 SoftDevice提供的蓝牙低功耗无线网络,集成的温度传感器。
  • NXP/Freescale KL27Z – 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 v2中,可以长按3秒reset按钮来关闭主板。

软件
Micro Bit的软件是使用羅永喜ARM Mbed开发工具建立的,并且采用了其应用程序接口DAPLink,设备在连接到计算机的时候,是作为一个USB大容量存储设备而出现的,采用了的nRF51 SDK和S110 SoftDevice,以及Mbed的BLE API,并与蓝牙技术联盟协作开发了定制的BLE profile。用户用C/C++语言编写的应用程序,可以通过Mbed在线编译器、GNU MCU Eclipse或Keli µVISION等开发工具,利用ARM编译器或GNU ARM工具链来进行编译,编译后的目标代码接着通过USB连接或手机app蓝牙连接而被刷写到设备中。

在micro:bit基金会网站上有侧重于教育的2个官方在线代码编辑器:

  • Microsoft MakeCode,是JavaScript Blocks编辑器和浏览器内编译器,曾经称为Microsoft PXT编辑器,PXT(编程实验工具包)完全在用户浏览器中运行,它通过内置的ARM Thumb编译器生成目标代码,浏览器同时还装载了预编译的micro:bit运行时系统,从而与用户目标代码链接成最终目标代码,还可以在刷写入设备之前在内置的micro:bit模拟器中见到它的运行效果。
  • MicroPython,是完整的Python 3语言实现,包含了Python标准库的一个小子集,带有音乐编程语言和语音合成器,本地文件系统,被推荐用于做进一步的编程实验。用户可以在web编辑器中写Python脚本,其源代码被附加于MicroPython实现固件的后面,把这个最终复合固件下载后刷写到设备中,MicroPython运行后将附随的源代码编译成字节码并在虚拟机中运行,由于内存限制在MicroPython内未启用nRF51的蓝牙协议栈。可以通过USB串行连接访问MicroPython REPL,从而可直接交互于Micro Bit的外设。MicroPython的编辑器还有给初学者在PC上用Mu,和在线blocks编辑器EduBlocks。

针对micro:bit的其他开发工具有:

  • Espruino,是面向网络应用开发的JavaScript解释器固件,解释器有运行状态持久保存和复位机制,支持内联汇编语言,由于将micro:bit的内存大量用于了蓝牙功能,不提供ES6特征和高级库函数。可以通过USB串行连接,或通过在支持了Web Bluetooth的浏览器中运行Web IDE对它进行交互访问,IDE也有可选的blocks编辑器。
  • Arduino nRF5,是针对基于Nordic半导体nRF5开发板的Arduino Core。
  • Node.js库:node-bbc-microbit,从Node.js用BLE控制micro:bit;bbc-microbit-io,针对micro:bit的Johnny-Five(JavaScript机器人及IoT平台)IO插件。

除了micro:bit运行时系统所采用的Mbed OS 2,以及nRF51 SDK支持的CMSIS-RTOS RTX,可以在micro:bit上运行的嵌入式操作系统还有:Zephyr,,RIOT。

针对micro:bit的其他编程语言有:uLisp、Mecrisp Forth、Free Pascal、GNAT Ada、TinyGo、Rust、Swift等。其他交互语言有Scratch3.0、Dyalog APL、Simulink编码器支持包、Node-RED模块、App Inventor + IoT、BlockyTalkyBLE等。

历史
Micro Bit被设计用来鼓励儿童活跃的投入为计算机书写软件和建造新东西,而不是成为媒体的消费者,它也建造在BBC在计算机教育中的BBC Micro这项遗产之上。

合作伙伴
Micro Bit的开发汇集了众多伙伴与BBC一起工作:

  • ARM控股 – 提供Mbed开发工具、固件和编译器服务。
  • – 为这个设备提供目标MCU和BLE协议栈。
  • 兰卡斯特大学 – 开发这个设备的运行时系统,与蓝牙技术联盟协作开发定制的Bluetooth LE profile,还开发了这个设备的教师训练材料。
  • – 监督这个设备的制造。
  • Code Club – 建立一系列引导9到11岁儿童的编码资源并通过志愿者递送运行编码俱乐部,在最初宣布中进了展示,在学校中测试了这项提议,并为合作伙伴后续建设提供了参考规定。

Microbit教育基金会
在成功的于英国推出了micro:bit之后,BBC将BBC micro:bit的未来交付给新成立的非营利性Micro:bit教育基金会。从BBC到Micro:bit教育基金会的迁移首先是将官方网站从www.microbit.co.uk转移到了microbit.org。

制造
负责管理BBC micro:bit的制造,监督各厂商进货所有部件并在各自的加工工厂生产micro:bit。

各地發展

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

参见

  • Arduino
  • Raspberry Pi
  • BBC Micro

书籍
*[https://www.iot-programmer.com/index.php/books/micro-bit-iot-in-c micro:bit IoT In C]
*[https://microbit.nominetresearch.uk/networking-book/ Networking with the micro:bit]

引用
外部链接
*
*
*
*
*

评论 (0)

  • 还没有评论,来抢沙发吧。