嵌入式技术
如果你曾经想过自己设计一款电子装置,你可能已经听说过Arduino和树莓派的大名了。但如果你还没有研究或亲手操作过,可能会像我以前一样,觉得它们是用来解决相似问题的竞品。
可实际上,Arduino和树莓派是两款完全不同的产品,用来解决完全不同的目的。Arduino是微控制器(Microcontroller)领域真正的开拓者,并开启了“创客”的革命;树莓派作为另一个了不起的设备,真正开始了微处理器(Microprocessor)领域的革命。可以这么说,作为微处理器的树梅派是一台体积小,但是功能齐全的电脑;而作为微控制器的Arduino仅仅是电脑中的某一模块,用来解决某单一的问题。
背景
Arduino和树梅派都是最初作为教学工具来设计的,这也是为什么它们会变得如此受欢迎,因为这两款设备都非常容易学习。
Arduino出生于意大利。它的发明者马西莫·班齐和联合创始人在一个酒吧想到了这个点子,并用这个酒吧的名字命名了它。班齐是伊夫雷亚交互设计研究所的一名老师,想为跟他学设计的学生们做一个简单的硬件原型制作工具。
树梅派发明于英国。发明者埃本·厄普顿和他在剑桥大学计算机实验室的同事们对逐渐减少的学生数量,以及差劲的计算机技能感到抓狂。所以他们设计的树梅派是一台便宜并且方便修改的计算机,用来提高学生的动手能力。
作为教学工具, Arduino和树莓派都非常适合初学者。通过分析它们的硬件和软件,就可以非常明显的感觉到两者会应用到完全不同的项目中。
硬件和软件
下表列出了两者主要的不同:
Arduino UNO R3
树莓派2代B型
价格
¥148
¥256
尺寸
75x 55 x 15 mm
86 x 56 x 20mm
微处理器
ATmega328
ARM Cortex-A7 四核处理器
内存
0.002MB
1024MB
主频
16 MHz
900MHz
集成网络接口
无
10/100 BaseT RJ45 以太网
多任务支持
无
有
输入电压
7-12V
5V
Flash 存储
32KB
2 - 16G (SD卡)
USB
1个
4个
操作系统
无
Linux,Android和Windows 10
集成开发环境
Arduino,Energia
Scratch, IDLE等Linux支持的任何环境
树莓派和Arduino的价格和尺寸都差不多,两者都很小巧很便宜,只是它们所包含的配置决定了它们的不同。新款的树莓派2的主频速度上比Arduino快56倍。看起来对Arduino更致命的是,树莓派2拥有其256,000倍的内存。树莓派是一台独立的计算机,可以运行实际的Linux和Windows 10操作系统,支持多任务,还可以无线连接到因特网。所以树莓派看起来更像是一个功能齐全的电脑,它的各项性能虽然还不能和 PC 以及MAC相比,但是从数据参数中可以看出,树莓派似乎完胜 Arduino。
也许看起来树莓派比Arduino更高级,但那仅仅是对于软件应用。Arduino的简单让它在单纯的硬件项目中表现更好。
DIY电子商店Adafruit的创始者利马尔-弗莱德认为树莓派在使用各种传感器或芯片的易用性上是远不如Arduino的,树莓派需要额外的硬件支持才能对传感器进行读取,并且Arduino的编程环境比起Linux来容易太多了。
比如完成LED闪烁这最简单的操作。如果用树莓派去编写,首先要安装一个操作系统并且设置完成,然后还需要安装一些代码库来帮助控制GPIO引脚(就是连接额外硬件的地方)。然后再去编写程序代码,而Arduino只需要8行的代码就可以让LED开始闪烁了。对于初学者Arduino几分钟就可以完成的操作,使用树莓派可能花一天也搞不定。
由于Arduino设计的目的并不是为了运行操作系统或是软件的,所以对于支持的传感器都是即插即用的。而如果想在树莓派上使用这些传感器,那就得需要安装匹配的驱动程序,之后还要编写程序代码才能控制传感器的一些行为。
Arduino的简单还有一个好处便是不容易损坏。当想终止Arduino执行的任务时只需要拔下来就可以了,并不会被损坏。而如果不能采取正确的关机方式,在对树莓派进行断电操作时会有被烧毁的风险。所以对于初学者们,Arduino是十分平易近人的。
树莓派在软件应用上大放光芒,而Arduino让硬件项目变得更简单。所以实际的问题是你要清楚你想做什么。
为什么不一起使用呢?
实际在高级用户的应用中,树莓派和Arduino是互补,可以完美使用在一起的。它们可以教使用者不同的内容,Arduino是传感器的工作工厂,而树莓派负责分发指令。
Arduino非常适合驱动马达,接收传感器信号,闪烁LED等等,而树莓派可以发出命令开关其硬件的应用。并且树莓派支持多任务处理,你可以一边用Arduino读取着数据,一边听音乐看视频。
事实上,Arduino和树莓派并没有高低之分,两者都有自己的特性和优点。Arduino 适合一些编程能力较低的初级创客,以及侧重传感器使用的硬件产品。而树莓派更适合有一定的编程经验,以及依赖多种应用程序和丰富功能的硬件产品。对于学习者,两种开发板最好是都要系统的学习一下。因为两者覆盖了不同的领域,并且可以交互使用,从中获得的相关知识也是成为一名优秀创客的基本条件。对于硬件开发者,则需要了解自己的产品特性和自身能力来选择使用哪一个开发板,从而使得自己的想法得以快速准确的实现。
责编AJX
全部0条评论
快来发表一下你的评论吧 !