为什么说开源是物联网开发消除厂商绑定的关键?

简介:

物联网(IoT)项目的开发可能是一个艰巨的任务。从原型的设计和代码的构建,到产品的最终发布和全球部署,如何确保您的IoT项目顺利实现和上市?

鉴于未来数年将有数十亿设备投放市场,封闭的专属系统会使不同设备间的互操作变得更困难。ProgrammableWeb主编David Berlind将持续演化的封闭IoT生态系统看作一种“连环事故”。让按照设计本无法配合使用的不同系统组件和元素协同工作,可能需要花费大量的时间和精力,延长部署所需时间并导致总成本飙升。开源技术是解决这种问题让不同设备相互通信的方法之一。

不同应用领域的IoT解决方案有很多共通之处:需要无线连接的能力,需要在设备和后端系统之间具备通信能力,需要收集和解析获得的数据,大量共通之处不一而足。但是随之而来的大量专有系统通常是“各自为政”的,这使得解决方案的开发和构建工作变得更为复杂,需要额外投入更多时间。专有系统还会让不同系统之间的开放式通信变得更复杂,并有可能妨碍到未来的创新和更广泛的运用。

面对这个快速演进,碎片化程度日趋严重的行业,这些挑战也变得越来越棘手,不过只要愿意配合使用,市面上依然有几个可用的解决方案。之所以说开源技术是IoT开发的关键,主要有下列几个原因:

用开放式协作和标准铺平道路

行业标准的建立和实施可以帮助我们实现更强的互操作性。通过合作制定的完善标准可提供更丰富的选择和更大灵活性:开发者可以针对具体需求,使用不同供应商的设备构建解决方案,进而在构建解决方案的过程中实现更大的创新,获得更大成本效益。

除了标准化开发,另一种互补的方法是将行业生态系统制定的设计和规范开放给开源社区,借此形成由所有人遵守的开源硬件和接口标准。这种方法日益受到欢迎,随着主要业内人士通过合作提供支持,开放的硬件参考设计和接口标准逐渐变得唾手可得。

例如越来越多的开发者开始通过Arduino、Raspberry Pi以及BeagleBone快速创建原型。但此类开放式硬件有一个问题,尽管可用于快速创建原型,但如果想将产品投放市场,还需要重新再来一遍,这可能是因为此类硬件产品的许可不允许用于最终产品,或者组件过于廉价不适合用于商用级别的产品。开放式硬件平台也在进化,其中一些已经可以同时用于原型和商用产品中。

开发者需要寻找对业务更为友好的开源许可,要找到以开源方式提供的工业级组件以及一系列工具,随后才能更快速地将有关IoT的创意从最初的原型变为可量产的大规模部署。实际上这一过程需要进行的大量集成、测试,以及验证工作已经预先完成了,就算需要扩展为全球化规模,开发者也不需要付出太多成本。

通过开放式硬件加速IoT开发

上述开放式平台可以让开发者借助有限的硬件、无线网络,或低层软件开发经验,在数天而非数月内完成应用程序的开发。若能妥善运用,开源平台和硬件之间的相互通信能力可确保各种连接器和传感器无需额外编写代码便可自动配合使用,这样便可以大幅缩短从构思和原型,再到最终量产过程所要付出的时间和精力。借助工业级的规范,此类下一代平台不仅可用于快速创建原型,而且可以快速实现IoT应用程序的工业化生产,因为原型可直接进入量产阶段。

配合使用多个供应商和多个平台,这样的能力为第三方合作关系和IoT初创企业提供了大量新机遇。这样的做法为新一代互联应用程序奠定了基础,使得开发者可以无需考虑所用设备直接开发IoT应用程序。

更完善的生态系统支持

开源解决方让项目在投资和周期方面更经得起考验,项目完成后多年时间内均可通过各种资源和工具不断对项目进行完善。这样的特性不仅可以保护解决方案开发阶段所付出的时间和投资,也可以通过简化的过程缩短从创新到最终上市所需的时间。

软件方面,如果使用能得到广泛支持的开源软件应用程序框架和开发环境,例如Linux,将能为开发工作提供极大的帮助。如果使用专有解决方案,只能从原始供应商处获得有关开发框架的支持,而这些供应商的规划可能无法与您的需求保持一致。开源解决方案可以通过更广泛的开发社区为您提供帮助,确保哪怕在多年后您依然能找到各种实用的开发资源。您在解决方案开发过程中投入的时间和成本也能获得更妥善的保护。

使用开源软件还能获得另一个优势。例如,为数众多的开发者确保软件代码可以经历更严格的审查,这样您的解决方案也能更安全。此外IoT应用程序开发者还可以根据具体安全需求对代码进行修改。

没人可以预见IoT技术适用的每个应用场景,但基于标准和开源技术的战略有助于促进IoT创新,让开发者能够以更快,更简单的方式将更长生命周期的应用程序投放到市场。标准保障了技术的互操作性,开源项目保障了软硬件组件在产品和服务平台演进之后依然可以实现复用。如果不这样做,IoT领域的创新将依然面临各种阻碍。

文章转载自 开源中国社区[http://www.oschina.net]

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
3天前
|
存储 JSON Ubuntu
时序数据库 TDengine 支持集成开源的物联网平台 ThingsBoard
本文介绍了如何结合 Thingsboard 和 TDengine 实现设备管理和数据存储。Thingsboard 中的“设备配置”与 TDengine 中的超级表相对应,每个设备对应一个子表。通过创建设备配置和设备,实现数据的自动存储和管理。具体操作包括创建设备配置、添加设备、写入数据,并展示了车辆实时定位追踪和车队维护预警两个应用场景。
20 3
|
5月前
|
传感器 边缘计算 物联网
基于ELF 1S开发板完成的物联网开源
项目包含云、网、边、端四部分,采用涂鸦云作为云服务器,便于初学者接入。ELF 1S开发板作为边缘中控,运行Linux+Qt,通过Wi-Fi连接云服务器。开发板通过USB无线模块与端侧设备通信,支持AT指令和功能扩展。项目提供5个Qt应用界面,包括电器控制、环境监测、云服务器连接、有线网络和参数设置,可与手机APP交互。端侧设备包括Modbus-RTU从机和无线网络模块。整个项目已在Gitee开源。
68 4
|
1月前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
1月前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。
|
5月前
|
存储 关系型数据库 物联网
【PolarDB开源】PolarDB在物联网(IoT)数据存储中的应用探索
【5月更文挑战第27天】PolarDB,阿里云的高性能云数据库,针对物联网(IoT)数据存储的挑战,如大规模数据、实时性及多样性,展现出高扩展性、高性能和高可靠性。它采用分布式架构,支持动态扩展,保证99.95%的高可用性,并能处理结构化、半结构化和非结构化数据。通过SDK实现数据实时写入,支持SQL查询和冷热数据分层,有效降低成本。随着IoT发展,PolarDB在该领域的应用将更加广泛。
204 1
|
5月前
|
监控 物联网
LabVIEW开发基于物联网的多功能功率分析仪
LabVIEW开发基于物联网的多功能功率分析仪
46 2
|
5月前
|
传感器 机器学习/深度学习 算法
LabVIEW开发工业物联网状态监测
LabVIEW开发工业物联网状态监测
64 2
|
5月前
|
传感器 安全 物联网
C语言:物联网开发利器
C语言:物联网开发利器
|
2天前
|
存储 供应链 物联网
探索未来:区块链、物联网与虚拟现实技术的融合与创新
【10月更文挑战第15天】本文深入探讨了新兴技术如区块链、物联网(IoT)和虚拟现实(VR)的发展趋势及其在现代社会的应用。通过分析这些技术的独特属性和它们如何相互补充,我们揭示了一个由高度互联、智能化和沉浸式体验定义的未来图景。文章不仅讨论了这些技术当前的挑战,还展望了它们在未来可能带来的转变,旨在为读者提供对这些令人兴奋的技术趋势的全面理解。

相关产品

  • 物联网平台