物聯(lián)網(wǎng)項目的最佳大腦- Raspberry Pi Zero W, Arduino和NodeMCU比較!
物聯(lián)網(wǎng)發(fā)展迅猛,英特爾、谷歌和三星等公司都想分一杯羹。像樹莓派和NodeMCU這樣的設備的存在也導致了一個重要的愛好者社區(qū)的存在。由于所使用的傳感器類型幾乎是標準化的,微控制器(或者在樹莓派的情況下處理器)在易用性、功耗、硬件和軟件支持等因素方面起著重要作用。本文將介紹一些最常用的開發(fā)板,以使您的物聯(lián)網(wǎng)項目啟動和運行。
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卡,電路板實際上是無用的。
我們之前做過很多基于物聯(lián)網(wǎng)的樹莓派項目。
Arduino納米
由于幾乎所有Arduino板都使用相同的微控制器(ATMEGA 328P)并以相同的方式編程,因此這里以Arduino Nano進行比較。它是一堆棋盤中最小的。Nano有22個引腳,包括14個數(shù)字引腳(其中6個提供PWM)和8個模擬引腳。引腳為5V,因此3.3V傳感器可能無法工作,具體取決于傳感器。官方板的價格為22美元,而中國的克隆/仿冒產(chǎn)品的價格僅為4美元。Arduino對幾乎所有傳感器都有非常廣泛的庫支持,所以連接任何東西都只是在網(wǎng)上查找的問題。
NodeMCU
NodeMCU有11個可用的數(shù)字(如果兩個引腳用作TX/RX,則為9個)和1個模擬引腳,盡管這里值得注意的是,單個模擬引腳可以多路復用,并且可以連接多個傳感器。零售價在8到10美元之間。
所有三塊板都支持SPI(串行外設接口)和I2C (Inter IC)總線。SPI總線允許傳感器的簡單,高速接口,而I2C允許僅使用兩根線連接100個傳感器!
NodeMCU ESP8266是用于物聯(lián)網(wǎng)應用的最流行的Wi-Fi模塊,這里有一些基于NodeMCU的實際應用。
Raspberry Pi Zero, Arduino Nano和NodeMCU的硬件規(guī)格
樹莓派Zero W采用Broadcom BCM2835 SoC,運行頻率為1ghz,內(nèi)存為512mb。不用說,對于大多數(shù)基于物聯(lián)網(wǎng)的項目來說,這可能是多余的。如果數(shù)據(jù)需要在本地“處理”,而不是僅僅發(fā)送到云端,那么Pi Zero的處理能力就可以得到很好的利用。Zero W可以運行完整版的Linux,擴展后還可以運行Python。它甚至可以以有限的方式運行實現(xiàn)機器學習。所有這些都是有代價的,然而,Pi Zero W需要5V, 2A的電源,這意味著它可以很快地吞噬一塊大電池。它在約170兆瓦的功率下空轉,不能立即啟動(它必須啟動,這可能需要大約30秒)。它內(nèi)置了藍牙和Wifi。
Arduino Nano默認沒有藍牙或Wifi。但由于它在空閑狀態(tài)下的功耗很低,為0.17兆瓦,滿載時約為1.4瓦,再加上通過編程使其進入“深度睡眠”模式,并使其只在特定的時間間隔“醒來”,它可以用一個硬幣電池供電一年多。網(wǎng)絡可以由HC-05藍牙模塊或獨立的ESP8266EX模塊提供(注意:ESP模塊也可以單獨用作微控制器,但沒有開發(fā)板的好處,它需要相當多的努力來設置)。
與其他微控制器相比,NodeMCU是一個名副其實的野獸。它運行在80-160 MHz的股票時鐘速度,可以運行在時鐘速度高達160 MHz。它默認包含Wifi。該模塊通常消耗約170兆瓦的功率,并有三種“睡眠模式”,即輕度睡眠、中度睡眠和深度睡眠。通過一些技巧,一些用戶已經(jīng)能夠將NodeMCU的空閑功耗降低到1兆瓦以下。
社區(qū)支援及閉幕詞
樹莓派是最流行的sbc之一,但是它沒有Arduino或NodeMCU那么廣泛的硬件文檔。更有經(jīng)驗的開發(fā)人員可以利用它提供的功能,但是對于初學者來說,處理Python可能會令人望而生畏,盡管樹莓派基金會一直在努力逐漸縮小差距。Magpi雜志是使用Pi Zero W開始硬件項目的一個很好的資源。相機也可以與Pi Zero W接口,這是Arduino和NodeMCU無法做到的。該板還得到了My devices Cayenne和Blynk等在線物聯(lián)網(wǎng)平臺的支持,這使得將項目轉移到云端變得輕而易舉。Pi還可以在本地進行大量的處理,而且價格低廉,沒有其他產(chǎn)品可以與之媲美。
Arduino Nano是Arduino設備大家庭的一部分,這個大家庭已經(jīng)存在很長時間了。社區(qū)支持是廣泛的,每個傳感器都有庫,這使得初學者很容易上手。Arduino是一個罕見的copyleft硬件的例子。開源軟件項目眾多且蓬勃發(fā)展,但開源硬件項目非常罕見,很少,以至于Arduino可能是唯一一個起飛的。即使是樹莓派,盡管它一直在談論開放,但它也不是完全開源的——處理器有二進制blobs,因為它們受博通的支配,博通拒絕公開這些細節(jié)。Arduino已經(jīng)推出了許多板,其中一些具有內(nèi)置無線電和網(wǎng)絡功能,可以快速接入云。截至2019年2月,Arduino也推出了自己的云平臺。Arduino IDE有自己的怪癖,但使用C很容易,也可以使用Circuitpython。
NodeMCU功能強大,價格便宜,具有獨特的價值主張。它可以通過一些小的修改在Arduino IDE上運行,也可以為那些更有技術傾向的人在LUA中編程。內(nèi)置的Wifi模塊可以很容易地連接到MQTT服務器和云。社區(qū)支持正在迅速增長,并且有幾個不同的模塊構建在ESP8266及其更強大的后繼產(chǎn)品ESP32上。就像Pi和Arduino一樣,它也與所有物聯(lián)網(wǎng)平臺兼容。
這三種平臺各有優(yōu)缺點,根據(jù)用戶的優(yōu)先考慮——速度、功耗或連接的便利性,它們中的任何一種都可以使用。樹莓派更擅長與網(wǎng)絡“對話”,而Arduino和NodeMCU更擅長“實時”應用。此外,也可以使用樹莓派和Arduino來獲得兩全其美的效果——Arduino可以喚醒/休眠樹莓派來節(jié)省電力和驅動低級別硬件,而樹莓派可以用于需要更多電力的任務??赡苄允菬o限的!
本文編譯自iotdesignpro