首先感谢EEWorld和版主,希望本评测能够给大家更深入地认识下越来越热的树莓派。这个派是软硬通吃的,因为评测完后发现,从软件开发到硬件开发,树莓派都展示了其灵活性和适应性,确实是一个很适合学习测试的综合性平台。
【抢先晒单】幸运的被选中参加板卡评测后,快递到的树莓派先晒一下。
包装盒正面:
包装盒反面
开发板正面
开发板反面
需要强调的这个是英国原版滴,但是我发现单从做工来说,还不如我们山寨的精细,PCB基板切割不齐还有露出的纤维丝。但是,树莓派的魅力是无法被工艺上的瑕疵有所影响。因为树莓派的灵魂是创新,而不是翻造。
1 板卡外观评测_树莓派小传
树莓派是源自保守的英国,最早这位先生想开发一个低成本的电脑,用于教学,树莓派的原型就此诞生了。树莓派由非盈利机构“Raspberry Pi 基金会”开发,Eben·Upton为项目带头人。外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文叫"树莓派"。能这么快地创造一个全新的产品,其实还是要归功于微处理器技术的日益成熟,集成了CPU,memory,I/O的SoC本身就功能强大,本领多多,最缺乏的是一个生态,而树莓派就实现了这一切。现在树莓派形成了一个完整的软硬件和开发的社区。
当然,有了引领风潮的方向,跟风的那可就太多了,不仅有小朋友纷纷也叫个什么PI,更有大个头的行业先锋也推出了不是Pi的Pi。从功能和性能设计上,具有极大的相似的。所以就要好好比一比了。
在继续对比之前,一定要说说
Arduino,这个也是信用卡那么大小的智能计算机啦。非也,这个
Arduino是采用8位MCU,主频也是数十MHz级,直接在硬件级开发。而树莓派是数百MHZ,可以直接访问SD卡,可以跑大的操作系统,真的是一个微型电脑。因此真的这两种产品是不可以在同一个平台PK的。对于树莓派的Fan来说,在windows10开始提供支持后,或许我们可以不再去电脑城去买电脑了,若干熟悉的界面可以让更多的菜鸟直接升级。
2 板卡功能分析和评测对比。
2.1 树莓派
上手树莓派后可以发现,哪种开发板可以提供这么多输入输出接口呢?包括HDMI视频,音频,以太网,USB,Display,Camera。还有不少资料把树莓派介绍为适用于教育的微型电脑,那么哪种电脑可以提供GPIO供你去用呢?这次GPIO比上一代增加了14个,目前共有40个 GPIO别针,26位可以用作数字输入或输出。可以采用UART、I2C或SPI总线连接。
实际上因为这些,新版树莓派成了一种新型的开发和应用平台,不仅可以用于教育,而且可以迅速成为一种新的产品的核心。我们可以认为树莓派已经把物联网应用作为下一个新的领地,而不简简单单是一个微型电脑。
2.2 Beagle Bone Black
BeagleBone Black是作为开发板在TI官网上开售的,但是从其配置来说,已经超越了简单的开发板的范畴,依托TI强大的开发能力,支持丰富的开发生态。
BeagleBone Black处理器采用TI AM3359/3358,1GHzARM Cortex™-A8,2G Flash,512MByte SDRAM,HDMI D type 接口(16位色输出, 支持音频输出 ),LCD 接口,10/100M以太网接口,1个USB 2.0,TF卡接口,以及UART接口,ADC 接口,I2C接口,SPI接口,PWM,还有1个Jtag 接口。同时配板载按钮和LED指示灯。
从拥有JTAG这一点来说,和树莓派就明显有了不同的方向,可以直接刷芯片,就意味这,这是一个真正的开发板,是可以基于AM3359来开发产品的。及时在Beagle Bone Black可运行Linux系统,那么能直接访问处理器的内部硬件资源,就不是把教育作为自己的主攻方向了。
具体数据可以参照下表了,
2.3 Intel Galileo
高大上的Intel出的Galileo其实也是非常出人意料的。英特尔Galileo是由Arduino认证开发的原型主板系列中第一款产品,其基于英特尔架构,专为制造商、学生、教育工作者和 DIY 电子产品爱好者设计。和前面2款Pi都采用ARM RISC内核不同,INTEL把CISC X86架构用在了这款开发板上,处理器采用英特尔 Quark™ SoC X1000,这是一款 32 位、单核、单线程、与英特尔奔腾处理器指令集架构(ISA) 兼容的处理器,运行时可实现最高 400 MHz 的工作速度。
可以支持各种标准 I/O 接口,包括全尺寸 mini-PCI Express 插槽、100 Mb 以太网端口、microSD* 插槽、USB 主机端口和 USB 客户端端口。有12个 GPIO。
硬件和引脚与各种 Arduino Uno R3 盾牌兼容。可通过 Arduino集成开发环境 (IDE) 进行编程,支持 Microsoft Windows、MacOS和 Linux主机操作系统。支持 Yocto 1.4 PokyLinux版本。适用于英特尔Galileo第二代主板的英特尔IoT 开发人员套件增加了 C、C++、Python 和 Node.js/Javascript 支持,可开发互连传感器物联网应用程序。
和Windows高度兼容的Intel芯片,使Galileo最像一台微型电脑。具有高度兼容的,丰富的开发生态和开发平台。
参见http://www.intel.cn/content/www/cn/zh/do-it-yourself/galileo-maker-quark-board.html
2.4 各种派。包香蕉派,熊猫派什么的,其实都是树莓派的高仿版。仅以香蕉派为例看看有什么不同。
Banana Pi开发板资源概况如下:
§ 全志A20 ARM® Cortex™-A7双核处理器
§ 1GB DDR3 (和GPU共享)、SD卡 (最大64GB) / MMC卡槽可扩展到 2T SATA硬盘
§ 千兆以太网口 、USB HOST2.0*2、支持USB WIFI Dongle、红外接收器
§ CSI摄像头模块接口、DSI显示接口、麦克输入、HDMI, CVBS , LVDS/RGB视频输出、3.5mm音频输出接口
§ GPIO(2X13) 口扩展座:GPIO、UART、I2C总线、SPI总线、CAN总线,、ADC、PWM、
§ 通过MicroUSB(DC) 或MicroUSB (OTG)提供5V 直流电压
§ 电源状态LED灯(红色)、网口状态 LED灯 (蓝色)、用户自定义 LED 灯(绿色)、复位键、电源键、U-BOOT键
3 外观评测小结
从上面的对比可以看到,以上开发板都是围绕特定芯片延展的软硬件开发平台,其中TI和Intel都提供了优秀的产品,不过明显是要围绕其产品开发的。而树莓派是采用了BCM的产品,但是其关注点却是更丰富的应用,更开放的开发生态,而且参考树莓派的衍生开发板也没有完全照搬采用完全相同的芯片,做到了神似。
上面提到的开发板主频差距比较大,从400MHz到1GHz,周边资源也有所不同。不过单从参数和配置来看,树莓派已经领先一步了。
4 标准的树莓派系统安装
4.1 树莓派上的操作系统
树莓派是属于开放式硬件系统的典型代表,这也意味着开放的软件开发环境支持。目前确认可以支持树莓派的有NOOBS ,RaspBian Wheezy,UBUNTU,OSMC,POENELEC,PNET,RISC OS等,既有流行的操作系统,还有各种专用的操作系统,如PINET就是专用于教育的操作系统,RISC OS是实时操作系统的树莓派版。还有很多极客以树莓派为平台,移植了多种操作系统平台,如安卓系统等等。为了便于大家使用,对若干操作系统做简单说明。
- NOOBS是最标准的树莓派操作系统,其中NOOBS是完整版,而NOOBS LITE是简版,可以订制选择需要安装的组件,NOOBSLITE安装必须联网才能完成安装。最新版的NOOBS完整版把PINET,RISC OS也集成在其中了。
- RASPBIAN也是最推荐的操作系统,是典型的LINUX范操作系统。
- UBUNTU非常流行,但是多数安装的都是UBUNTU桌面版,如果需要比较好地兼容需要UBUNTUNmate版,虽然在UBUNTUN mate的声明不完美兼容,但是也提示有网友成功安装。SNAPPYUBUNTU是用于开发的内核,也可以支持树莓派。总之UBUNTU对树莓派二代B+还在适用的过程中,当然,我们相信很快就会完美支持的。
- OSMC,OPENELEC适用于机顶盒什么的媒体中心和游戏中心,可以在树莓派跑,但显然只是票友。
- PINET 专业的教育管理操作系统,不单独提供下载,集成在NOOBS里了。
- RISC OS应该是实时操作系统,非常精简,只有几十兆,属于轻量高效性的操作系统。当然,用起来一定事比较有难度的。
- Windows 操作系统。这个传统的WinTel联盟的铁杆忽然声称支持树莓派就让人非常迷糊,而且不收费。这个非常不符合微软的传统,不收钱的事我们什么软是不大系得干的,这次搞奉献,一定要搞搞清楚到底卖什么药。这个也是本评测的重点… …
4.2 Raspbian操作
RaspBian的评测已经有很多了,所以就挑干货讲。这次评测发现树莓派是很小,不过想要搞定安装使用,外面的接口可真多呀,而且如果没有那是不行滴。尤其是键盘,在安装的第一个页面,就需要一下回车,没有的话,就只能看着了。我用了无线键盘。准备工作包括用win32diskimger复制img文件到SD卡,连接电源,网线,HDMI接线,USB键盘鼠标,为了接VGA显示器还从某宝上订了一个HDMI-VGA转换器(带电源的那种,这下我的桌面上就全是线了)。
然后上电,进入安装界面如下。
视频:
一路回车,
最后见到了鲜红的草莓和熟悉的界面。如下图。
不过联网的时候,就提示我不灵了。这个是连接的局域网要网卡认证才能上,否则就是受限的。
4.3 Windows 10 IoT
Windows是专门为树莓派开发的,而且支持的硬件非常有限,只有3种可见树莓派多么流行,连微软都要专门开发支持ARM的平台。其他的2种都是支持IntelX86内核的开发板,MinnowBoard Max以凌动E38xxSoC为核心,支持本系统(但是可惜我孤陋寡闻,以前一直都不知道这个东东),另一个就是前面提到的Galileo,但是可惜还只支持上一代windows,不支持本Windows 10 IoT Core。所以,这个windows 10 IoT可以说是为树莓派量身订制的。
需要注意的这个全称是Windows 10IoT core Insider Preview,这是一个预览版的IoT内核,更多是测试的意图,而且需要加入InsiderPreview计划,安装时一定要有windows 10操作系统和开发环境。(我的理解,这个总的来说是鼓励尝试,但效果是不保证的,呵呵)
首先要下载映像,写在SD卡上,这个要进入命令行模式用dism.exe来执行,这个不是windows的本色呀,打错一个字母就要重来的。
把接口的都接好后,就可以上电了。有所不同的是,这次可以不用键盘,等安装好以后会发现完全可以不用键盘,控制界面非常简单,只有若干时区选择,语言选择的选项只有English一个选项。后面的编程用远程控制的方式来实现,在树莓派上只是一个调试执行的平台。
安装过程还是比较简单的,虽然说多次需要等待,但是等待的时间不长,很快就出现了安装完成的界面。
然后,这个过程完成初步的安装,确认的网口的IP地址,然后等比较长的时间重启,就进入了安装完成的界面。
进入设置页面,只有语言和时区的选项,更像是简单的测试程序。
不过后面就遇到了挑战了。就是远程控制的获取,按照官网的介绍,需要用powershell来实现,总是搞不定。后来分析,是因为运行windows10的主机采用WIFI上网,而树莓派用以太网卡,因为局域网连接的限制,使这二位自动选择IP没有落在同一个网段。
按照有关资料,当无法自动分配IP地址时就会被分配169.254.0.0网段的IP地址。为了解决这个问题,我用了以下三种方法尝试(这个操作系统的IP地址是在安装过程中确定的,安装完后无法变更,重启也不变,所以只好反复刷SD卡重装,好刷新IP地址):
第一招: 用改变计算机的IP设置和树莓派IP在同一网段,不行。
第二招: 用TP-Link WR703微型路由器来运行在AP的客户端模式,相当于一个无线网卡,这样在同一个网段了,但是还是无法连接。
第三招: 最后只好用网线直连,运行DHCP服务器组件,这样总算联通了。初步成功。 按照官网Instruction要准备2个网卡,看来不用,只要有1个就可以,不过需要能运行DHCP server。 但是启动windows 10 自带的PowerShell始终无法通过连接认证。在同一个网段,可以Ping通,但是无法建立信任连接。
下载PUTTY软件,建立连接,这下总算妥了。
可以变更密码,计算机名,可以重启树莓派,和PowerShell实现的功能一致。但是为什么PowerShell搞不定,还原因不明。
这个是重启后,待机的画面。有些微软windows 3.0的影子。
- 然后启动VS2015,用通用开发,可以连接远程计算机。
-可以生成项目,也可以连接树莓派。但是却显示部署不成功,也就是不能下载到树莓派上。提示的原因是VS2015编译器比Windows 10 IoT的编译器版本高,要求更新树莓派上的编译器版本。这个难死我了,官网上下载的就是最新版的了,而且也不知道如何去更新编译器,VS2015是要求安装的,这个看来没有微软无法解决,兼容性在现阶段对windows 10都是个问题,我的双显卡笔记本驱动始终搞不定,后来被迫禁止一个才能运行windows 10。
不过,从开发生态来讲,如果兼容性能解决的话,windows编程是有些太简单了。就像windows开发一样简单,甚至更简单,因为新建项目时,所有的容器都已经生成,就是简单完成任务就可以了。不仅可以生成视窗,还可以直接访问GPIO接口,这个是以前的操作系统都无法实现的,微软这次走在了前头。
5 小结
从整个评测的过程可以看出3点:
- 树莓派是一个近乎全能的兼顾软件开发和硬件开发的平台,可以使实现多种操作系统的开发和教育。而且可以直接访问GPIO端口,实现控制的功能,实现典型的开发板的功能。但是从目前看,至少视频输出的响应速度不是那么理想,总有迟延的感觉。但是视频输出的精度没有问题,这可能是HDMI高清输出的原因。
- 相对而言,RaspBian,UBUNTU等基于Linux内核的更成熟和稳定,也更适合具体的应用和开发。
- 相比之下,微软的操作系统就显得仓促,仅仅起到了展示的作用,如果实用还是不大容易。但是也看出windows 10这个步是个大棋,目的真正实现跨平台的通用开发,一个开发项目可以在桌面,手机,平板,甚至微型开发板上都轻松实现。所以也很值得期待。
另外还要吐槽一下:这个原装板的SD插槽做工有些差,拔的时候稍微暴力了点,就卡不住了,只好用皮筋套上。和我山寨大国的制造工艺差距有些大。搞得正版的像山寨的,哪天我用热风枪取下来,换个山寨SD卡槽。