首先說明一下,只有arduino的板子是真正的開源硬體,其他都不是,或者只是偽開源。

microbit基本上用積木圖形編程,給不會c和python的小學生玩的

arduino是給有c/c++基礎的人用的,對於缺少硬體了解的人來說非常友好,你不需要懂很多的電子方面的知識,就可以控制電子器件和感測器,學習成本很低。其實arduino是一個平台,提供了一套c/++介面,只要你的板子兼容這個介面都可以算上arduino,也就是說arduino使用軟體定義了硬體,將硬體層抽象為一個個介面名字了。比如串口,只需要調用Serial介面就能夠進行通訊,類似的還有i2c,spi通訊介面,adc是analogread介面。就是因為簡單,很對人認為arduino是個玩具,做不了開發。其實真正懂軟硬體的人不會在意這些,開發時間是有成本的,開發人員的水平高地也是有成本的,而且還要評估該產品是不是工業級,能不能滿足使用環境的要求,最後就是硬體成本,綜合起來arduino也是有一定優勢的。

不過stm32和stm8綜合更有優勢,開發門檻更高一些,一般給專門學習過電子知識的開發人員使用,而且需要較深的c語言水平。最起碼需要知道如何設置寄存器,需要懂定時和中斷等等。

比stm32更簡單一些的是51單片機,麻雀雖小五臟俱全,寄存器少,可以輕鬆配置,學習51單片機能夠更加快速學習單片機知識。arduino因為有硬體抽想層,你可能永遠不會去關心寄存器如何配置的,但是在51單片機需要樣樣親力親為,所有細節你都能掌控。

官方的arduino板子基本上是atmel家的,用的比較多的是atmega系列,也有32位arm內核的due。

現在智能家居火爆,需要連接WiFi,esp8266和esp32都是兼容arduino的,甚至某些方面比官方arduino更好用。非常好的板子。

除了上面提到的單片機,還有nxp(飛思卡爾),ti家的開發板是比較出名的。

單片機終究是低功耗運算速度慢,並且無法快速處理數據,好處是,這是一個實時的系統。

不需要那麼實時,運算速度要快,處理數據要快,就需要使用到處理器了。樹莓派就是這樣一個處理器,運行的是Linux系統,它就是一台電腦。因此純軟體工程師對他非常熟悉,無論你是前段工程師,後端工程師,還是gui開發工程師,無聊你使用的是python,c/c++,還是Java,Javascript,都是你熟悉的環境。

你個人的軟體開發水平如何決定了你能拿樹莓派玩出什麼樣的高度。

類似樹莓派這樣的小pc,市面上還有各種各樣的水果派,但是樹莓派性價比最高的,資料最豐富的,網上那些價格低,資料匱乏,硬體可能不穩定的板子不建議買,得老老實實的用樹莓派,省心省事。

如果需要強大機器學習能力,那麼推薦使用Nvidia家Jerson系列開發套件,比如jetson NANO,jetson nx等,相當於一台有了獨立顯卡的pc。


第一個沒玩過忽略不議,後面提到的樹莓派、arduino板中的幾個常見型號、microbit都玩過,其中樹莓派和Arduino玩的比較多。

先說我的個人觀點:microbit最不推薦(給小朋友用除外)。如果喜歡編程大於喜歡電子,選樹莓派;反之選Arduino。

其實說是開源「硬體」,但呈現出來的面貌上還是偏重於軟體。即便是Arduino平台,也是以「庫」的形式封裝了硬體細節--無論是單片機本身還是外部模塊,讓非電子專業的人員也能用簡單的方法去操縱硬體。對程序員來說顯示一行字在1602液晶屏上並不比顯示在窗體Text控制項上難多少。

以下點評僅供參考。Arduino特指UNO/NANO,樹莓派特指3B/3B+。

樹莓派:

實用(這貨就是台PC主機了,並且可以多種姿勢操縱GPIO)入門☆☆(需要基礎的Linux知識。以及基礎的電子或編程知識,最好兼具)價格☆(絕對價格是這幾個裡面最高的,但畢竟已經是PC了)擴展(市面上不少Arduino模塊也能和樹莓派兼容)社區(不解釋了)Arduino:

實用(參考其原理並在自製最小系統基礎上實現自己的想法會更爽)

入門☆(基礎的電子知識和C編程知識)價格☆☆(正版偏貴。有些寨板非常便宜用下來也沒太大問題,可以打滿分。)擴展☆(唯一的問題是在極端情況下,片內內存容量會是硬傷)社區(不解釋了)

Microbit:

實用☆☆ (感覺只適合教學場景。但自帶5x5 LED點陣是個靚點,我喜歡)入門 (適合零基礎。主打Python,幾乎是插上數據線到電腦就能開工)價格☆☆ (綜合考慮,性價比相對最低。) 擴展☆☆☆ (金手指式的介面設計,只靠杜邦線是搞不定的。另外這貨擴展槽也不便宜。)

社區☆☆ (也許這個分數並不客觀,但我真不算喜歡它,所以也沒有太過關注)

==============

感謝題主和其他部分答主,經由此貼讓我知道了「掌控板」。稍微看了下介紹,感覺就是直接對標microbit的,因此推論microbit有的優缺點它都會有。但掌控板使用的ESP32值得一玩。我買了塊ESP32-WROOM-32的開發板,感覺很不錯。內存相對夠大,支持wifi和藍牙,3.3V工作電壓。開發上,經簡單配置後可為Arduino IDE支持,性價比也不錯。說句玩笑話,不想當樹莓派的NANO就不是好的ESP32。

我有塊ILI9431的SPI TFT彩屏模塊曾經吃灰了一段時間,這是因為它的工作電平和UNO不兼容,我也懶得去做電平轉換。更關鍵的是內存小,QVGA彩圖直接取模後根本塞不進內存里;可以讀SD卡但速度奇慢。後來給樹莓派用了才算沒浪費掉。然而和ESP32搭配這些問題都不足一議。

所以我認為ESP32開發板其實也可以考慮。

========

無意中看到了M5Stack Basic,一時衝動就買了一個,某寶上包郵價168左右。核心還是ESP32開發板,但被封裝成了一個小巧的方盒子,並且自帶了電池、2寸320x240液晶屏、三個按鈕、小喇叭、TF卡槽等。價格不能算是便宜,但確實解決了一些開發板使用上的痛點,一定程度上提升了實用性,所以這貨就見仁見智吧。

PS:我把女兒最喜歡的小松鼠玩具的照片刷進了M5,在外面hold不住她的時候拿這個哄她有短時奇效


掌控板不了解不提,另外樹莓派不是開源硬體。

如果你要大量折騰硬體,那麼樹莓派並不是最好的選擇,隔著一個Linux總會遇到各種古怪的情況,但如果你要大量折騰軟體那只有選它,因為另外幾個除了開發庫之外並沒有什麼軟體可用。

Arduino系列,尤其是Arduino Uno這東西強烈建議不要買,內存過小(2kRAM+27KFlash)以至於根本寫不了什麼東西,有時候甚至連個邏輯複雜點的MCU都勝任不了,如果一定要Arduino兼容的針腳可以考慮找ARM based兼容款,記得電壓要能支持3.3和5v的,否則很多給Arduino設計的外設帶不起來。如果不需要兼容針腳規格那可選的就太多了,甚至包括Micro:bit。

Micro:bit並不像很多人說的那樣只能給小孩玩Makecode/Scratch和MicroPython,它用的CPU是nRF51822,有16KRAM和256KFlash,支持Arduino和MbedOS,自帶一堆感測器,自帶2.4GHz Radio所以支持BLE自帶on-board debugger,甚至還能用Rust。唯一不習慣的地方可能就是它的金手指,這個設計方便用鱷魚夾但對於杜邦線不友好。它也比大多數國產Arduino寨板貴,但比原版Arduino便宜

總結一下,如果你想搭建的東西是軟體為主,需要複雜的邏輯和完整的網路功能,那麼樹莓派顯然是最合適的;如果你需要Arduino兼容針腳,那麼選ARM CPU的Arduino兼容板;如果你不想啰里八嗦接一大堆感測器,Micro:bit比其他幾個更合適。

如果你要構建一個軟硬體兼顧的項目那我就推薦你找一個ESP32的開發板作MCU然後通過板上的WIFI連電腦。

另外再推薦幾個奇怪的東東:

  1. Adafruit剛出了一個CLUE,看上去很長草,但現在缺貨買不到……
  2. Seeedstudio出了個XIAO,顧名思義,這貨就是個微型SAMD21板,支持Arduino庫並且個頭極小,前幾天拿它給我女兒做了個小玩意兒:

徐辰:靈魂做工之史上最簡陋可穿戴設備……?

zhuanlan.zhihu.com圖標

挺好玩的,618促銷的時候只要29,現在不知道價錢回去了沒有。


如果剛入門,沒有編程和電子基礎可以拿microbit,圖形化編程,可以培養編程的思維能力,並且只要感測器多,就可以學一些基礎。然後就是有電子基礎但編程能力不足可以選擇Arduino,開源是他最大的特點。然後如果你會懂linux和網路方面,可以選擇樹莓派,可以去做一些家庭NAS,路由器,samaba區域網文件共享,穿透後可以弄個小網頁等等…如果你還有電子基礎,我推薦你可以把Arduino和樹莓派結合著玩,比如高級點的全套網路控制的智能家居,機器人等等…我認為樹莓派不僅限於網路層,如果你要驅動GPIO口去控制外設等等,也需要理解一些底層的知識,有良好相應的電子電路基礎,這是我的推薦,至於掌控板我也沒接觸過,不給予評價。(如果stm32也算的話你推薦你跳過Arduino去學stm32然後後面就是32和樹莓派的結合那是相當強大的!!!)


之前玩了差不多一年的樹莓派,然後最近幾個星期在玩arduino。

上面幾位都在推薦樹莓派,我卻正好意見相反。

兩者給我最直觀的感覺就是,一個適合折騰軟體,一個適合折騰硬體。

舉個例子如果你想弄一個家庭nas,想做一個小型伺服器,弄軟路由這些,樹莓派再適合不過,事實上網路上大部分的例子有關樹莓派都是軟體相關的。

但對於一個電工方面而言,個人認為,樹莓派並沒有arduino合適。

首先這幾天最大給我的感覺,就是arduino的快,一插上電就能跑,樹莓派要等老久,其次是你不需要去折騰些開機自啟腳本之類的工作,而且從我個人的感覺,樹莓派跑起任務甚至沒有arduino那麼流暢....(大概是因為我樹莓派搭載了很多別的東西,

然後最重要的一點是,你玩樹莓派頂多就是在麵包板上小打小鬧,300多一塊的東西我是不捨得封裝,但是arduino不一樣,10塊錢一個,如果有什麼好玩的創意直接上電烙鐵把他弄成一個成品。

結合題主列舉出來的東西,我想題主大概也不會是想折騰軟體,所以個人推薦arduino。

想起來,樹莓派比起arduino在電工方面唯一的優勢,大概是他可以跑機器學習。但是實際上,我試了下跑個已經訓練好的模型都費勁...之前想耍耍自動駕駛的然後走一步卡一下就算了,用來做圖像識別相關可能還行?不過對於這方面,arduino+esp8266差不多也能曲線實現,所以還是推薦arduino。


推薦閱讀:
相关文章