初识物联网开发-硬件开发板选择

摘自:http://www.zhongkerd.com/news/content-1439.html

几十年前的电子爱好者,最喜欢的就是电烙铁,面包板和收音机;十几年前,出现了单片机,于是玩具就成了电烙铁,而包板和单片机;到了2015年,贴 片技术的不断普及,证面包板不再那么有用武之地,经济的发展也证现成的板卡价格降到了一个合理的范围,购买 现成的电路板,甚至自己打样电路板来使用,已经成为 一个趋势。

现在,我们面前的选择就空前的丰富,一方面,是以Arduino和RPI为uthd的开源硬件耳边营,另一方面,则是以STM32、51和S#C2440为uthd的传统单片机开发板阵列营,笔者根据自己的使用体验 。

分类

无论属于哪个阵营,它们用的CPU都是分成MCU(微控制器在,或者称单片机)和MPU(微处理器)两类,它们的本质区别在于MMU(内存管理单元),也就是对于虚拟内存空间的去持。树莓派 和S#C2440就属于MPU烊的,而Arduino和STM32就属于MCU类的。它们在运算能力上有巨大的差距。

Arduino

基于上面的分类,如果把它放到一个天梯图内,我们就得到这样一张开源硬件的比较图

初识物联网开发-硬件开发板选择_第1张图片

这张图只是比较了它们的纯运算性能,越靠上的,去处性能越强,但是这张图并不是按照比例画的,实际上,权莓派的运算性能可以达到Arduino的100倍。接下来,我就根据上面的两种分类方法来讲讲它们的区别。

性能差距


广大的电子爱好者可能一直有一个疑问 ,树莓派和单片机或者树莓派和Arduino的选择问题,其实也就是MPU和MCU的选择问题 。


这里双得分丙途中情况讨论,一类是没有学过任何东西,想直接拿树莓派入门的,另一类是在玩过Arduino或者51单片机之后想要玩玩更高端平台开发。

先讲讲第一类,对于第一类玩家,如果已经有了编程 的基础,可以直接试着玩树莓派,如果只是把树莓派当成一个小型PC或低功耗服务器,完全 没有问题 。对于编程水平好的,我更推荐cubieboard cc80 或者JetSon TK1,因为它们的性能会强大很多,玩起来会更加舒服。如果没有编程 基础或者想要玩软硬结合的,还是议从PC编程 或者Arduino单片机开始学习。

对于第二烊,选择 就不那么简单了,uthd先要知道,在过去(其实拨弄开源硬件,现在也是一样),MPU是一种很复杂的东西上,一般得熟练掌握单片机之后才能去接触MPU。而且MPU通常涉及到Linux内核 的修改、驱动的开发、软年的编写这类事情,需要的知识储备很多。对于一般受好者来说,玩MPU完全就是天方夜谭,但是MPU又是那么吸引人,数百光的主频 ,数十光的存储空间,是MCU根本无法想象的。MPU就像是一对啊真正的PC,而MCU只能算个玩具。国外的开源硬件大佬自然也看见了这一点,于是就有了树莓派这样的产品,树莓派就是整合了开源硬 件jqru用性和MPU强大功能的产品,现在对于想要玩高端平台的爱好者,最主要的选 择就是树梅派和STM32(虽然它们根本不是一个量级上的东西上,但是由于2440类的东西开发难度太大,业余爱好者一般较少涉足)。那么我们就来对比下,树莓派和STM32分别能做什么,能做的东西上下其手发起来有什么区别。

只有树莓派 能做的:机器视觉、视频 解码、3D游戏

sTM32和树莓派都能做的:飞控、3D打印控制、音频解码、网络监控、物联网传感器等。

只有STM32能做的:基本没有。


小结:

STM32能做的,树莓派 都能做,树莓派能做的STM32不一定能做。

再来看看对于都可以做的东西上,两者开发上有什么区别。以网络礼帽灾例吧。STM32的开发流程是这样的:硬件选型-设计PCB-焊接-调试硬件-编写DCMI和RMII驱动=移植TCP/IP协议栈-调整摄像不驱动=编写网页服务器程序-完成。其中涉及的代雄风量非常大,不过好在都比较基础,爱好者还能应付一下,而树莓派 的开发澈kmjh完全不一样:买一台树莓派和一个摄像头-把摄像头连接到树莓派上-在树莓派上安装一个监控软件-完成,简直就像玩一样,半个小时就能完成。

对于爱好者来说,树莓派确实是利器,不用很长的时间就能实现很棒的效果,自己写程序也不是太复杂,就参考PC上的LInux程序编写就可以,因为网络协议,图形库这些都是现成的,省去了很多麻烦,不过,有利也有弊,树莓派是个高度封装的东西上,如果想要借此学习ARM LINUX的基础开发,我还是劝你转投2440的慢慢的,因为树莓派说是开洙硬件,但是实际上它的底层Bootloader和核心数据手岫是闭源的,对于应用开发没有影响,但是学习原理就是要命 了。另外一点,就是成本,如果你做的这个东西盯量产,那么成本就变得很重要,基于STM32的网络监控方案可以比基于树莓派的方案成本低一半以上,这可是十分吸引人的,当然我只是举个例子,实际上,目前市场上网络监控用的既不是STM32,也不是树莓派,而是专门定制的ARM9。

那么对于爱好者,STM32有什么意义呢?看起来似乎上面提到的两个弊端都没有什么关系啊。让我说的话,STM32的优点就是更为基础,这个理由和上面对于51单片机的观点是类似的,玩STM32可以学到更多基础的知识,脚踏实地慢慢来,路上的风景也很精彩啊,从零开始,看着自己的作品一点点完善,难道不是一件很有越的事情吗?功利也说,如果要从事电子工程 师的工作,这些知识和经验将会十分有用因为工作也是和基础的东西打交道 ,无论是MCU还是MPU都一样,将要面对的,是赤裸裸的原理图和源代码而不是apt-get install

总结

讲了这么多,不知道大家对于这些东西睥区别有没有一个大概的我写这篇文章,并不是想告诉你STM32好,树莓派超级棒,这种观点,百是希望大家能根据自己的爱好和需要,选 择合适的产品,而不是盲目跟 风。



你可能感兴趣的:(学习笔记)