本帖最后由 allankliu 于 2016-5-13 16:45 编辑
英国在科技教育方面一直走在前列,最典型的例子就是Raspberry Pi的成功推广普及。随后,BBC也对外公布了Micro Bit控制板。计划是针对100万名英国儿童(7年级或11~12岁)免费提供硬件编程的学习机会。
根据BOM估算,Microbit的硬件成本至少在10~15美元左右。100万儿童意味着硬件投入在1000万美元。附加加工和物流人工成本,成本就更高了。有传言说Microbit在批量后还是会以低价方式销售,但最初的几批的确是以免费方法发放的。希望我国企业也有这种魄力和能力培育下一代,反哺社会。
该PCB外形为4*5cm,采用ARM Cortex-M0处理器,板载加速度计和磁场计,支持蓝牙和USB连接,25组LED和两组按键。
其合作伙伴阵容强大:
- 微软:为该设备定制了TouchDevelop平台,并负责托管用户代码和负责教师培训材料;
- 兰卡斯特大学:开发设备运行时(runtime);
- 易络盟:负责设备制造;
- Nordic半导体:提供nRF51822 BLE控制器作为主控处理器;
- NXP/Freescale半导体:提供KL26Z USB MCU作为Debugger,MMA8652/MAG3110传感器;
- ARM控股:提供mbed开发和编译器;
- Technology Will Save Us:设计物理外观(由于缺乏设计细节,笔者还没有充分体会该PCB的某些特殊布局用意);
- 巴卡莱:负责产品交付;
- 三星:开发Android APP,并连接到手机和平板;
- Wellcome基金:提供教师和学校的各种培训机会;
- ScienceScope:开发iOS APP,并将设备交付给学校;
- Python软件基金会:将microPython引入设备;
Microbit的软件配置丰富多彩,包括Javascript,Blockly,Python和C++。其官网(CodeKingdoms)上一共有三种代码编辑器,使用Javascript和微软Block编辑器。微软TouchDevelop则可以让客户在手机,平板和桌面电脑上开发编程。
Microbit使用ARM mbed C++ API开发基础固件,可以通过USB(KL26Z debugger)或者蓝牙(nRF51822 BLE FOTA)进行固件刷新。
Microbit板载两枚Cortex-M0处理器,一枚为Freescale的KL26Z(具体规格不明,按照我对FSL的了解,应该是64KB版本足够),另外一枚是nRF51822(256KB Flash ROM+16KB RAM,除去BLE堆栈消耗,用户空间为128KB+10KB)。我一直以为Python运行在KL26Z,结果发现其架构居然类似于一块 BLE ARM mbed开发板:
KL26Z内置16KBRAM,作为USB I/O,枚举为mbed SWD debugger和MSD编程器。程序编译后HEX文件可以直接复制到nRF51822中去。Freescale原来的mbed SWD debugger都是基于K20,现在转到KL26Z也很正常。虽然I2S接口没有利用有些遗憾。开发者受限于NDA,无法透露更多信息。但是这意味着microPython居然运行在nRF51822芯片中。
Microbit上的Python也是microPython,最初的版本由micropython作者Damien负责移植。但是其导入的类不再是pyb,而是microbit。由于microbit的硬件(Cortex-M0/M0+)性能明显弱于pyboard(Cortex-M4),而且256KB版本的nRF51822的用户可用空间仅有128KB。所以在许多方面应该有所修改和优化。
不过,这侧面证明一点:microPython可以运行于入门级MCU,最小需求是128KB ROM和10KB RAM。大多数Cortex-M0/M0+均可以满足此项要求。事实上大多数BLE芯片的存储器配置是类似的,不过如果存储器资源能够更大则更好。
在第一章中提到的百度创新实验室提供的DuBand开源手环同样使用nRF51822,或许可以基于开源硬件和开源micropython构建一个运行python应用的手环。经过在某宝上搜索,百度L28 dulife手环比较接近DuBand的描述。但是首先需要举行OTA更新固件以支持micropython。
百度开源手环
http://store.baidu.com/product/open
查阅了nRF51822的订购信息,其全称是:nRF51822-PPVV-CC。其中:
PP:封装代码,QF:QFN,CE:WLCSP
VV:品类(Variant)代码,AA:256KB ROM+16KB RAM,AB:128KB ROM + 16KB RAM,AC:256KB ROM + 32KB RAM
CC:容器代码
常见型号:nRF51822-QFAA,大约CNY7~10;
高配型号:nRF51822-QFAC,大约CNY14。
nRF51822-QFAB最好不要买,存储器配置过低,无法支持micropython。
为何推荐手环?BOM公开化,容易商品化,成本足够低,而且都内置传感器,找到合适的制造商。此外,容易演变成其他产品线。
|