开源硬件历史

主流开源硬件对比

 

2019 年 8 月 21 日,在美国圣地亚哥举办的 Linux 基金会开源峰会上,IBM为进一步彰显对于开源研发的支持,宣布将向开源社区授权关键技术:POWER 指令集架构(ISA)


围绕 POWER 架构,IBM 已经贡献了超过两百万行开源系统固件代码和系统参考设计,以及大量的相关技术文档,由此赋能 OpenPOWER 开发者。随着 ISA 以及其他技术被纳入开源社区,开发者将拥有构建革新性新型硬件的利器,这些硬件将可借助 POWER 领先的企业级能力来处理数据密集型工作负载,从而打开 AI 和物联网快速发展的一条捷径。

 


像 IBM 这样的巨头都在往开源方向靠拢,可见开源的力量之巨大。那什么是开源硬件呢?


“开源”这一词语是在 90 年代后期 OSI(开放代码促进会)成立时才正式被使用。OSI 是为协作开发而成立的宣传和管理的组织,在早期,开源基本上指的就是开源软件(OSS),开源硬件(OSHW)的出现晚于开源软件,下面我们来梳理一下开源硬件的历史


1997 年,Bruce Perens(开源定义的创造者,OSI 的共同创立者,同时也是一个业余无线电操作员和爱好者)发布了开源硬件认证程序。该程序可以让硬件开发者将他们的产品自行认证为开源。


1998 年,很多人给出了他们的想象中开源硬件的发展方向。David Freeman 宣布了开源硬件规范工程(OHSpec);Troy Benjegerdes 把将开源软件准则应用于硬件,并创立一个商业投机机构的想法公之于众;Reinoud Lamberts 创建了一个致力于低成本和开放设计电路的协作网站 Open Design Circuits。


一年后,Sepehr Kiani 博士,Ryan Vallance 博士和 Samir Nayfeh 博士参与一个项目,把开源哲学应用到机器设计应用,并共同建立了非盈利结构开源设计基金会(ODF),而且着手于开发一个开源设计定义。

 


直至开源硬件协会(Open Source Hardware Association)对开源硬件给出了这样的定义:开源硬件是可以通过公开渠道获得的硬件设计,任何人可以对已有的设计进行学习、修改、发布、制作和销售。硬件设计的源代码的特定的格式可以为其他人获得,以方便对其进行修改。理想情况下,开源硬件使用随处可得的电子元件和材料,标准的过程,开放的基础架构,无限制的内容和开源的设计工具,以最大化个人利用硬件的便利性。开源硬件提供人们在控制他们的技术自由的同时共享知识并鼓励硬件设计开放、交流、贸易。


开源硬件的发展史并不是一帆风顺的,在上世纪 90 年代末的时候爆发了许多围绕 OSHW 概念的活动,但由于其不成熟性,很快就胎死于概念阶段。直到 2005 年左右,OpenCores、Reprap、Arduino、Intel loT on Instructables 和 Open Prothetics Project 等几个主流的开源硬件项目和公司的出现,改变了这一僵局,开源硬件才再次成为焦点。


目前,主流的开源硬件有 Arduino、树莓派BeagleBone、Cubieboard、pcDuino、Kiwiboard、Mixtile 等,下面给大家一一介绍一下。


Arduino

 


Arduino UNO


Arduino 的出现对于开源硬件具有里程碑式的意义,Arduino 是一个欧洲团队开发的,出现于 2005 年,是一款便捷灵活、方便上手的开源电子原型台,包含硬件(各种型号的 Arduino 板)和软件(Arduino IDE)两部分。两者都是开放的,也就是说如果你购买了 Arduino 电路板,既可以获得 Arduino 开发板的电路图,也可以获得 Arduino IDE 的源代码,不需要支付额外的费用。


Arduino 采用了 Atmel 公司的一款微处理器作为主芯片,具有体积小、价格实惠等特点。


不仅如此,Arduino 除了可以独立运行外,在设计之初就考虑到了与不同的外设进行交互的需求,在与传感器、控制器件、LED、步进马达等连接时,几乎不需要增加支持电路。


Arduino IDE 是基于 processing IDE 开发的,具有灵活、简单的特点。


软件开发语言“Arduino 语言”是基于 wiring 语言开发的,即是对 avr-gcc 库的二次封装,使用者不必掌握汇编语言和 C 语言等复杂技术就可以进行开发,所以说 Arduino 对初学者非常友好。


树莓派

 


树莓派 4B


树莓派的尺寸只有信用卡大小,它是一款由英国的树莓派基金会所开发的,目的是以低价硬件($25)及自由软件刺激在学校的基本的电脑科学教育,后来演变为电脑业余爱好者、教师、学生以及小型企业等用户的迷你电脑。


树莓派采用了 ARM11 系列的一款处理器,主频达到 700M,以 SD 卡为内存硬盘,卡片主板周围有两个 USB 接口和一个网口,可连接电视、显示器、键盘、鼠标等设备和网线。同时拥有视频模拟信号的电视输出接口和 HDMI 高清视频输出接口,具备所有 PC 的基本功能,使用者只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。


目前树莓派的生态已经愈发完善,拥有详细的学习资料,丰富的附加模块以及 Pidora (基于 Fedora), Raspbian (Debian), Openelec (XBMC), 和 RISC OS 等一系列可供选择的定制系统。


有树莓派爱好者总结了树莓派的十大妙用:


1. 把 Kindle 电子书变成一个电脑


2. 打造出一款老是街机


3. 一个宠物喂食机


4. 远程咖啡机


5. 一台超级计算机


6. 太阳能环保电脑


7. 一个匿名化网站流量的 Tor 代理


8. 一款掌上电脑


9. 一台“时间机器”


10. 一台比特币“挖矿机”


BeagleBone

 


BeagleBone Black


BeagleBoard,作为全球第一款开源的 ARM 开发板,让 Beagleboard.org 社区走进人们的视野。BeagleBoard 实际是由 TI 支持的一个以教育为目的的开源项目。其发布的四款板子的硬件都是由 TI 的工程师 Gerald Coley 一人设计。BeagleBone 就是其中一款板子,主芯片采用了 TI 的基于 Cortex-A8 的芯片:AM335x,板载 DDR 内存、eMMC 存储芯片,还带有 USB 以及以太网接口,其性能完全称得上一个微型计算机。与上述两款开源硬件相比,BeagleBone 的运转速度几乎是 Raspberry Pi 的 2 倍,是 Arduino 的 40 倍。当然,代价就是 BbeagleBone 的价格是 Arduino 的十倍多。


BeagleBone 是基于 Linux 系统开发的,支持程序并行运行,支持多语言编程,换句话说,在 BeagleBone 上可以运行 Android、Ubuntu 以及 Debian 等系统,所以你能选用自己最喜欢的编程语言和编译工具。BeagleBone 有着性能强、价格相对较低、硬件扩展性强等特点,是为嵌入式 Linux 极客打造的产品。开发难度要比 Arduino 大一些,不太适合初学者。


Cubieboard

 


Cubieboard7


Cubieboard,简称 CB,是 2012 年由一支中国珠海的技术团队 Cubietech 开发的一个开源 MiniPC 和开发板。Cubieboard 这个名字源于在这个团队创业初期,一个海外创客告诉他“risc + linux + small form factor + community = revolution”,使得他们最终决定做开发板。


Cubieboard 现有七代产品,第一代是采用 A10 的基础版,第二代更换了双核处理器 A20,并且经过测试可以稳定地运行在 1.2Ghz 上,第三代产品又名 Cubietruck,在原基础之上增加了 RTC 和无线网卡、蓝牙、千兆以太网等实用装置,在此时,Cubieboard 也使用了自己的小金丝猴 Logo,同时也出了自己的扩展板,让 Cubieboard 变成了一个完整的产品。


Cubieboard 的产品可以分为三种形态,第一种形态是针对初学者的单片机,第二种形态是嵌入式 Mini 主机或服务器,第三种形态是一体机。


Cubieboard7 作为第七代产品,搭载了 Actions Semi S700 四核 ARM Cortex-A53 处理器与 Mali-450MP4 GPU,配置 2GB LPDDR3 内存、8GB eMMC 闪存,micro SD 卡插槽可拓展至 32GB,和二代和六代一样,可以连接到 DVK522 扩展板,能更轻松地访问更多的 I/O,如 LVDS,RGB LCD,VGA 等。目前,只有 Android 5.1.1 可用于该板,但 CubieTech 承诺将“不断维护 Android,Debian,Debian Server 操作系统”。


Cubieboard 开发资源可以在百度网盘下载,其中包括工具、Android 5.1 固件、SDK、文档、原理图(PDF)和数据表等开发资源。另外还提供了 MEGA 的链接,以便其余地区人员下载。


pcDuino

 


pcDuino


pcDuino 是一种高性能、高性价比的国产迷你 PC 的平台,能够运行 PC 操作系统,如 Linux 3.0、Ubuntu 和 Android 的 ICS 等。它可以通过内置 HDMI 接口输出视频到电视或显示器屏幕。 pcDuino 专门针对开源社区快速增长的需求,即希望有一个平台可以运行完整的 PC 操作系统,容易使用的工具链和兼容流行的 Arduino 开放的生态系统,如 Arduino shield 和开源项目等。


pcDuino 采用了一款基于 Cortex-A8 的 ARM SOC 作为主处理器芯片,主频可达到 1GHz,搭载了 OpenGL ES2.0,OpenVG 1.1Mali 400 core 的 GPU,1GB DRAM,板载 2GB Flash,micro SD 插槽可扩展至 32GB,HDMI 视频输出接口,支持 Linux3.0、Ubuntu12.10、Android ICS 4.0 操作系统,兼容 Arduino,所有 Arduino 扩展引脚可以通过 API 访问,包括 UART、ADC、PWM、GPIO、I2C,拥有 2.54mm Headers,编程语言方面支持 C, C++ with GNU tool chain 和 Java with standard Android SDK,同时拥有 RJ45 以太网接口以及可扩展 USB WiFi。


pcDuino 的目标市场是树莓派客户群以及 Arduino 市场。


Kiwiboard

 


KiwiBoard


KiwiBoard (www.kiwiboard.org)是由深圳一个团队开发的开发板,是一款集成了 ARM Cortex A8 处理器的开放电路板,集成 DDR 512M 内存,Nand 4G 存储,体积比信用卡还要小。


Kiwiboard 提供了一个兼容 Arduino 的解决方案,扩展板可以外接各种硬件设备,开发者可以通过 Android 来控制马达,摄像头,舵机等等。所需要做的准备工作就是学习 Android 开发,极大的降低了门槛。当然开发者也可以通过 Linux 底层,C 来控制硬件。


Mixtile

 


Mixtile Loft-Q


Mixtile 是致趣科技推出的一个可扩展的嵌入式系列开发套件,可以帮助创客或者初创公司快速创建智能设备。之后致趣科技又推出了一款面向家居环境的原型板(命名为 Mixtile LOFT-Q),采用的芯片特性偏向于娱乐方向,也可作为智能家居的控制中心和数据中心。


Mixtile Loft-Q 留有 2.5 英寸 SATA III 硬盘接口,并且配置了千兆以太网口,它是低功耗小型 NAS,可以通过 Micro-USB 3.0 设备接口连接电脑,作为移动硬盘使用。Mixtile Loft-Q 提供了 180-PIN 拓展接口,具有强大的可拓展性,能够满足用户更多的拓展需求。将 Loft-Q 作为一个小而强的计算机使用,将是个充满想象的选择。


与树莓派不同的是,Mixtile 是以成型产品为目标,会考虑产品开发完成的封装和外观问题,由玩家组装好之后它不会被看作是一个用来开学习、研究的东西,而就是一个家用电器。


开源硬件分析


从地域分布来看,Arduino、树莓派、BeagleBone 均源自国外,发展早、成熟度高、资料全,深受极客们的喜爱,而 Cubieboard、pcDuino、Kiwiboard、Mixtile 属于开源中国,性价比较高,其中 Cubieboard 虽然在国内没有引起很大的反响,却受到了国际上的广泛认可。


从价格的角度来看,国内的板子明显比国外的板子要便宜很多,国外的三款开源开发板以 Arduino 最为便宜,接下来是树莓派和 BeagleBone。


从开发者体验的角度来看,如果是初学者,建议选择资料多、易上手的 Arduino 和树莓派。这两者之间的区别是 Arduino 更适合做一些与电路、传感器等相关而不需要太多复杂计算的项目,比如机器人控制、四轴飞行器控制、时钟、发光阵列控制等等;树莓派的处理器运算能力更强,由于具有操作系统,可以设计出功能更丰富的软件,因此树莓派更适合做一些需要较多运算和功能的项目,比如游戏虚拟机、网页服务器、机器人、家庭智能控制系统等。如果是经验丰富的极客,推荐选择配置更强大,开发难度较大的 BeagleBone,可以打造功能齐全的机器人控制等。当然国内的开源硬件板有的也是不错的,对于有兴趣的玩家也不妨试一下。

 

 

与非网原创内容,未经许可,不得转载!