Arduino到底适不适合做产品

news2024/11/18 22:55:45

文章目录

      • 一、Arduino性能很低,不如树莓派等开发板,所以不要用Arduino做开发
      • 二、Arduino程序效率很低,所以不要用Arduino做开发
      • 三、Arduino只能开发玩具,不能做产品
      • 四、Arduino开发板成本太高,不适合做产品
      • 总结
      • 个人见解
        • 哪些情况Arduino可能适合你
        • 哪些情况Arduino可能不适合你
        • 1、跨平台
        • 2、简单清晰的开发
        • 3、开放性
        • 4、社区与第三方支持
        • 5、硬件开发的趋势

Arduino到底适不适合做产品,这个话题一直被争论不休,业内一般有以下几种观点:

一、Arduino性能很低,不如树莓派等开发板,所以不要用Arduino做开发

  • 杀鸡焉用牛刀,中科院不会用银河来玩魔兽,你也不会想用计算器来LOL,不同的平台有不同的定位。
  • Arduino更多用在数据采集和控制上,简单轻量。而树莓派等带OS开发板可以实现更多的复杂功能,如图形图像处理。
  • 聪明的开发者会选择合适自己、合适项目的平台,而非选择性能最强大的平台。
    在这里插入图片描述

二、Arduino程序效率很低,所以不要用Arduino做开发

  • Arduino核心库是对AVRGCC的二次封装,确实会降低一些运行效率,但是这又有什么关系呢?你的程序真是对实时性要求很高么?至少我在论坛或者国内没有看到多少对效率极为苛求的项目。

  • Arduino与传统的单片机开发的关系,类似于各种语言和其配套的SDK,一个正常的程序必定是选择一个合适语言+相应的SDK快速的做出开发,选择Arduino做开发也是如此。当然,你可以选择使用传统方式,甚至是汇编开发单片机,把效率做到极致,但你必定会付出更大的学习成本,程序后期的修改也会变得举步维艰。

  • 如果你的项目真是需要很高的实时性,那我建议你使用Arduino+avrgcc,甚至Arduino+汇编的混编方式开发,如果这样还达不到你的要求,你还可以使用chipkit、maple等32位的类Arduino的开发平台。
    在这里插入图片描述

三、Arduino只能开发玩具,不能做产品

  • 能不能开发产品和Arduino本身无关,只与你自身能力有关。

  • 国内外很多公司都在使用Arduino开发产品,也有不少成功的商业产品(我知道肯定有人要来和我较真什么叫“成功”了),所谓的不能开发产品,只能当玩具一说,完全是无稽之谈。如果你真是从事硬件开发的人员,你会发现现在各大IC厂商都推出了自己的类库或sdk,其本质和Arduino类库是一样的,这也是硬件行业的趋势。这和大家写软件用别人的sdk是一个性质。
    在这里插入图片描述

四、Arduino开发板成本太高,不适合做产品

  • 我介绍Arduino时,都会告诉别人Arduino是一个开发平台。我所说的用Arduino做开发,指的是使用Arduino核心库做开发。开发产品也并不是非得集成个Arduino开发板,一个核心的控制芯片足以。至于芯片多少钱,开发者们自己去查吧。如果你对产品体积没要求,且产量很小,也完全可以直接使用Arduino控制器。

  • 在小批量的情况下,使用Arduino开发可以大大的降低你的开发成本,这个就没啥好说的了。如果你的项目产量超级大,你当然应该选用更便宜的芯片开发,1块钱的stc,5毛钱的HT都是可以的。
    在这里插入图片描述

总结

Arduino的优势在于社区的强大和众多类库资源,其资源和影响力已经让GitHub都加上了Arduino语言分类。
有个冷笑话:如果在任一程序QQ群说“php是最好的语言”,必定会激起一番论战。如果讨论众多硬件开发平台孰好孰坏,就会陷入这种无意义的逻辑中。没有最好的开发平台,只有最适合项目的,最适合自己的开发平台在这里插入图片描述

个人见解

以下列举的一些情况,属于个人经验,可能不正确,欢迎大家在留言区讨论交流。

哪些情况Arduino可能适合你
  1. 你从来没接触过硬件开发;
  2. 你想快速的开发,降低开发成本;
  3. 你的项目未来产量不大,或者就不会量产(这个需要你自己测算开发成本和生产成本的关系);
哪些情况Arduino可能不适合你
  1. 如果你对处理能力,系统实时性有较高要求,那Arduino不适合你;
  2. 如果你的项目未来产量巨大,那Arduino也不适合你(这个需要你自己测算开发成本和生产成本的关系);
  3. 对其他一种单片机或者硬件开发平台开发极其熟悉;
  4. 你项目会使用的到的类库在其他平台也有,且其他平台硬件成本、开发成本也很低;
    在这里插入图片描述### 为什么使用Arduino做开发?
    为什么使用Arduino做开发平台,用Arduino制作作品或者进行产品开发的几点优势:
1、跨平台

Arduino IDE可以在Windows、Macintosh OSX、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。

2、简单清晰的开发

Arduino IDE基于processing IDE开发。对于初学者来说,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 AVRGCC库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。

3、开放性

Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。

4、社区与第三方支持

Arduino有着众多的开发者和用户,你可以找到他们提供的众多开源的示例代码、硬件设计。例如,可以在Github,Arduino论坛、Openjumper等网站找到Arduino第三方硬件、外设、类库等支持,更快更简单的扩展你的Arduino项目。

5、硬件开发的趋势

Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。

因为Arduino的种种优势,越来越多的专业硬件开发者已经或开始使用Arduino来开发他们的项目、产品;越来越多的软件开发者使用Arduino进入硬件、物联网等开发领域;大学里,自动化、软件,甚至艺术专业,也纷纷开展了Arduino相关课程。

感谢阅读,对物联网或者电子DIY感兴趣的,欢迎关注公众号【微联实验室】获取免费视频/文档资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1196390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iPhone或在2024开放第三方应用商店。

iPhone或开放第三方应用商店,可以说这是一个老生常谈的话题。对于像是iOS这样封闭的系统来说,此前传出苹果可能开放侧载消息的时候,又有谁能信,谁会信? 如果是按照苹果自身的意愿,这种事情自然是不可能发生…

【LeetCode笔试题】88.合并两个有序数组

问题描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合…

王学岗visibility改变后调用onLayout()

自定义控件的时候发现了一个bug。 Button位移动画执行结束后我设置了一个不相关的TextView的可见性由gone变为visible.令人郁闷的是,只要我注释的地方放开。动画执行结束后button都会重新绘制在位移动画开始的位置。注释掉这段代码就正常。 经过分析后得知 View的Vi…

python OrderedDict类(有序字典)

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 创建有序字典 import collectionsdic collections.OrderedDict() dic[k1] v1 dic[k2] v2 dic[k3] v3 print(dic)#输出:OrderedDict([(k1, v1), (…

Vatee万腾科技决策力的未来展望:开创数字化创新的新高度

随着科技不断演进,Vatee万腾的科技决策力在数字化创新领域展现出了强大的潜力和前瞻性。 Vatee万腾的科技决策力被视为数字化创新的引擎,为未来创新注入了新的动力。通过深刻的市场洞察和科学决策,Vatee万腾致力于推动数字化创新走向新的高度…

图论11-欧拉回路与欧拉路径+Hierholzer算法实现

文章目录 1 欧拉回路的概念2 欧拉回路的算法实现3 Hierholzer算法详解4 Hierholzer算法实现4.1 修改Graph,增加API4.2 Graph.java4.3 联通分量类4.4 欧拉回路类 1 欧拉回路的概念 2 欧拉回路的算法实现 private boolean hasEulerLoop(){CC cc new CC(G);if(cc.cou…

可视化 | 3D文字球状标签云

文章目录 📚改编点📚final 改编自echarts 3d词云(指向滑动、拖动、缩放、点击、自转 ) 📚改编点 背景透明:background:rgb(0,0,0,0);不用链接,用span,重点span标class"star&q…

2023年成为优秀自动化测试工程师的 7 个步骤!

“测试自动化测试工程师可以将你从充满代码的世界中拯救出来。”企业完全同意这一说法,这就是您在自动化测试行业中看到大量就业机会的原因。我在 Quora 上收到了很多与自动化测试中的职业选择相关的答案请求,以及人们如何在有或没有手动测试经验的情况下…

Pytorch从零开始实战09

Pytorch从零开始实战——YOLOv5-Backbone模块实现 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——YOLOv5-Backbone模块实现环境准备数据集模型选择开始训练可视化模型预测总结 环境准备 本文基于Jupyter notebook,使用Python3.…

PyBind11五分钟入门【Python/C++调用】

从 Python 调用 C 基本上有两种方法:使用 PyBind11 C 库生成 Python 模块,或使用 cytpes Python 包访问已编译的共享库。 使用 PyBind11 我们可以更轻松地共享许多数据类型,而使用 ctypes 是一种低级 C 风格的解决方案。 在线工具推荐&#x…

synchronized的原理和Callable接口

目录 ♫synchronized原理 ♪锁升级 ♪锁优化 ♫Callable接口 ♫synchronized原理 我们知道synchronized锁可以控制多个线程对共享资源的访问,两个线程针对同一变量访问就会产生阻塞等待。而synchronized锁并不是一成不变的,它会根据情况进行一次升级。…

MySQL---存储过程

存储过程的相关概念 是一组为了完成特定功能的sql语句的集合,类似于函数 写好了一个存储过程之后,我们可以像函数一样随时调用sql的集合。 复杂的,需要很多sql语句联合执行完成的任务 存储过程再执行上比sql语句的执行速度更快&#xff0c…

CS224W5.2——Relational and Iterative Classification

本节中,我们介绍用于节点分类的关系分类器和迭代分类。 从关系分类器开始,我们展示了如何基于邻居的标签迭代更新节点标签的概率。然后讨论迭代分类,通过根据邻居的标签及其特征预测节点标签来改进集体分类。 文章目录 1. 框架2. 关系分类3.…

基于SpringBoot的SSMP整合案例(开启日志与分页查询条件查询功能实现)

开启事务 导入Mybatis-Plus框架后,我们可以使用Mybatis-Plus自带的事务,只需要在配置文件中配置即可 使用配置方式开启日志,设置日志输出方式为标准输出mybatis-plus:global-config:db-config:table-prefix: tb_id-type: autoconfiguration:…

【黑客】最适合小白的学习顺序

一、黑客是什么 原是指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。但后来,黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实,网络信息空间安全已经成为海陆空之…

Python基础教程:类--继承和方法的重写

嗨喽,大家好呀~这里是爱看美女的茜茜呐 什么是继承 继承就是让类与类之间产生父子关系,子类可以拥有父类的静态属性和方法 继承就是可以获取到另一个类中的静态属性和普通方法(并非所有成员) 在python中,新建的类可…

【紫光同创国产FPGA教程】——【PGL22G第十一章】以太网传输实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注www.meyesemi.com) 适用于板卡型号: 紫光同创PGL22G开发平台(盘古22K) 一:盘古22K开发板(紫光…

建筑能源管理(9)——公共建筑能源管理技术

现阶段,在我国经济高速发展的同时,也面临着资源有限、能源消费急剧增长、能源供给与需求之间的矛盾日益突出等问题。数据显示,现阶段我国单位GDP的能耗水平是发达国家的3倍左右,这正是能源总体利用率较低所造成的。建筑能耗作为我…

2023年初学者入门 CV 指南概述

计算机视觉,是一个迅速发展的领域,将让你大开眼界。它的核心是教计算机像我们人类一样看和理解视觉信息。这份全面指南,将为我们揭示计算机视觉的基本概念,探索流行的应用程序,并瞥见计算机视觉的未来趋势。 计算机视觉…

FM8317-USB TYPE-C PD 多协议控制器

产品描述: FM8317是一款集成了USB Type-C、USB Power Delivery(PD3.0)、PPS的多协议端口控制器,为AC-DC适配器、车载充电器等设备提供高性价比的USB Type-C 端口充电解决方案。 FM8317内置的Type-C协议可以支持Type-C设备插入自动…