我应该选择 Arduino 还是 Raspberry Pi?

目前还没有读者喜欢这篇文章。
Raspberry Pi or Arduino?

Opensource.com。已修改。CC BY-SA 4.0。原始图片来自 Adafruit 和 Wikipedia。

我花了很多时间参加会议和像 Maker Faire 这样的活动,并且与人合著了一本关于 Raspberry Pi 的书,我花了很多时间与人们讨论像小型电子设备和开源硬件之类的事情。我听到的最常见的问题可能是,“我应该选择 Raspberry Pi 还是 Arduino?”

根据提问的人,我几乎总是说应该买 Raspberry Pi,而不仅仅是希望卖出一两本书。通常,问这个问题的人还没有意识到这两种设备是不一样的。这不像“我应该买 Mac 还是 PC?”或者“我应该尝试 Ubuntu 还是 Fedora?” 它们具有相对相同的终点和更精细的区别。 Raspberry Pi 是一台计算机。 Arduino 是一个微控制器。 如果您从零开始,不知道该做什么,您至少可以将 SD 卡和显示器插入 Pi 并拥有一台计算机。您可以将卡刷入 Kodi(以前称为 XMBC),并在几分钟内拥有一个可用的媒体中心。这是一条快速获得已完成项目满足感,并有充足成长空间的途径。

问这个问题的人通常也是在为别人问,而不是为自己,而是“我应该为孩子买哪种设备?” 因此,如果您是一个在圣诞节早上打开盒子的孩子,它并不完全是一套乐高积木,附带一本说明书,只需一两个小时就能完成一件作品。这里有一个学习曲线,再说一次,如果您有一个 Pi,至少您可以相当快地启动并运行一台计算机,玩一会儿,然后从那里弄清楚下一步该做什么。如果您有一个 Arduino,那么您会得到一块漂亮的蓝色板子,却不知道该用它做什么。

当然,让一个九岁的孩子来证明我的整个理论是错误的。

Arduino 呢?

您可以想象,在写这本书的过程中,我的房子变成了一个小型无线电棚屋。到处都是电线、按钮、LED 和开膛破肚的 Game Boy 到处都是。(而且已经有好几年了。)然而,我的孩子们显然完全没有注意到这一点,并且对任何东西都几乎没有兴趣,除非我特别要求他们检查一下。

但他们似乎对软件感兴趣,并且一直在玩儿童级别的应用程序创建器,所以我给大一点的孩子买了 SparkFun Inventor's Kit。墨菲定律就是这样,这也大约是她宣布她不知道长大后要做什么的时候,但她知道那不会是程序员,因为她不擅长编程。

六周后,凭借那套基于 Arduino 的 Inventor's Kit,她的 STEAM 展会项目是一个 Arduino 项目。

据我所知,Raspberry Pi 只是家里的另一台电脑,而且有很多这样的电脑。它碰巧很小,所以这很酷。但这只是另一台电脑。而且比所有其他电脑都慢得多。 Arduino 是一个。一个要解决的难题。要解锁的秘密。最重要的是,当您意识到自己创造了在开始时不知道如何制作的东西时,会获得巨大的满足感。

我将她喜欢构建硬件和软件的大部分功劳归于 Inventor's Kit。它的手册从我们大多数人开始的地方开始——让 LED 闪烁。然后您学习什么是电位器以及如何使其工作。然后是更多的 LED、传感器、电机等等。她了解到她可以通过借鉴他人的示例来创建代码,这比从头开始容易得多,而从头开始正是让她产生“我不擅长编程”印象的原因。这是一次非常有益的体验,让她意识到她可以创造更大的东西。

或者,Raspberry Pi 呢?

那么,就选 Arduino 了?

不,不一定。当然,Raspberry Pi 不仅仅是“只是”一台小型、较慢的计算机。如果真是那样,我们就无法为它写一整本书的项目了!有些项目(和人)更适合其中一种设备。因此,关于“我应该买哪一个?”的建议更加细致入微。

我认为最好的入门方法是选择一个项目,或者如果您真的不知道从哪里开始,可以选择像我为女儿买的那样的套件。 Maker Shed 销售一些 Raspberry Pi 套件。 Adafruit 有一个专门为 年轻工程师 提供的套件专区。如果价格是一个因素,并且您是一个精明的购物者,您有时可以以低于套件的价格购买这些套件中的零件。但是那样您就没有套件的指南了。这些网站也都定期促销,所以请加入他们的邮件列表并留意。

您还可以通过找到您想制作的项目并获取零件来创建自己的“套件”。 Instructables 是一个查找项目的好地方,许多其他网站也是如此。但是当您找到您认为想要构建的东西时,请通读说明。它们看起来完整且易于遵循吗?众包的想法很棒,但并非所有优秀的构建者也是优秀的作者!您不希望因为说明缺少有用的细节而最终对半成品项目感到沮丧。

构建指南

那么,您可能想求助于大量的书籍来获取您的入门项目。对于 Raspberry Pi,我(当然!)会从我自己的书开始,Raspberry Pi Hacks。不过,还有很多其他的书,而且专门针对最新版本 Raspberry Pi 2 的书也开始出现。不过,您应该不会遇到在新 Pi 上构建旧书或在线项目中的大多数项目的问题。

对于 Arduino,我最喜欢的书之一是 Arduino 和 LEGO 项目,因为您可以将房子里两个最有趣的玩具组合在一起!我也喜欢 Simon Monk 写的所有东西,因此我可能会推荐 30 个 Arduino 邪恶天才项目

在您考虑要构建什么时,也请思考以下几个问题

  • 这是给孩子用的吗?不仅要考虑孩子的年龄、经验和耐心,还要考虑您自己的。您愿意花多少时间与孩子一起完成项目?
  • 您是否需要某些部件,而这些部件更容易为其中一个而不是另一个获得?庞大的 Arduino 社区为几乎所有你能想象到的东西创建了扩展板(执行特定角色的附加部件)。 Raspberry Pi 社区也在不断壮大,但您可能会发现更容易为给定的项目找到特定的部件。
  • 您是否需要或想要 Raspberry Pi 的任何/所有内置优点,例如 HDMI 和 USB 端口?
  • 您的最终目标是什么?您希望学习编程吗?您想玩一会儿设备,然后再重新利用它吗?(Arduino 擅长一次做一件事,但如果您决定要继续进行更复杂的项目而不购买新板,则不擅长多功能。)

您可能会在选择项目的过程中回答其中一些问题,因此请在进行过程中牢记最后一个问题。它们都是廉价的板子,但如果您想在将来重复使用它,您需要在计划时考虑多个项目。最终呢?也许您会觉得您需要它们两个!事实上,通过像 AlaMode 这样的项目,您可以将它们一起使用。

祝您好运,构建愉快!

User profile image.
Ruth Suehle 是 Red Hat 开源和标准团队的社区领导经理。她是《Raspberry Pi Hacks》(O'Reilly,2013 年 12 月)的合著者,也是 GeekMom 的高级编辑,GeekMom 是一个为那些在极客和育儿中找到乐趣的人们提供的网站。

21 条评论

或者 ODroid...

两个都买 - 这是最好的答案。

回复 作者:Jeff Kabanuk (未验证)

很棒的文章。

我告诉人们,在他们心中有一个项目之前,这两个东西都不会让他们觉得有用。

一旦他们对他们想要实现的目标有了一些想法,他们就可以将 Arduino 视为他们将要编写的程序的真实世界表示,而 Pi 是完整的计算机,它既可以运行程序,也可以做他们可能想到的其他事情。这取决于他们是否想要处理 Pi 可以做的所有其他事情的能力 [或有时是负担],或者他们是否想要 Arduino 的专注和相对简单性。

“...Arduino 的相对简单性。” 也许吧。我们将它们用作基于模糊逻辑的控制器,我们在 Matlab 中开发模糊算法,并将完成的微代码下载到目标 Arduino 板中。我想可以用 Raspi 来做到这一点,但怀疑板载操作系统(不是实时操作系统)可能会妨碍。当您考虑到 Raspi 解决方案可能根本无法工作时,也许 Arduino 解决方案相对简单。

回复 作者:sethkenlon

我不确定 RasPi 的性能是否足以满足您的应用。话虽如此,Raspberry Pi 中有几种硬实时操作系统的选择,具体取决于您想要 Debian 基础还是 RedHat 基础。

如果您想要比两者都更强大的东西,您可以尝试 Parallella。它比 Pi 贵一点,但如果您可以并行化您的算法,您将获得 i7 单核的性能,但外形尺寸(和功耗系数)与 Pi 相同。

回复 作者:Tom Curl (未验证)

好文章!我喜欢 raspi,因为它将整个编程环境都放在设备上。我个人不那样使用它,但这对人们来说是学习的好方法。

这是一篇很棒的文章,因为这两种设备都有自己的优点和缺点,例如速度、内存或功耗。

将 Raspberry Pi 归类为开源硬件有点误导。硬件本身不是开源的。我无法也可能永远无法获得 Raspberry Pi 2 原理图,据我所知,仍然无法获得 Raspberry Pi B+ 原理图。

它是一台不错的小型计算机。而且您这里有一篇好文章。但对于我们中的一些人来说,这对于 Pi 来说是一个相当大的问题。而且我发现 Pi 基金会对开源的态度令人不安,因为他们懒得开源自己的硬件。

如果基金会可以,他们会这样做。问题在于 Broadcom。

回复 作者:Casey (未验证)

看看 CHIP:https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer/description

我认为这归结于您想做什么。如果您想控制大量组件,例如 LED 和电机,并从传感器和电位器读取数据,那么 Arduino 是不二之选。如果您想学习软件编程并可能控制一些 LED,那么 Raspberry Pi 是最佳选择。 <a href="https://codeduino.com/information-and-news/hardware/arduino-vs-raspberry-pi/">此页面</a> 对它们进行了比较,并表明 Raspberry Pi 无法进行模拟输入,因此无法进行传感器或电位器输入。但是,您始终可以将 Raspberry Pi 连接到 Arduino,从而获得两全其美的效果。

使用过这两种设备进行工作项目。
Atmel AT 系列具有非常酷的接口,GNU g++ ... 工具链为您的硬件导向型工作/娱乐工作提供了稳定的平台。 Raspberry Pi 在脚本语言方面是一块蛋糕......让我深入研究了 Python。
期待通过 I2C 将两者结合起来。

另一个很棒的板子是 ESP-12,它的售价不到 5 美元,并且比 Arduino 功能更强大,具有 32 位 80 MHz MC、4MB 闪存、96 KB RAM 和集成 WiFi。对于开发,您可以在 Arduino IDE、Lua 和 NodeMCU 以及 MicroPython 之间进行选择。唯一的缺点是 ESP8266 是 3.3v 而不是 5v,因此您需要注意连接到它的东西。

我有很多 Arduino 和 Raspberry Pi,但我最近最喜欢的是 Sparkfun 的 freeSoc2。它是一个微控制器,具有 32 位处理器、硬件浮点,最重要的是,它具有大量软件可配置的模拟和数字硬件,这是任何项目的基本构建块。看看它,它可能是您的下一本书的基础,并且非常有趣。

我认为这篇文章真的离题了。
本质上,作者是在说“如果你的孩子和你一样懒惰和缺乏动力,那就给他们买一个 Raspberry Pi,假装它只是一台廉价的 PC”。结果将是一个孩子拥有一台电脑,这台电脑给他们带来了令人失望的桌面体验,并让他们想知道,当他们可以使用他们的 PC、Mac 或平板电脑时,他们为什么要关心它。特别是当他们尝试使用他们习惯的特定于平台的应用程序时。

将 Pi 用作简单的 PC 对 Pi 和孩子都是一种损害。

就个人而言,每当我遇到这个问题时,我总是说“两个都买”。它们足够便宜,您不必选择,也不应该选择。接下来,重要的是要理解和沟通,这些不是消费电器。它们不是插入电源就可以工作的(某种)类型的设备。它们是用来修补、学习和解决问题的。如果这个人对这些不感兴趣,那就省下你的钱,让他们回去浪费他们的思想,玩糖果粉碎和浏览 Facebook。

对于那些确实想学习、修补、探索和控制周围世界的人来说,这两种设备都是进入嵌入式计算和电子世界的惊人、低成本、低门槛的入口。而且它们绝不是竞争关系。它们是互补的。如果它们不是互补的,就不会每隔一周就有一个 Kickstarter 在销售 Pi/Arduino 集成的下一个大事件。这就像说你的皮卡车和你的旅行拖车是竞争关系。事实是,它们在一起会更好,即使它们可以单独使用。

至于开箱即用的满足感。我认为,将 Arduino 连接到您的计算机,加载其中一个演示,然后瞧,您已经制作出闪烁或移动或其他东西,这更有意义。插入 Raspberry Pi 并看到桌面操作系统启动,这与启动任何其他计算机一样令人兴奋。并不是说您不能用 Pi 做一些令人兴奋的事情,当然可以。但最令人满意的任务不会在插入电源后的几分钟内发生。回报将随着时间和努力而来。

总的来说,这些都是很棒的设备,对业余爱好者、修补者、教育工作者、学生和其他人产生了不可估量的影响。为什么要只选择一个?

这里有人认为应该告诉人们 Beagle Bone Black 吗? 1Ghz CPU,512 MB,2 个 RTU,96 个 GPIO 引脚(没错,96 -> 4 X 24),Debian OS(当前版本),HDMI 输出。这些都是已经存在一段时间的规格。这是概要:http://beagleboard.org/support/bone101

Beaglebone 是很棒的板子!它们只是恰好不是这篇文章的主题。 :-)

回复 作者:Joe Almeida (未验证)

买 Odroid-c1,性价比更高。

简洁的文章!我使用 Arduino 是因为它的低功耗。
Radio Shack 的参考资料让我想起了我成长的家。 :-)

最好的问候,
Mayur

PSOC 5LP 或 PSOC CY8CKIT-044 都是很棒的板子,并且它们比 PI 或 Arduino 更容易使用。它们还附带免费的开发软件。它们还可以与 Arduino 扩展板接口。

感谢您撰写关于这两个选项的精彩的真实世界文章。作为一个非常聪明的 8 岁男孩的父亲,他对 Minecraft、Scratch 和 Meccanoid 机器人非常感兴趣,我发现自己在 Amazon 上看了 LilBits 系列玩具。

阅读了一两篇评论后,我意识到这些是一些非常巧妙的小套件,但价格却贵得离谱。所以我开始想,也许我可以找到类似的东西,而没有“初创炒作”和由此产生的价格炒作。

这是我读到的第二篇文章。第一篇也很有信息量。但您的文章给了我认为是选择的最佳工具...“找到一个项目,看看哪种选择最能完成该项目...” 这是一个很棒的看待问题的方式!

我的一部分非常懒惰,想花 250 美元买一个 LilBits 套件就完事了。但我的一部分不想奖励发明者,因为他们意识到了我的懒惰。感谢您撰写关于这个主题的精彩文章,尽管 Tachyon 说了什么。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.