开源硬件:选择入门的开发板
做为开源硬件的入门功课,对开发板的选择是我们很多人都提出过的疑问。在初学阶段,开发板的成本、运算性能未必是我们会需要考虑到的问题。我们所关心的是编程的环境,硬件的实际开发操作练习。
在这个前提下,我们在树莓派、Cubieboard以及pcDuino中选一款做为我们的入门板子。
文章正式开始前,笔者想起了宠物小精灵里选初始精灵的场景。这个场景何其相似,请大家保持轻松的心态一起挑选(也就是请轻喷)。
树莓派
最初在树莓派刚刚推出时,无论是由于其体积如信用卡大小(8.56cm × 5.398cm)、价格低廉还是号称为学生编程教育而进行的设计,都让它成为了一个热衷于讨论热门话题。
树莓派基于ARM11内核,700MHz的处理器,最大512MB的内存,这在众多开发板的对比选择上,树莓派倒是没有太多的参数需要特别考虑。
树莓派拥有A、B两种型号,除了相同的音频、视频(HDMI)输出接口,A型仅拥有1个USB,其额定功率为2.5W,500mA,而B型则拥有2个USB,另外还有一个有线网络接口,额定功率则为3.5W,700mA。
相较于其它常见的开发板,树莓派可拓展的接口有限,本身没有内存和硬盘,要为其安装操作系统就要配一张SD卡。
而大家一定都注意到了一间有趣的事,就是树莓派系统的启动界面是我们所熟悉的Linux启动界面,但那只企鹅被替换成了树莓。
目前大家在树莓派上运行的主流系统包括XBMC、Debian 、Fedora,Arch Linux ARM,RISC OS等。
对初学者而言,如果是仅仅是在软件系统方面进行入门学习的话,算上硬件成本、实际操作的练习价值,那么我会推荐树莓派做为大家的首选。
Cubieboard
在10cm×6cm的板子上,售价为49美元(国内的爱好者入手价格普遍为350人民币左右)的Cubieboard集成了1GHz 的全志All Winner A10 Cortex A8 CPU、Mali-400 GPU、1GB RAM。
此外,Cubieboard采用了4GB的NAND,在接口方面它支持1080p HDMI、SATA、USB、多媒体卡,自带红外感应器、可接有线网络以及拥有 96 pin 接头
对于一个初学者,如果要面对在树莓派和Cubieboard两者之间进行的选择,就要认识到Cubieboard在性能上更像是树莓派的升级版,只不过拥有更丰富的接口,拓展方面也有更多的选择空间。
当然,我们还应该了解一下Cubieboard的出身:它是由一个 中国团队所打造的 。
如果对“初学者”一词的定义是指“硬件初学者”,那么Cubieboard就是一个很好的选择。
例如一个拥有软件基础的人尝试自架服务器,在设计上我们大部分人都会使用外接硬盘做为共享硬板,而Cubieboard上的SATA接口就给了我们更多的开发选择。
pcDuino
最初接触pcDuino的时候,大家的第一反应可能就是“这么大的一块(12.5cm × 5.2cm)板子,现在竟然好意思冠以‘Duino’这个后缀!?你看看人家 TinyDuino ,也就一枚硬板大小。”
虽然“控制器”越小越好这个概念已经深入人心,但是做为“开发板”不论其是用于学习、开发还是量产,性能和实用性仍然是其最关键的选择因素。
事实上,pcDuino拥有一套完善的API,我们用Arduino的代码几乎就能访问所有的功能。同时可以使用GNU tool chain支持C、C++编程,也可使用标准的Android SDK支持Java编程。
pcDuino可以从NAND或TF卡上启动,而其出厂时就已经在NAND Flash中预装了ubuntu,对使用者十分友好的GUI让我们在pcDuino到手时即可使用。
但虽说pcDuino体积够大,但是也只提供了两个USB HOST接口,在最初使用时一般也会为了以防万一而准备个USB HUB用来进行扩展。
虽然在编程环境和硬件性能上pcDuino都有不菲的价值,但是对于初学者而言这种环境反而太过完善,对于研究和理解开发板没有太多的帮助。倒是适合给大家练习一些开发板的基础操作,或是利用其进行进阶的开发,但这个阶段大家也已经不是初学的菜鸟了。