首先说明一下,只有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。


推荐阅读:
相关文章