物联网项目的最佳大脑- Raspberry Pi Zero W, Arduino和NodeMCU比较!
扫描二维码
随时随地手机看文章
物联网发展迅猛,英特尔、谷歌和三星等公司都想分一杯羹。像树莓派和NodeMCU这样的设备的存在也导致了一个重要的爱好者社区的存在。由于所使用的传感器类型几乎是标准化的,微控制器(或者在树莓派的情况下处理器)在易用性、功耗、硬件和软件支持等因素方面起着重要作用。本文将介绍一些最常用的开发板,以使您的物联网项目启动和运行。
Raspberry Pi Zero vs Arduino Nano vs NodeMCU的概述和引脚
树莓派零W
Raspberry Pi Zero W是三块板中最大的,这并不奇怪,因为它是一个完整的芯片上的计算机。乍一看,Pi的40个GPIO引脚似乎很多,但这被Pi没有任何模拟引脚的事实所抵消。对于需要模拟I/O的传感器,必须与Pi一起使用外部ADC,或者可以使用GPIO引脚作为PWM。引脚是3.3V容限,这排除了5V传感器被使用,除非使用逻辑电平移位器。虽然3.3V传感器越来越普遍,但仍然有很多5V传感器。5美元的价格也具有误导性,因为很难找到零售价为5美元的电路板,而且如果没有microSD卡,电路板实际上是无用的。
我们之前做过很多基于物联网的树莓派项目。
Arduino纳米
由于几乎所有Arduino板都使用相同的微控制器(ATMEGA 328P)并以相同的方式编程,因此这里以Arduino Nano进行比较。它是一堆棋盘中最小的。Nano有22个引脚,包括14个数字引脚(其中6个提供PWM)和8个模拟引脚。引脚为5V,因此3.3V传感器可能无法工作,具体取决于传感器。官方板的价格为22美元,而中国的克隆/仿冒产品的价格仅为4美元。Arduino对几乎所有传感器都有非常广泛的库支持,所以连接任何东西都只是在网上查找的问题。
NodeMCU
NodeMCU有11个可用的数字(如果两个引脚用作TX/RX,则为9个)和1个模拟引脚,尽管这里值得注意的是,单个模拟引脚可以多路复用,并且可以连接多个传感器。零售价在8到10美元之间。
所有三块板都支持SPI(串行外设接口)和I2C (Inter IC)总线。SPI总线允许传感器的简单,高速接口,而I2C允许仅使用两根线连接100个传感器!
NodeMCU ESP8266是用于物联网应用的最流行的Wi-Fi模块,这里有一些基于NodeMCU的实际应用。
Raspberry Pi Zero, Arduino Nano和NodeMCU的硬件规格
树莓派Zero W采用Broadcom BCM2835 SoC,运行频率为1ghz,内存为512mb。不用说,对于大多数基于物联网的项目来说,这可能是多余的。如果数据需要在本地“处理”,而不是仅仅发送到云端,那么Pi Zero的处理能力就可以得到很好的利用。Zero W可以运行完整版的Linux,扩展后还可以运行Python。它甚至可以以有限的方式运行实现机器学习。所有这些都是有代价的,然而,Pi Zero W需要5V, 2A的电源,这意味着它可以很快地吞噬一块大电池。它在约170兆瓦的功率下空转,不能立即启动(它必须启动,这可能需要大约30秒)。它内置了蓝牙和Wifi。
Arduino Nano默认没有蓝牙或Wifi。但由于它在空闲状态下的功耗很低,为0.17兆瓦,满载时约为1.4瓦,再加上通过编程使其进入“深度睡眠”模式,并使其只在特定的时间间隔“醒来”,它可以用一个硬币电池供电一年多。网络可以由HC-05蓝牙模块或独立的ESP8266EX模块提供(注意:ESP模块也可以单独用作微控制器,但没有开发板的好处,它需要相当多的努力来设置)。
与其他微控制器相比,NodeMCU是一个名副其实的野兽。它运行在80-160 MHz的股票时钟速度,可以运行在时钟速度高达160 MHz。它默认包含Wifi。该模块通常消耗约170兆瓦的功率,并有三种“睡眠模式”,即轻度睡眠、中度睡眠和深度睡眠。通过一些技巧,一些用户已经能够将NodeMCU的空闲功耗降低到1兆瓦以下。
社区支援及闭幕词
树莓派是最流行的sbc之一,但是它没有Arduino或NodeMCU那么广泛的硬件文档。更有经验的开发人员可以利用它提供的功能,但是对于初学者来说,处理Python可能会令人望而生畏,尽管树莓派基金会一直在努力逐渐缩小差距。Magpi杂志是使用Pi Zero W开始硬件项目的一个很好的资源。相机也可以与Pi Zero W接口,这是Arduino和NodeMCU无法做到的。该板还得到了My devices Cayenne和Blynk等在线物联网平台的支持,这使得将项目转移到云端变得轻而易举。Pi还可以在本地进行大量的处理,而且价格低廉,没有其他产品可以与之媲美。
Arduino Nano是Arduino设备大家庭的一部分,这个大家庭已经存在很长时间了。社区支持是广泛的,每个传感器都有库,这使得初学者很容易上手。Arduino是一个罕见的copyleft硬件的例子。开源软件项目众多且蓬勃发展,但开源硬件项目非常罕见,很少,以至于Arduino可能是唯一一个起飞的。即使是树莓派,尽管它一直在谈论开放,但它也不是完全开源的——处理器有二进制blobs,因为它们受博通的支配,博通拒绝公开这些细节。Arduino已经推出了许多板,其中一些具有内置无线电和网络功能,可以快速接入云。截至2019年2月,Arduino也推出了自己的云平台。Arduino IDE有自己的怪癖,但使用C很容易,也可以使用Circuitpython。
NodeMCU功能强大,价格便宜,具有独特的价值主张。它可以通过一些小的修改在Arduino IDE上运行,也可以为那些更有技术倾向的人在LUA中编程。内置的Wifi模块可以很容易地连接到MQTT服务器和云。社区支持正在迅速增长,并且有几个不同的模块构建在ESP8266及其更强大的后继产品ESP32上。就像Pi和Arduino一样,它也与所有物联网平台兼容。
这三种平台各有优缺点,根据用户的优先考虑——速度、功耗或连接的便利性,它们中的任何一种都可以使用。树莓派更擅长与网络“对话”,而Arduino和NodeMCU更擅长“实时”应用。此外,也可以使用树莓派和Arduino来获得两全其美的效果——Arduino可以唤醒/休眠树莓派来节省电力和驱动低级别硬件,而树莓派可以用于需要更多电力的任务。可能性是无限的!
本文编译自iotdesignpro