对于BBC(英国广播公司),相信大部分同志都不陌生,尤其在那个恨天恨地苦学英语的年代,BBC广播的一些节目是很多前辈都推荐的练习英语听力的素材,然而,让人大跌眼镜的是,BBC推开发板——微型可编程计算机micro:bit,这是什么鬼?
事情的起因其实是这样的,前段时间,手头拿到了一块国外的开发板,就如下面这样子的。
当时也没在意,不过后来发现开发板的厂商居然是BBC,一开始呢,还以为只是跟我印象中的BBC重名而已,但事实证明这只是我一厢情愿的想法而已,micro:bit的厂商竟然真就是我记忆中的BBC(英国广播公司),那么问题来了,BBC为什么推micro:bit?这是一块什么样的开发板?好用吗?带着这些疑问决定好好了解一番micro:bit。
因为板卡是直接从国外购买回来的,所以基本是全英文介绍。整套开发平台除了micro:bit板子,还附带了一个MicroUSB数据线,一个电池供电盒以及两节7号电池。据说,一开始的设计是考虑用纽扣电池,然后可以直接卡在学生的衣服上,作为便携式的编程DIY平台,后来证实这样的方式不安全就换成如今模样。
仔细调查了下micro:bit的“背景”,发现这玩意的来头还不小,它由BBC和很多大腕(包括了微软、三星、ARM、北欧半导体和惠康基金会等)共同合作的项目,而它的实际用途,跟树莓派还挺类似,鼓励儿童和年轻人学习编程等技术,作为英国本土的学生,每年都能免费获取到一些micro:bit,而作为别人家孩子的我们,想要体验的话就只能花钱购买了,含税价格约为24英镑,价格不算便宜,几乎赶上树莓派的价格了。
micro:bit
不过,不得不说,micro:bit板子本身做工还是相当好的,又比较精致,大小也只有43mm*52mm,便携性很方便,即视的喜爱感。
千万别被micro:bit板子的简洁给欺骗了,板子的功能还是相对较多的,正面有低功耗蓝牙通信芯片,支持USB2.0 OTG功能的NXP 微控制器、加速度计、磁力计等。
nRF51822低功耗蓝牙芯片/MMA8652三轴加速度计/MAG3110三轴磁力计
有必要说下的是NXP KL26Z微控制器,这里的作用不是作为板子的主控,而是作为ARM mbed开发环境的支持,依赖微控制器USB2.0 OTG的功能,实现drag and drop式的U盘下载,毕竟对于青少年学习编程,最简单的下载方式莫过于复制粘贴了。
NXP KL26Z微控制器
背面则是两个可编程机械按键,25个红色LED组成的矩阵,另外就是板子上还带有23pin的金手指接口(其实算25pin,但是其中有两个pin脚是没有信号连接的)。
micro:bit整体就是这个样子,板子虽然看起来很简单,但是板载的资源还是相对丰富,包括了:
- Nordic nRF51822低功耗蓝牙芯片:16MHz ARM Cortex-M0,256KB Flash、16KB RAM
- NXP KL26Z微控制器:48MHz ARM Cortex-M0+,支持USB2.0 OTG
- NXP MMA8652三轴加速度计
- NXP MAG3110三轴磁力计
- 25个红色LED组成5*5矩阵
- 3个机械按键,包括两个用户按键一个复位按键
- MicroUSB供电/下载接口,电源接口,23pin金手指信号接口,包括SPI、PWM、I2C以及最大支持17个GPIO
开发环境
文章一开始已经提过,micro:bit主要是针对青少年朋友学习编程技术,所以相应的开发语言不是我们熟知的C/C++类型,还是比较简单的图形化界面编程工具,当然也有如MicroPython这样的更高级的开发语言,可以说,micro:bit支持的开发语言种类还是比较丰富,给人不同的多样的选择,也非常适合传播教育之用。
主要四种开发方式:
- JavaScript
- Microsoft Block Editor
- Microsoft TouchDevelop
- MicroPython
- JavaScript
JavaScript是由Code Kingdoms提供支持的,这也是一个致力于让青少年采用计算思维方式来学习编程语言。
而最新的JavaScript已经“进化到”JavaScript Blocks Editor,即支持图形编辑,又支持文本编辑。并且可以在左侧界面中看到micro:bit运行的预览显示,如下图所示
支持从图形化编辑转换成文本代码编辑
micro:bit实际运行状态
另外,JavaScript还提供专门的学习课程,这个可不同我们一般的开发板例程一样,它有专门的讲解,内容非常丰富,是以学习目的的教材。
- Microsoft Block Editor
微软的Block Editor同样是基于图形化编辑工具,熟悉Blockly的都知道这是谷歌推出的一个图形化开源编辑工具,微软的这个应该是借鉴这Blockly修改而来的,具体的操作也是相当简单。
同样也可以支持转换成代码
- Microsoft TouchDevelop
微软的TouchDevelop是一个文本编辑工具,但是从命名大家也能猜出一二,非常适合触摸操作开发,也就是非常适合像手机/平板这些移动平台上做开发,但是相对图形化工具,Microsoft TouchDevelop会显得更加复杂一些。
micro:bit上实际运行状态
- MicroPython
Python同样为计算机脚本语言,事实上,micro:bit上所使用的Python算是MicroPython,这是脱胎于Python,基于基于ANSI C(C语言标准),然后在语法上又遵循了Python的规范,主要是为了能在嵌入式硬件上(这里特指微控制器级别)更易于的实现对底层的操作。
在micro:bit板子的开发上,同样提供了在线的MicroPython的在线编辑工具,操作非常简单,可以保存源代码文件XX.py或者可以下载生成的供micro:bit开发板执行的.hex文件。
如果本身对JavaScript或者Python比较熟悉的朋友,用这两个开发语言比较方便,如果是完全的新手,推荐用Microsoft Blockly Editor或者JavaScript Blocks Editor,而对于青少年朋友,无疑这种图形化编程工具更容易加深理解,况且它还支持代码的转化。
手机编程
micro:bit的四种开发语言让板子本身更具有魅力,更具学习娱乐教育一体,但是仅仅这样还不至于让我赞叹,BBC无疑将micro:bit打造的更人性化,更通用、更方便,比如它还可以通过目前的智能手机进行编程,并且支持Andriod系统和ios系统。
手头暂时只有iphone,所以ios为例,看看手机编程又是怎么一回事?
micro:bit app界面简洁直观,体验了一下,主要使用的功能就是创建代码以及下载代码,与PC版的体验几乎无异,非常不错。而手机编程重要的前提是与micro:bit开发板配对,建立蓝牙连接。
蓝牙连接的过程还是充满趣味的,不像一般的智能产品设备配对。
首先,蓝牙连接的步骤通过有趣的app引导动画非常容易操作,而其中特别有意思的是配对中的两点。
在配对过程中需要输入micro:bit上5*5 LED矩阵实现的pattern,如下
输入正确后才可以进入下一步,基本上是为了防止随便连接和当有多个板子出现的时候连接的不确定性。
另外一个是蓝牙配对的时候需要提供配对码,而配对码同样通过micro:bit上5*5的LED 矩阵显示。
蓝牙配对完成,我们可以通过创建代码来实现Flash的编程,而创建代码的步骤就跟在PC机上操作一样,同样是之前提供的四个开发工具。
具体流程这里就不再累述,下面则是创建好的代码通过无线蓝牙执行下载,考虑到BLE的连接,下载速度其实很慢,但实际上即使在PC机上通过mbed的下载方式同样也是很慢。
下载过程中5*5 LED矩阵中间横着的3个LED呈常亮状态
下载完成有提示
最后可以看到micro:bit正确运行通过蓝牙传输的程序。
而且别忘了,micro:bit本身提供了外设的移动电源接口,当你完成你的程序后,可以通过外置电源供电将其展示。
使用micro:bit的感受,只能说太了不起了!从一开始的惊讶,到看到硬件抱着无所谓的态度,再到见证多种开发工具,支持手机编程时的赞叹,可以说,体验micro:bit不亚于一次从惊讶到失望再到惊喜的过程,在我看来,micro:bit已超脱于硬件的本身,现在已经改变了一开始的看法,算上硬件加上这整套完美的开发工具,24英镑的价格确实不算贵。
小结
对于青少年学习编程,国外一些发达国家的重视本身就远高于国内,况且如果是英语母语国家本身还是具有非常大的优势,micro:bit是我体验过众多专为青少年学习编程的益智类教育产品中可以说是最“完美”的一套,不仅包含了专有的学习课程,而且各种开发语言环境体验都不错。如果你家有小孩对编程感兴趣,强烈推荐购买一套micro:bit,或者也可以先去micro:bit官网体验下这些在线的开发工具,相信会给你不少惊喜。
原创申明:本文为爱板网原创,谢绝转载!
对于BBC(英国广播公司),相信大部分同志都不陌生,尤其在那个恨天恨地苦学英语的年代,BBC广播的一些节目是很多前辈都推荐的练习英语听力的素材,然而,让人大跌眼镜的是,BBC推开发板——微型可编程计算机micro:bit,这是什么鬼?
事情的起因其实是这样的,前段时间,手头拿到了一块国外的开发板,就如下面这样子的。
当时也没在意,不过后来发现开发板的厂商居然是BBC,一开始呢,还以为只是跟我印象中的BBC重名而已,但事实证明这只是我一厢情愿的想法而已,micro:bit的厂商竟然真就是我记忆中的BBC(英国广播公司),那么问题来了,BBC为什么推micro:bit?这是一块什么样的开发板?好用吗?带着这些疑问决定好好了解一番micro:bit。
因为板卡是直接从国外购买回来的,所以基本是全英文介绍。整套开发平台除了micro:bit板子,还附带了一个MicroUSB数据线,一个电池供电盒以及两节7号电池。据说,一开始的设计是考虑用纽扣电池,然后可以直接卡在学生的衣服上,作为便携式的编程DIY平台,后来证实这样的方式不安全就换成如今模样。
仔细调查了下micro:bit的“背景”,发现这玩意的来头还不小,它由BBC和很多大腕(包括了微软、三星、ARM、北欧半导体和惠康基金会等)共同合作的项目,而它的实际用途,跟树莓派还挺类似,鼓励儿童和年轻人学习编程等技术,作为英国本土的学生,每年都能免费获取到一些micro:bit,而作为别人家孩子的我们,想要体验的话就只能花钱购买了,含税价格约为24英镑,价格不算便宜,几乎赶上树莓派的价格了。
micro:bit
不过,不得不说,micro:bit板子本身做工还是相当好的,又比较精致,大小也只有43mm*52mm,便携性很方便,即视的喜爱感。