此次评测使用了以下Linux 嵌入式开发板,这四块板子算是最主流的四块开发板了,通过此次评测你应该知道做什么项目应该选择什么样的开发板了。 1、Arduino Yun
2、Beaglebone Black
3、Intel Galileo
4、Raspberry Pi 这些开发板都能很好的运行Linux并且连接许多传感器,但是他们在硬件和兼容性方面有很大的不同,一起来看评测吧。 首先是规格对比规格对比表:
| Arduino Yun | Beaglebone Black | Intel Galileo | Raspberry Pi | 图片 | | | | | SoC | Atheros AR9331 | Texas Instruments AM3358 | Intel Quark X1000 | Broadcom BCM2835 | CPU | MIPS32 24K and ATmega32U4 | ARM Cortex-A8 | Intel X1000 | ARM1176 | 架构 | MIPS and AVR | ARMv7 | i586 | ARMv6 | 运行频率 | 400mhz (AR9331) and 16mhz (ATmega) | 1ghz | 400mhz | 700mhz | 内存 | 64MB (AR9331) and 2.5KB (ATmega) | 512MB | 256MB | 256MB (model A) or 512MB (model B) | FPU | None (Software) | Hardware | Hardware | Hardware | GPU | None | PowerVR SGX530 | None | Broadcom VideoCore IV | 集成存储 | 16MB (AR9331) and 32KB (ATmega) | 2GB (rev B) or 4GB (rev C) | 8MB | None | 扩展存储 | MicroSD (AR9331) | MicroSD | MicroSD | SD card | 网络 | 10/100Mbit ethernet and 802.11b/g/n WiFi | 10/100Mbit ethernet | 10/100Mbit ethernet | None (model A) or 10/100Mbit ethernet (model B) | 电源需求 | 5V from USB micro B connector, or header pin. | 5V from USB mini B connector, 2.1mm jack, or header pin. | 5V from 2.1mm jack, or header pin. | 5V from USB micro B connector, or header pin. | 尺寸 | 2.7in x 2.1in (68.6mm x 53.3mm) | 3.4in x 2.1in (86.4mm x 53.3mm) | 4.2in x 2.8in (106.7mm x 71.1mm) | 3.4in x 2.2in (85.6mm x 56mm) | 重量 | 1.4oz (41g) | 1.4oz (40g) | 1.8oz (50g) | 1.6oz (45g) | 大致 价格 | $75(450元) | $55 (rev C)(330元), $45 (rev B)(270元) | $80(480元) | $25 (model A)(150元), $35 (model B)(210元) |
输入/输出能力输入/输出评测:
| Arduino Yun
| BeagleBone Black | Intel Galileo | Raspberry Pi | 数字 I/O 针脚 | 20 | 65 | 14 | 17 | 数字 I/O 电源 | 5V | 3.3V | 3.3V or 5V (switched with jumper) | 3.3V | 模拟输入 | 12 with 10-bit ADC, 0-5V (supports external reference) | 7 with 12-bit ADC, 0-1.8V (no external reference) | 6 with 12-bit ADC, 0-5V (no external reference) | None | PWM 输出 | 7 | 8 | 6 (limited speeds prevent fine servo control) | 1 | UART | 2 (1 wired to AR9331) | 4 | 2 (1 exposed through 3.5mm jack) | 1 | SPI | 1 | 2 | 1 | 2 | I2C | 1 | 2 | 1 | 1 | USB Host | 1 standard A connector (AR9331) | 1 standard A connector | 1 micro AB connector | 1 (Model A) or 2 (Model B) standard A connector | USB Client
| 1 micro B connector (ATmega) | 1 mini B connector | 1 micro B connector | None | 视频输出
| None | Micro HDMI | None | HDMI, Composite RCA, DSI | 视频输出 | None | None | None | CSI (camera) | 音频输出 | None | Micro HDMI | None | HDMI, 3.5mm jack | 电源输出 | 3.3V up to 50mA, 5V | 3.3V up to 250mA, 5V up to 1A | 3.3V up to 800mA, 5V up to 800mA | 3.3V up to 50mA, 5V up to 300-500mA | 其它 | - All I/O routed to ATmega processor unless noted otherwise.
- Hardware compatibility with most Arduino Leonardo compatible shields. | - Real-time support with programmable real-time units.
- Many pins have multiple functions such as I2S audio, CAN bus, etc. See the wikifor more information. | - Mini-PCI Express slot.
- Real-time clock with optional battery.
- Mixed compatibility with Arduino shields. |
|
性能对比评测
性能评测使用了nbench性能测试工具,这个工具比较老了,是早期用来测试奔腾类的CPU,他会运行一此类似数据压缩之类的测试,每个测试会产生一个综合内存、整数运算、浮点运算性能的评分。此次测试使用GCC4.7对nbench进行了编译,选择了最少的优化设置,去掉了不需要的对比。
上边结果可以看出,BBB拥有最强的内存和整数性能,但是浮点性能比不上树莓派,要是应用很少使用浮点运算的话,BBB是非常不错的选择,树莓派的性能比较均衡,包括性能和价格,Intel的伽利略没想到成绩会如此低,ArduinoYun都比伽利略强。 电源使用情况测试: 此项目测试中,树莓派A版的功耗完胜,少了一个Lan芯片,砍了一半内存居然就能减少这么多的功耗。 伽利略功耗最大,性能最低,不说什么了,Intel为毛不把用于生产broadwill的工艺用在伽利略上呢?? BBB拥有和树莓派B版差不多的功耗,但是更强的内存与整数性能。
再看温度,伽利略比我的Hanswelli温度还高,我的I3温度才27-8度。。。。。。。。Intel,I服了U。树莓派A版温度最低,BBB居中,看来强劲的性能带来了不少的发热量,树莓派B版还是比较均衡的。 [size=14.4444px]开发对比:
软件开发和硬件一样重要,以下是每个开发板可以使用的系统和开发工具的摘要。 [/url]Arduino Yun操作系统是一个基于OpenWrt的分支,整个操作系统只能使用16MB的空间,不要期待能够找到所有 的Linux桌面环境工具。 可以使用Python2.7进行开发,其它像PHP或者Perl之类的语言可以通过opkg包管理器进行安装 不幸的是,没有足够的空间运行GCC在板子上编译代码。一个跨平台交叉编译工具必须安装,来进行Linux环境代码编译。 所有的输入输出通过ATmega32U4 进行,通过ArduinoIDE对ATmega处理器编程非常简单。 在Linux和ATmega处理器之间通讯通过一个串口连接,Bridge库提供了一个在ATmega和Linux环境之间通讯的方法。 通过ATmega对设备的实时控制非常简单,非常多的扩展板,设备和库和Arduino兼容。
[url=https://learn.adafruit.com/embedded-linux-board-comparison/development#beaglebone-black]Beaglebone Black- 在这板子上可以 使用 Debian, Ubuntu, Android, 和其它许多操作系统。.
- 安装编程语言的编译器(such as GCC, Python, Ruby, Node.js, Perl, etc.) 非常简单.
- 除此之外,提供了 Cloud9 IDE 和 Bonescript (Node.js and Javascript-based) 的I/O接口.
- 有非常多的 I/O 接口, 然后访问这些接口非常,需要在Linux中通过利用Device树实现
- 设备的实时控制可以通过对即时处理单元编程( programmable real-time units),然后仍然没有大量的工具方便地用于开发。
[/url]Intel Galileo操作系统是定制的Yocto Linux,软件支持是相当有限 的,必须安装一个完整的Linux发行版到SD卡。 开发工具也是相当有限的,第三方Build版本必须通过GCC或者其它工具安装 修改过的ArduinoIDE提供了给I/O编程的主要访问方法 兼容Arduino扩展板和库是受限制的,访问I/O速度较慢,同Arduino相比不一定是实时的。
[url=https://learn.adafruit.com/embedded-linux-board-comparison/development#raspberry-pi]Raspberry Pi
[size=14.4444px]总结
[size=14.4444px]你适合进行基于Linux的开发板吗? 答案时, 按需求! 没有哪块板子可以做所有的事情,你需要决定哪块版子最适合你的项目。以下许多问题可以帮助你选择正常的开发板:
[/url]你在Linux或者编程方面是新手吗??这方面只有选择树莓派了,因为树莓派有非常强大的社区支持,并且有非常多的教程资源。(比如我们ICkey技术论坛,还有 [url=https://learn.adafruit.com/category/learn-raspberry-pi]Learn Raspberry Pi series)
[/url]你需要与Arduino的扩展板和库兼容吗?看一下ArduinoYun吧,他和Arduino Leonardo有许多兼容的处理器。注意的是伽利略与部分Arduuino扩展板不兼容。
[url=https://learn.adafruit.com/embedded-linux-board-comparison/summary#faq-4]你需要读取模拟输入信号吗?选择一块像 Beaglebone Black, Arduino Yun, or Intel Galileo. 的开发板,更别忘了你可以在开发板上添加一个扩展的ADC
[/url]你需要I/O的即时控制吗?看看Arduino Yun or Beaglebone Black之类的开发板,因为它们拥有一个小的微控制器来进行即时编程。
像树莓派之类的其它的系统可以考虑添加一个支持实时输入输出控制的微控制器。
[url=https://learn.adafruit.com/embedded-linux-board-comparison/summary#faq-6]你需要强劲的性能吗?BBB为我们展示了强劲的浮点和内存性能,树莓派展示了强劲的浮点运算能力。
[/url]你需要Wifi吗?Arduino Yun 有Wifi,其它的板子可以添加一个USB的Wifi,伽利略甚至可以添加一个Mini PCI-E的Wifi
[url=https://learn.adafruit.com/embedded-linux-board-comparison/summary#faq-8]你需要运行图形或者媒体程序吗??树莓派可以玩玩Quake III,还支持1080P电影的硬解.
[url=https://learn.adafruit.com/embedded-linux-board-comparison/summary#faq-9][/url]仍然不确定?别把自己限制在某一块开发板,可以考虑几块板子的组合,比如树莓派和Arduino UNO的组合。树莓派拥有完整的Linux环境,Arudino UNO拥有实时控制I/O的能力。
|