大数跨境
0
0

arduino和树莓派

arduino和树莓派 Social Companion
2019-04-19
1
导读:Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Ar

Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。它适用于爱好者、艺术家、设计师和对于“互动”有兴趣的朋友们。

通俗的讲:arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但是不是官方的,还有intel的伽利略),或者是学习板啥的,但是Arduino开发人员开发了简单的函数,还有许多应用库,这样就不用直接去操作寄存器了,使得没有很好的单片机基础的人员也可以使用Arduino做出自己想要的东西。Arduino的开发人员还开发了一个简洁的IDE(集成开发环境)也就是写代码,编译,调试,下载的上位机软件。还有这些都是开源的可以在他们的官网下载

再说说树莓派

树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名‘树莓派’。这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。在2006年树莓派早期概念是基于Atmel的 ATmega644单片机,首批上市的10000“台”树莓派的“板子”,由中国台湾和大陆厂家制造。

树莓派就是将你电脑机箱里的大部分东西都集成到了一块电路板上的微型电脑,接上显示器鼠标键盘等等 东西和你的电脑没啥实质的区别,操作系统不一样这个是基于linux的系统。

区别在哪?

Arduino和树莓派看起来很相似——它们都是小型的电路板,有一些芯片和管脚在上面——但实际上它们之间的区别可大了,是完全不同的设备。Arduino实际上只是一个微控制器,并不是一台迷你电脑。微控制器只是电脑中的一个部分,与树莓派相比只能算是一个子集,提供的功能有限。

尽管Arduino可以通过一些小型的类C应用程序进行编程,但它无法运行一个全面完整的操作系统。所以想用Arduino来取代你家里的媒体中心是不可能的。另一方面,树莓派就是一台电脑,我想你应该知道我的意思。

强项弱项对比

那么Arduino就毫无用处了吗?当然不是——Arduino非常适合于电子产品项目。它包含一组输入和输出管脚,常常可以直接同相关的部件连接。可以立刻撸起袖子开干,让你觉得难以置信的简单和容易。这使得Arduino非常适合于制作产品原型。

Arduino上运行着Arduino固件程序——这是一组核心基础软件,允许Adruino通过USB同电脑通讯,并能使用到电脑上的所有特性。一般来说你不会想去换掉这个固件程序,但这么做还是可行的。一旦加载了你的应用程序,你可以将Arduino插在任何有电的地方,它就会立刻开始工作——你不需要重启,也不需要外接一个键盘,甚至也不用选择让它运行什么应用程序。Arduino只会做已经给它编程好的事情,并且会立刻去做。

树莓派则是一台功能完整的迷你电脑。它需要一个操作系统——这是你需要做出选择的第一件大事,这会极大的影响你之后的体验。一台完整的电脑所拥有的功能,树莓派全都有(只是体积变得更小)。存储空间是通过micro-SD卡来提供的,而内置的以太网接口则提供了连接到互联网的能力(Arduino也可以访问网络,但那需要一些额外的部件)。

树莓派的核心是一款BroadcomArm-v6 CPU,它也有内存以及用来驱动HDMI输出的图形处理器。你可以外接一个键盘和显示器,加载Linux操作系统。那些非技术人员可能怎么也想不到这么小的一块电路板究竟是如何驱动这一切的。树莓派是一款体积非常小但功能却非常强大的平台——非常适合于嵌入式系统,或者那些需要更多互动能力和处理能力的项目。

也就是说,树莓派相对于简单的电子产品项目来说要复杂很多。比如,大家伙的第一个项目都是一些类似LED点灯这样的东东。在Arduino上,这包括将LED灯和电阻连接到两个管脚上,然后上传大概8行代码,搞定。而对于树莓派——假设你已经安装好了一个功能完整的操作系统,而且已经按你希望的方式设置完成——然后你需要安装一些程序库来帮助你控制GPIO引脚(那就是你连接其他组件的地方)。杀鸡不用牛刀嘛,对不对?

有很多程序库都可以选择安装,这取决于你打算用什么语言来编程——包括像Scratch这样的可视化设计工具。最后,在运行程序之前你可能还需要编译代码。关键是,在树莓派上你可以做到Arduino能做到的一切——但是更加复杂。

另一个重点是请记住对于电子产品类的项目来说,Arduino是最流行的平台。因此尽管用树莓派也能完成这些项目,但相关的初学者教程并不会太多,能帮助你的资源很少。最好把树莓派看做是一种升级版的Arduino,当你准备好解决规模更大,需求更多的项目时再考虑树莓派吧。

“Arduino有处理‘实时’和‘模拟电路’的能力,这是树莓派没有的,这种灵活性让它可以匹配各种传感器或芯片”, “树莓派就没有这样灵活,比如,要读取模拟传感器就需要额外的硬件协助。有成千上万的教程教你把Arduino挂到几乎所有的设备上。另一方面,树莓派可以受益于多年的Linux软件积累,所以它们两个都是很棒的选择!”

Arduino的集成开发环境明显比Linux容易太多了。比如,如果你在树莓派上想写个程序让LED闪烁,你需要安装一个操作系统以及各种代码库,而这还仅仅只是开始。而在Arduino上,你可以用仅仅8行代码来让LED闪烁。而且,Arduino并没有设计成运行操作系统或是大量软件,你可以仅仅把它插到板子上,它就开始工作了。

树莓派可以支持多个任务进程,它可以在后台运行多个程序。比如,我有一台树莓派同时用作打印服务器和VPN服务器。

另一方面,你可以让Arduino插在板子上去长时间执行单一的任务,而当你想停止的时候把它拔出来就好了。这也是为什么Fried建议初学者在玩树莓派之前先玩Arduino:

“Arduino更简单,更难‘变砖’或‘损坏’,而且有更多的适合初学者的学习资源。”Fried这样说,“而要玩树莓派,你不但要学习编程比如Python,还要学习Linux。Arduino可以在任意电脑上工作,而且可以用电池供电,你可以任意时候随时开关都很安全。而树莓派在没有合适关机的情况下断电可能会损坏。”

树莓派在软件应用上大放光芒,而Arduino让硬件项目变得更简单。所以问题变成你先确定你想做什么。

事实上,两极世界你都可以拥有:树莓派只是Arduino的升级版,它更加复杂,而Arduino所能做的事情不如树莓派多——但是你有考虑过将它们用在一起吗?下面这个项目——AlaMode——直接将Arduino堆叠在树莓派上,使它立刻就拥有了Adruino的所有常用功能。

或者,如果你对Python情有独钟,那么将Arduino通过USB连接到你的树莓派上,然后使用下面这个接口就好了。


【声明】内容源于网络
0
0
Social Companion
信息科技教学,个人思考随感的在线记事本
内容 791
粉丝 0
Social Companion 信息科技教学,个人思考随感的在线记事本
总阅读117
粉丝0
内容791