【物联网】14.物联网设备控制器选择 - 单片机(MCU)
这部分就是我之前分享过很多的单片机部分,具体可以参考专栏
https://blog.csdn.net/super828/category_9282215.html
物联网设备的控制单元核心就是MCU,也就是常说的单片机。
对于物联网设备,根据开发环境、想制造的设备以及经验的不同,选择不同的控制芯片也就至关重要。
选择单片机的几个依据:
当然对于更为复杂的设备,单片机也有对应的升级产品,可以运行linux系统,具备高性能计算能力,完善的I/O 端口,以及配备了网络接口,这使得控制器的能力越来越强。
下边就介绍几种常用的单片机,以供参考:
先分享几篇之前总结的文章
如何更快的学习单片机? //介绍了我用过的几款
下边介绍几款开源创客喜欢用的开发板(集成了单片机,并且开发了完善的硬件电路)
Arduino
Arduino 是一款可以让没有从事过电子仪器设计和制作的人也能马上着手开发的微控制器主板,有着非常高的人气。它被应用在美术和个人爱好等各种领域,作为一个容易上手的全方位平台受到了人们的喜爱。
但是Arduino 这个词指的不单单是微控制器主板, 它还是对Arduino 主板,以及最适合于Arduino 主板的综合开发环境——ArduinoIDE 的统称。Arduino 以“开放硬件”的理念为本,从硬件到软件所有的设计信息都是公开的,衍生出来的各种各样的产品也在市面上销售。
Arduino 主板品种和规格繁多,其中最为标准的主板就是ArduinoUNO。数字输入输出端子、模拟输入端子、USB 端口等单纯的I/O 端口都被压缩在了一块小小的电路板上,买到手后马上就能开始
开发设备。
另外,这块电路板还能扩展,使用者通过安装一个叫作Shield 的对应器件就能追加功能。只要使用Wi-Fi Shield、以太网Shield、GSM Shield 等,就能轻松搭建出一个用于连接网络的环境。除此之外,市面上还有传感器和具备多种功能的Shield 产品。
Arduino 最大的特征就在于它开发的简易性。只要用USB 线连接Arduino 主板和PC,开发环境就搭建完成了。编写程序和写入主板则通过Arduino IDE来完成。开发是用类似于C++ 的Arduino 语言来进行的。开发前,Arduino IDE 已经准备了很多的示例代码,有软件开发经验的使用者只要看一看就能大概明白该怎么使用。即使是新手,也有可能在开箱后10 分钟以内做好一个能让LED 闪烁的电路和程序。
虽然Arduino 有这么多让人啧啧称赞的规格,但它有一个大问题,那就是跟Shield 一起搭配使用的话尺寸也会增大。Arduino 的大小会决定设备的大小。因为将Arduino 用于教育也属于制造Arduino 的一个目的,所以人们很重视其通用性。虽然其结构固然比采用单片机等时要大,但从商品化观点来说,当前要单独使用Arduino 还有些困难。
树莓派(Raspberry Pi)
Raspberry Pi 是一款搭载有ARM 处理器的单板计算机,由英国Raspberry Pi Foundation(树莓派基金会)开发。Raspberry Pi的出现无疑给烧得正旺的单板计算机热潮再添了一把火,它也因此而著名,但其实Raspberry Pi 原本是为编程教学而开发的。
开发者设计Raspberry Pi 的主要目的都是想把它当作计算机来使用,因此,除了USB 端口、声音影像输入输出端口、以太网端口等输入输出端口外,使用者还能通过microSD 卡等外部存储器来连
接Raspberry Pi。从搭载了GPU 这点也能看出来,开发者的初衷是把它连接到显示器当作PC 来使用。另外Raspberry Pi 还安装有Debian 类Raspbian 操作系统,标准支持Python。从Raspberry Pi 2 model B 开始,Raspberry Pi 的CPU 就是四核处理器了,并宣布支持Windows 10。作为一个能实现多种应用程序的平台,Raspberry Pi 备受瞩目。
如果想把Raspberry Pi 当成微控制器主板来用,那么没有模拟输入端子可以说是其一大缺点。虽然和传感器等设备直接连接时需要输入模拟信号(详细情况会在后面说明),但Raspberry Pi 只能接受数字输入方式。为了处理模拟信号,需要通过A/D 转换电路把模拟信号转换成数字信号,并连接到输入端口。虽说市面上也有专用的电路板,不过这样就会增加多余的成本。
英特尔Edison
在物联网开发中具备独树一帜的存在感的就是英特尔Edison,它搭载了具备双核双线程的英特尔Atom CPU,以及100 MHz 的微控制器英特尔Quark。这个主板的亮点在于彻底地改善了专为物联网设备设置的规格。
跟Raspberry Pi 一样,英特尔Edison 也标准安装了Linux操作系统(Yocto Linux)。除了具备作为PC 最基本的功能以外,它还标准安装了Wi-Fi 和蓝牙4.0。在物联网设备中有两点是必备的,即
节省空间的设计和连通性的实现。英特尔Edison 极其袖珍,只有35.5 mm×25.0 mm×3.9 mm,但却具备了接通电源就能用SSH 远程登录的功能,对比以往的微控制器主板,英特尔Edison 的性能可谓惊人。
英特尔Edison 主机带有GPIO 引脚,但因为太小,所以不容易直接开发。英特尔为开发者准备了Breakout Board Kit 和英特尔Edison Kit for Arduino(Arduino 兼容板)两种扩展板,将主机插入扩展板之后就可以进行开发。除了I/O 引脚,扩展板上还安装有SD 卡和micro USB 端口,microSD 端口等,能够轻易地与外部设备相连接。此外,Arduino 兼容板和Arduino UNO 两者引脚的配置基本相同,可以直接装配使用面向Arduino 开发的主板和Shield。
在软件开发环境方面,英特尔Edison 也准备了多样且方便的环境。
初学者一开始使用Arduino IDE 入门会比较容易,它是专门为Edison量身定做的。通过USB 线把Edison 连接到PC,就能通过IDE 描述代码,往主板中写入信息,进行调试。对于用Arduino 从事过开发的人来说,开发环境以及所有实现了Arduino 兼容的环境,都是非常容易上手的。
又因为C 语言和C++ 的交叉编译程序已经公开了,所以只要用于开发的PC 与Edison 在同一个Wi-Fi 网络里,就能通过SSH 把在开发专用的PC 上编译好的执行文件发送给Edison 使用。
除此之外,英特尔Edison 还标准安装了Python 和Node.js,开发者能够从众多选项中选择符合自己需要的来使用。特别是英特尔XDK IoT Edison,如果想实现一个能用Node.js 来控制硬件的环境,用它是再适合不过了。
在灵活运用Edison 方面有一点很重要,那就是Edison 的用途不限于原型设计。虽然在开发初期是使用扩展板来进行原型设计的,不过当产品规格在一定程度上确定了,也有望会量产时,通过制作
产品的连接板也可以直接在产品上安装Edison 主机。从避免发生大规模的规格变更(如在从原型设计到商品化的期间变更处理器)的角度而言,这点非常重要。
微控制器主板间的比较
像Arduino、英特尔Edison 这些都是适用于原型设计,而且在通用性和扩展性的平衡方面表现优秀的产品。而Raspberry Pi 的目标是被当作PC 使用,所以没有能直接指向设备的模拟I/O 引脚。
但是对于定制最小系统而言,单片机仍然是最佳的选择,可以定制并增加性能。
更多推荐
所有评论(0)