开源是物联网的驱动力量

2023-11-16

本文转载至:http://www.infoq.com/cn/articles/open-source-as-a-driver-of-internet-of-things?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global

摩尔定律,这个以Intel联合创始人Gordon Moore的名字命名的定律,认为计算机的处理能力将会每两年翻一番。这个定律已经在许多领域被证明有效,从组件(定律最初的定义范围)到各种设备。特别是芯片能力的快速提升和芯片成本以惊人的速度下降,使得各种设备以各种形式具有智能特性成为了可能。我们最先拥有了先进的大型机,然后是工作站、客户端-服务器、网格计算和云计算,接着,今天,下一个自然就是物联网。智能设备,有源设备,在世界各地被连接起来,产生了大量的数据并对集中或者分布式系统产生的命令和测量作出反应。

Gartner预测到2020年,将会有价值260亿美元的物联网设别被安装,同时将会为硬件厂商产生3000亿美元的收入,其对整体经济的影响将会达到19000亿美元左右。

以物联网来带动数据的扩散是艰巨的,但它的优点是,它使得应用程序可以运用在新的领域,特别是大数据相关领域。商业公司是非常渴望进入这个新的市场并抓住相关机遇,但是对于跨出实质行动的第一步都非常谨慎。当进入活动的一个新的领域,往往会有一个相关的学习曲线和进入障碍。幸运的是,物联网,它并不像人们想象中那么复杂和昂贵。硬件的演变,已经在我们身边慢慢发生了,我们可以通过利用同样在进行着快速演变的技术来管理它:开源软件。

开源软件的历史已经有数十年了,现在,开源软件由四个自由定义并将它带给了用户:

  • 任何人按照它的意愿去运行程序的自由(自由0)
  • 学习程序是如何运行的同时改变它以使得它按照你需要的方式运行的自由(自由1)。先决条件是能够访问源代码。
  • 重新发布修改的源代码来帮助别人的自由(自由2)
  • 重新发布基于其它版本修改的源代码的自由(自由3)。这样做能够使得整个开源社区受益于你的修改。先决条件是能够访问源代码。

这四个自由是开源的原因,也被称为自由软件的原因。通过支持和鼓励共享源代码,它们允许用户按照他们的意愿来修改和改造应用,否则他们必须从头开始构建应用程序,这将阻碍创造性。而且,随着越来越多的人制定和执行这些创造性的新应用程序,它们将会激发更多新的理念和项目——开源软件的所有这些新的思路和方法,以改善现有的应用程序来达到目的比以前快多了。而“快”是物联网和核心。

物联网是DevOps的和其他敏捷软件(和硬件)开发方法的世界。更快的团队能想出一个产品的创意,开发它,以低廉的价格,但具有良好的利润率出售,并反复强化它,它是更好的。现在,随着数百甚至数以千计的开发者和团队创造了新的物联网产品,涉及到的每一个团队或项目正在以指数级地增加新设备的数量,新的数据源的数量,结果是,应用程序的数量来运行所有这一切。

通过使用开源软件、工具、包以及类似Arduino和树莓派的开源硬件将进入物联网的壁垒完全移除,为从家庭安全到节能管理基础系统、从车载导航到健康监测等等这样的小型设备遍布全球奠定了基础。由于开源有助于降低设备本身的成本,企业现在可以尝试和将一些解决方案柔和在一起,这些方案在没有开源的情况下将被忽略,因为它们将需要昂贵的许可证的前期采购的开发工具和环境、特定的库和软件组件的解决方案。开源是骑在物联网浪潮在保持高速的同时保持风险和控制成本的一个非常有效的方法。

开源可以汇集分布在地球中的数以千计的传感器和设备的数据,这为创造力和创新创造了新的土壤。这些数据使得物联网在组织和个人开发者面前突然难以置信的令人兴奋和有前途。它可以被用于开发内部工具,存在于较大系统的部件(像大型机器中的测量传感器)或独立的产品(例如为家庭自动化传感器或环境传感器)。事实上,由ARM进行的一项调查显示,大约已经有75%组织已经以一种方式使用了物联网或者正在探索如何利用物联网。

Sun微系统的创始人之一Bill Joy曾指出,“创新发生在别处”。这句话意味着要从其他地方得到的想法(收、聘请外部人才或进行公开创新研讨会)或有相同爱好的人分享自己的想法。开放源码是迄今为止来开发这样一种共享模式的最好的方式,通过在一个公开访问的存储库中托管你的代码,不只是自己一个人在写代码,而是任何人都可以连接到存储库,查阅代码的一部分并通过修改或增加代码作出贡献。这样,创新将会来自任何地方,或者说它产生的速度是由非常积极的贡献者推动的。

开源也是一个极好的工具来弥合数字鸿沟。通过利用类似Arduino或者树莓派这样的物联网系统,很容易就能开始开发应用,这些系统都是完全建立在开源之上的。简单地购买硬件,或者说,直接下载原理图然后创建它。ContikiRaspian这样的系统、Eclipse物联网项目这样的开发工具、IoTSys中间件和各种连接到硬件传感器和设备接口都是免费和开源的。任何人都可以创建物联网设备的原型,然后把他们变成成熟的产品。人们已经开始使用这些平台来创建水族馆、花园和水疗的监测设备,或者来创建气象站,或者为为各种系统开发控制模块,车库门、调温器、咖啡壶突然变得完全自动化了,同时它们也能对外界环境作出一定的反馈。

开放源代码和物联网的结合,可以帮助为包括发达国家和发展中国家的各种社会带来创新和知识。例如,在亚马逊热带雨林的创新者,即使他们只有过时的硬件,也能够实现一个开放源码的基础设施,并利用物联网开发一个允许他们使用以废弃太阳能电池板供电的旧手机来听热带雨林非常深处的声音的应用程序。然后,他们能够通过声音处理和模式识别,以破译哪些声音是电锯产生的。创新者利用自由开放源码库开发的这一应用程序,就能够通知当地官员,以防止非法砍伐森林发生和保护热带雨林。

通常,专有的数据库能够收集,存储和处理这些项目所需的数据,但是由于昂贵的许可费用,往往提高了进入壁垒。但是,当使用开源的时候,有各种各样的简单的、容易理解的开源数据库,如MongoDB、MySQL / MariaDB、PostgreSQL和Cassandra(只是一小部分),这样就能够在一个较低的成本下管理数据,从而帮助开发人员加快项目进度。类似于Redis这样开源的数据管理工具有助于提高开源数据库的可用性。没有开源软件这些都将成为不可能——因为开源就意味着对于任何人源码都是可访问的,拥有伟大想法的开发者不需要去重新发明的每一个轮子。有了开源,他们可以只需点击预先存在的开源库,并定制、修改和改进一些他们可以调整东西(然后,有趣的是,将它贡献回社区)。

初创公司已经创造了物联网的未来,创造了可感知环境的可穿戴设备,可以感知空气成分、微生物含量、悬浮颗粒物等等,同时连接上一个庞大的实时公共数据库以告知佩戴者,“离开现在环境——空气中有埃博拉病毒的痕迹”。他们利用现有的开源库和工具,除了自己的知识产权。他们创造了运行于物联网环境中的新设备,并提供了非常高的价值。VC(True Ventures,Kleiner Perkins…),和企业的风险基金(英特尔、高通、思科…)早已知道这些并正在大量投资于这些市场。开源为企业获取物联网基础设施奠定了坚实的基础。

由于设备的数量、数据量、数据带宽都没有真正的限制,物联网唯一的限制,只有你的想象。那你在等什么呢?去获得一个工具包,并开始开发物联网应用吧。

关于作者

strong>Gilles Gravier是总部在瑞士的Wipro的开源咨询业务总监。他为全世界的Wipro的重要客户提供开源战略咨询和顾问服务。Gilles一直在参与安全和开源方面的事务。需要特别指出的是,他在担任Sun的安全和开源首席技术战略官时,他曾主导了公司全球的安全战略和开源活动。他先后在Sun和Oracle的公共部门去开发开源和安全的全球市场和业务。Gilles一直作为技术的传播者活跃着,特别是与密码学、数字版权管理、开源和开放标准的这些公司当中。

查看英文原文:LinkedIn Open Sources PalDB, a Read-only Key-value Store

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开源是物联网的驱动力量 的相关文章

  • 注意力机制——CAM、SAM、CBAM、SE

    CAM SAM CBAM详见 CBAM 即插即用的注意力模块 附代码 目录 1 什么是注意力机制 2 通道注意力机制 SE 1 Squeeze 2 Excitation 3 SE Block 3 CAM 4 SAM 5 CBAM 6 代码
  • 一篇文章入门C/C++自动构建利器之Makefile

    更多博文 请看音视频系统学习的浪漫马车之总目录 C C 编译 浅析C C 编译本质 一篇文章入门C C 自动构建利器之Makefile 升级构建工具 从Makefile到CMake Makefile简介 上一篇浅析C C 编译本质已经比较详

随机推荐

  • UE4修改splitScreen layout方式

    UE4自身提供了分屏显示的方法 可以分成两个屏幕 也可以分成三个屏幕 但提供的分屏布局方式有限 包括两个玩家分屏布局 Vertical Horizontal 三个玩家分屏布局 Favor Top Favor Bottom 这里提供给大家一种
  • 华为OD机试真题 Java 实现【光伏场地建设规划】【2023Q1 100分】

    一 题目描述 祖国西北部有一片大片荒地 其中零星的分布着一些湖泊 保护区 矿区 整体上常年光照良好 但是也有一些地区光照不太好 某电力公司希望在这里建设多个光伏电站 生产清洁能源 对每平方公里的土地进行了发电评估 其中不能建设的区域发电量为
  • 【TS】联合类型

    文章目录 TS 联合类型 1 普通变量声明 2 数组声明使用 3 函数中使用 TS 联合类型 联合类型即通过管道 将变量设置多种类型 赋值时可以根据设置的类型来赋值 1 普通变量声明 let res number string boolea
  • MySQL中的事务、索引、锁机制

    目录 一 MySQL基础架构 二 MySQL中的索引 1 什么是索引 索引的作用 2 索引的类型 1 主键索引 Primary Key 2 二级索引 辅助索引 3 索引的底层数据结构 1 B 树 B 树 2 为什么选择B B 树 为什么要用
  • 图块引用、属性块引用、创建新层表、ObjectArx开发中静态变量和全局变量要点

    一 图块设计技术 在AutoCAD数据库中 以各图块实际上市存储在块表记录里的实体集合 每个图块从一格AcDbBlockBegin对象开始 紧接着是一个或多个AcDbEntity对象 最后以AcDbBolckEnd对象结束 按其所属关系得层
  • Googleplay从服务器检索信息时出错。[DF-DFERH-01]

    googleapis cn services googleapis cn 两个地址强制走代理就OK了 转载于 https www cnblogs com Devopser p 10269312 html
  • Linux下利用TCP的服务端和客户端实现简单收发消息

    服务端采用了线程 可以同时提供给多台客户端连接 TCP的服务端 tcp server c include
  • 每秒上万并发下的Spring Cloud性能优化之道

    本文为转载文章 作者 中华石杉 十余年BAT架构经验 倾囊相授 作者微信公众号 石杉的架构笔记 ID shishan100 一 写在前面 相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构 毕竟现在这是非常火的一门技术
  • MySQL中的any_value()函数

    转载 MySQL中的any value 函数 小李小李彬彬有礼的博客 CSDN博客
  • 深入探索透视投影变换(续)

    潘宏 2009 4 14 本人水平有限 疏忽错误在所难免 还请各位数学高手 编程高手不吝赐教 email popyy netease com B站专栏 https b23 tv oWsl6PD 在上一篇文章中我们讨论了透视投影变换的原理 分
  • 涂鸦NBIOT OpenCPU开发快速入门(三)

    1 开发板选择 工欲善其事 必先利其器 我之前做了两款开发板 其实主要是为了我工作上开发的方便 第一款用来测试通用对接 的方式比较友好 第二个板子主要特色在于开发调试起来非常方便 涂鸦 模组多个平台的芯片都是默认三个串口的 烧录口 通讯口
  • 《算法导论》选择问题(找第K大的数)

    选择问题 Selection Problem 即在n个元素的集合中寻找第K小的元素的问题 第K小的元素又叫第K个顺序统计量 有以下几种变体 找最大值和最小值 同时找最大和最小值 找中位数 第n 2小 找任意第K小的元素 找Top K的元素
  • 当SpringCloud微服务发生线程隔离(舱壁模式)和熔断降级时(微服务失败的回调),利用FeignClient整合Sentinel,返回用户一个友好提示或者默认结果

    目录 一 线程隔离 1 1线程隔离的两种实现方式 二 熔断降级 2 1慢调用 2 2异常比例 2 3异常数 三 FeignClient整合Sentinel 3 1修改配置 开启sentinel功能 3 2编写失败降级逻辑 3 2 1利用Fa
  • 贪心(acwing)

    每次选择当前的最优解 没什么固定的套路 先试一些做法 举例子验证 尝试证明一下 严格地推 区间问题 例1 1 将每个区间按照右端点从小到大排序 2 从前往后依次枚举每个区间 如果当前区间已经包含点 则直接pass 否则选择当前区间的右端点
  • Cenos6.5 安装Gcc编译器

    本人使用的是CentOS 6 5 64位系统 由于在安装系统的时候并没有勾选安装gcc编译器 因此需要自行安装gcc编译器 使用yum安装gcc 对于配备了yum的Linux发行版而言 安装gcc编译器就变得so easy 我们只需要分别执
  • 三维数据处理软件架构

    三维数据处理软件都包含哪些模块 三维数据处理软件 一般包含三个模块 数据管理和处理 三维渲染 UI 这与图形学的三个经典问题是相对应的 建模 渲染和交互 与一般常见的数据处理软件 比如图像视频处理 不同的是 这里的数据展示模块需要三维渲染
  • numpy中的mean()函数

    mean 函数定义 numpy mean a axis dtype out keepdims mean 函数功能 求取均值 经常操作的参数为axis 以m n矩阵举例 axis 不设置值 对 m n 个数求均值 返回一个实数 axis 0
  • VB联合Python开发

    用到 Python 首先你肯定得装一个Python吧 用3 x的 创建一个 py文件 说明 需要引用pythoncom 这个需要pip install pywin32 import pythoncom class PythonUtiliti
  • R语言缺失值填补

    本文主要介绍如何利用R语言进行数值型缺失值的填补 主要使用zoo包中的na aggregate na approx na locf 函数进行缺失值的均值填补 线性插值填补以及邻近值填补 install packages zoo librar
  • 开源是物联网的驱动力量

    本文转载至 http www infoq com cn articles open source as a driver of internet of things utm campaign infoq content utm source