BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Eclipse基金会新增物联网项目Ponte、Eclipse SCADA、Concierge与Kura

| 作者 张卫滨 关注  他的粉丝 发布于 2013年9月9日. 估计阅读时间: 6 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

提起Eclipse,读者首先想到的可能是广泛使用的集成开发环境,但是Eclipse基金会不仅有这个IDE,它还有超过250个的开源项目,其目标在于促进业界参与者将标准与实现结合起来。最近,Eclipse为了推进物联网领域的标准化,添加了多个新的项目。

据负责Eclipse营销和生态系统的副总裁Ian Skerrett介绍,目前大多数的物联网项目都是基于专有的解决方案,Eclipse希望通过一个开放的M2M(machine-to-machine)协议以及相关的工具推进开放的物联网,关于M2M、Eclipse以及物联网,可以参见该文档的介绍。目前,IBM、Sierra Wireless、Eurotech和Axeda已经在Eclipse基金会下参与规范的制定和实现。不过,Eclipse希望能够有更多的公司参与进来。

为了推进这个愿景的实现,Eclipse基金会新增了多个开源项目,具体来讲包括PonteEclipse SCADAConcierge以及Kura。目前这些项目大多还处于提议阶段,但基金会希望这些新项目能够结合一些已有的项目形成开放的社区。

随着物联网技术的推进会有越来越多的设备进行互联,设备之间如何进行交互成为了很大的挑战。这些互联的设备,通常称之为机器(Machine),可以分为传感器和传动器(sensor和actuator)。传感器会响应现实世界中的事件,而传动器会响应虚拟的事件。不管怎样,在物联网项目中,事件处理都是核心的特性。如今,互联的机器之间有多种称之为M2M的协议,但是机器和人的需求是不一样的,很难定义出同时满足两者的协议和最佳实践。Ponte项目就是应这种需求产生的,其涵盖的范围可以分为三个方面:

  1. 通过REST定义简单API来暴露机器的需求,基于相同的API支持多种协议(MQTT、CoAP);
  2. 提供多种数据格式,如JSON、XML、Msgpack以及Bysant 并提供各种方式之间进行自动转换的方式,最终会定义出通用的传感器和传动器数据展现;
  3. 定义并构建用户驱动的安全解决方案以支持所有设备之间的交互。

为了监控和管理大规模的工业项目,基金会创立了Eclipse SCADA项目。SCADA(supervisory control and data acquisition)是一类工业控制系统(ICS,industrial control system )的统称。Eclispe SCADA的目标在于将不同的设备以通用的通信系统进行连接并且以图形化的形式将数据展现给操作的用户。Eclipse SCADA会基于openSCADA的代码进行开发。Eclispe SCADA的范围包括:

  1. 通信系统;
    • 内部的通信总线
    • 用来实现驱动模块/设备适配器的框架
    • 内置的一组驱动模块/设备适配器
  2. 监控系统,用来评估收集到的数据并存储生成的事件;
  3. 一种数据存储格式,用来存储收集到的数据;
  4. 创建参考实现;
  5. 图形化的用户界面,展现监控系统中的告警以及事件等信息。

针对小型的嵌入式设备,Concierge提供了OSGi核心规范的实现。不管是面向终端用户的设备如智能手机以及平板,还是传统的M2M应用,如传感平台和家用自动化网关,部署在上面的软件都需要进行有效的管理。在这方面,OSGi是很重要的技术,它可以提供很多的帮助,最初的OSGi也是应用于嵌入式的领域,但是现在OSGi的实现更加关注于有充足资源的环境,包含的功能非常多,很难嵌入到系统之中。正是基于这样的现状,Eclipse发起了Concierge项目,它是一个轻量级的OSGi实现,针对嵌入式的设备进行了优化,同时兼容于最新的OSGi核心规范,也就是目前的R5版本。它与Equinox的定位有所差别,但是未来会考虑两个项目之间的协作。

Kura是针对M2M服务网关(service gateway)的应用框架,它基于OSGi的技术来实现。目前来讲,大多数的网关都是私有的解决方案,这样软件系统的开发和集成难度很大,并且软件重用性很低,Kura致力于抽象出这种复杂性,进而为Java开发人员提供一种更加便利的方式来进行开发。Kura的范围包括:

  1. 为运行在服务网关中的M2M应用提供基于OSGi的容器。Kura的API和服务涵盖了M2M应用常见的需求。这些扩展包括但不限于:I/O访问、数据服务、watchdog、网络配置以及远程管理等等。
  2. Kura包含了已有的javax.* API,如javax.comm、javax.usb以及javax.bluetooth,这样当需要这些功能时,只需选择一个符合Eclipse许可的开源实现并将其打包为OSGi bundle就可以了。
  3. 设计了一个构建环境,这个环境隔离了原生的代码组件。
  4. 提供开发环境,允许开发人员在Eclipse IDE中以模拟环境运行M2M应用。

因为基于OSGi技术实现,因此Kura可以很容易地为M2M应用集成所需的常见服务。目前,这个项目的参与者包括IBM、Hitachi以及openHAB等。

借助于ArduinoRaspberry Pi所引发的浪潮,有越来越多的开源开发人员开始关注于硬件项目,这会是推进物联网发展的机遇,Skerrett希望这也能推动基金会在这方面的发展。

感兴趣的读者可以访问各个项目的官方站点以了解更多信息。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT