技术流派:物联网IoT的技术落地

前言

本文仅代表笔者的个人观点;

文中内容仅供技术探讨,不能作为生产环境的技术指导;

一、物联网是个啥

根据百度百科的定义:

物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。其英文名称是:“Internet of things(IoT)”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新2.0是物联网发展的灵魂。

在物联网应用中有三项关键技术

1、传感器技术:这也是计算机应用中的关键技术。大家都知道,到目前为止绝大部分计算机处理的都是数字信号。自从有计算机以来就需要传感器把模拟信号转换成数字信号计算机才能处理。

2、RFID标签:也是一种传感器技术,RFID技术是融合了无线射频技术和嵌入式技术为一体的综合技术,RFID在自动识别、物品物流管理有着广阔的应用前景。

3、嵌入式系统技术:是综合了计算机软硬件、传感器技术、集成电路技术、电子应用技术为一体的复杂技术。经过几十年的演变,以嵌入式系统为特征的智能终端产品随处可见;小到人们身边的MP3,大到航天航空的卫星系统。嵌入式系统正在改变着人们的生活,推动着工业生产以及国防工业的发展。如果把物联网用人体做一个简单比喻,传感器相当于人的眼睛、鼻子、皮肤等感官,网络就是神经系统用来传递信息,嵌入式系统则是人的大脑,在接收到信息后要进行分类处理。这个例子很形象的描述了传感器、嵌入式系统在物联网中的位置与作用。

既然物联网这么神奇,从技术侧,它是如何落地的呢?

二、物联网的技术落地

物联网的技术落地,需要一个端到端的解决方案。

同样,在开源社区具有完备的IoT生态,目前有很多厂商参与:

如下四个参与者已经可以提供端到端的IoT方案:

参与者一:Eclipse 拥有Kapua项目,他提供:

模块化的物联网云平台,管理和集成设备及其数据,这也是物联网服务的坚实集成基础:

Eclipse Kapua是物联网设备和智能传感器的模块化集成平台,它将操作技术与信息技术结合在一起。

而目前参与了Kapua项目的其他两个厂商:EUROTECH和Redhat:

参与者二:EUROTECH提供Everyware Cloud™:

简化了数据、设备和嵌入式应用程序管理。通过将分布式设备连接到企业应用程序。

参与者三:Cloudera的CDH

CDH是Cloudera的100%个开源平台分布,包括Apache Hadoop,并专门构建以满足企业需求。CDH提供了你所需要的企业使用权。通过集成Hadoop和十几个其他关键的开源项目,Cloudera创建了一个功能先进的系统,帮助您执行端到端的大数据工作流。

参与者四:Redhat,领导参与众多开源项目,提供PaaS平台和中间件平台:

目前,四个参与者提供IoT端到端解决方案之一如下:

下图从左到右:连接设备=>IoT网关=>IoT集成Hub=>数据管理和分析平台=>企业级应用

IoT网关的作用:

  • 设备连接
  • 数据转换
  • 智能路由
  • 商业逻辑
  • 边缘分析和实时决策

IoT网关将遥测数据传递给物联网集成HUB,物联网集成HUB的作用:

  • 设备管理,安全性和访问控制
  • 数据聚合
  • 事件处理
  • 集成服务

接下来,IoT集成hub将遥感数据传递给数据管理和分析平台,这个平台的作用:

  • 数据摄取
  • 流/批处理
  • 安全的数据存储
  • 机器学习和实时分析

接下来,数据管理和分析平台将应用数据发给企业应用平台,这个平台的作用:

  • 应用生命周期管理
  • 集成服务
  • 自助服务配置
  • 通过容器实现混合云可移植性

接下来,我们看一个IoT方案的业务架构:

我们查看IoT方案的业务逻辑:

我们查看对应的解决方案:

查看对应的产品,Openshift和中间件承载IoT集成hub上的业务(在IOT网关中也提供BRMS);Cloudera提供奇特数据Hub;EUROTECH提供Everyware Cloud™运行在Openshift中:

三、物联网的技术落地--实验展示

实验环境是在Openshift上部署整套中间件,实现IoT集成Hub功能,架构如下图:

JBoss Fuse集成服务(FIS):通过利用Apache Camel技术来促进消息和协议的集成,路由和转换的工具。

JBoss A-MQ:基于Apache ActiveMQ的消息代理容器映像,用于通过MQTT接收和存储传感器的遥测数据

JBoss BRMS决策服务器:实时处理遥测业务规则

Apache Zeppelin:交互式数据可视化和分析

PostgreSQL:为传感器数据提供持久性

Simulated Software Sensor:模拟温度,振动和GPS传感器数据的简单Spring Boot应用程序

采用的中间件产品,涵盖红帽JBoss的数据集成和数规则引擎:

本实验采用的源码:

https://github.com/lanyushi/brewery

我们查看初始化脚本init.sh,它要依次完成如下组件的安装:

步骤1:clone源码库,并执行初始化脚本:

步骤2:部署postgres:

postgres pod启动成功:

登录postgres数据库,查看数据库:

步骤三:接下来,部署amq:

amq部署成功:

步骤四:S2I部署brms,会先触发一个bc,成功以后再触发dc:

build成功以后,会触发部署:

步骤五:S2I部署fuse,先触发build:

克隆完源码仓库后,下载编译需要的maven-core

执行assemable脚本:

这个脚本负责将外部代码库的代码下载到本地,并且进行编译打包。开始执行assemable脚本,表示源码和building image已经都下载好:

The assemble script is responsible for building the application artifacts from source and placing them into the appropriate directories inside the image. The workflow for the assemble script

[INFO] --- maven-bundle-plugin:2.3.7:install (default-install) @ iot-ocp-routing-service ---

[INFO] Writing OBR metadata

[INFO] Installing com/redhat/examples/iot/iot-ocp-routing-service/0.0.1-SNAPSHOT/iot-ocp-routing-service-0.0.1-SNAPSHOT.jar

[INFO] Writing OBR metadata

[INFO]

[INFO] --- karaf-maven-plugin:4.0.8.redhat-000026:assembly (karaf-assembly) @ iot-ocp-routing-service ---

[INFO] Using repositories: https://repo.fusesource.com/nexus/content/groups/public@id=fusesource.m2,https://repo.fusesource.com/nexus/content/groups/ea@id=fusesource.ea,https://maven.repository.redhat.com/ga@id=redhat.ga,https://repo.eclipse.org/content/repositories/paho-releases@id=paho-mqtt-client,https://repo.maven.apache.org/maven2@id=central

[INFO] Creating work directory

[INFO] Loading kar and features repositories dependencies

[INFO] Generating karaf assembly: /tmp/src/target/assembly

[INFO] Unzipping kars

[INFO] Loading profiles

[INFO] Downloading libraries

[INFO] Writing configurations

[INFO] adding config file: etc/profile.cfg

[INFO] Startup stage

[INFO] Loading repositories

[INFO] Resolving features

环境部署好以后查看zeppelin(交互式数据可视化和分析):

Apache Zeppelin 是一个让交互式数据分析变得可行的基于网页的开源框架。Zeppelin提供了数据分析、数据可视化等功能。Zeppelin 是一个提供交互数据分析且基于Web的笔记本。方便你做出可数据驱动的、可交互且可协作的精美文档,并且支持多种语言,包括 Scala(使用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等等。

参考文档:

1.https://github.com/sabre1041/iot-ocp

魏新宇

  • "大魏分享"运营者、红帽资深解决方案架构师
  • 专注开源云计算、容器及自动化运维在金融行业的推广
  • 拥有MBA、ITIL V3、Cobit5、C-STAR、TOGAF9.1(鉴定级)等管理认证。
  • 拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、AIX、HPUX等技术认证。

原文发布于微信公众号 - 大魏分享(david-share)

原文发表时间:2018-05-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

满足IT需求最好的云备份选项

没有什么办法来复制数据短缺,在云里仍然是这样的。当人们浏览自己的云备份选项时,要仔细看看他的云环境,包括他的云计算供应商的本地备份服务、数据库等等。 回到在虚拟...

3179
来自专栏阮一峰的网络日志

云平台服务商一览

2007年6月,三个美国年轻人决定成立一家新型的网络主机公司。 他们----James Lindenbaum,Adam Wiggins和Orion Henry-...

2727
来自专栏吉浦迅科技

HSA 异构计算系统架构 1.0 标准发布

AMD 曾在多年前提出 "AMD Fusion" 概念,提倡将 CPU 和 GPU 集成在一起,提高两个核心间的沟通效率,APU 就是这个概念下的产物。 随后 ...

2686
来自专栏DevOps时代的专栏

DevOps 之路:一切,从一个笑话说起

今天想和大家分享下关于我们自己内部做的DevOps实践,实施过程中有很多问题和坑,一路踩过来确实也不容易。 DevOps是很一个很大的概念,我们第一阶段只是实现...

2057
来自专栏数据和云

2016年度中国Oracle数据库使用现状分析报告

Oracle数据库从20世纪末就已开始在国内使用,在经历了20多年的迅猛发展后,目前已经占据了全球数据库的首位,在国内拥有数十万的技术粉丝与数万家企业用户,但到...

3349
来自专栏hadoop学习笔记

学hadoop需要什么基础

最近一段时间一直在接触关于hadoop方面的内容,从刚接触时的一片空白,到现在也能够说清楚一些问题。这中间到底经历过什么只怕也就是只有经过的人才会体会到吧。前几...

691
来自专栏编程坑太多

程序员在等代码出结果的时候都会干什么?

863
来自专栏数据和云

行成于思:从Oracle到MySQL

这篇文章来自于微信群的问答,我和周彦伟互相配合,彦伟回答了我的四个关于MySQL和Oracle的问题,对于来自两个不同领域的人,这些问题我想对很多人具备参考价值...

2714
来自专栏云计算D1net

多云管理工具:组织可能需要的6个功能

管理人员需要多云管理工具来确保资源安全,并符合适用的合规标准。他们还需要这些工具来帮助充分利用每个云平台的功能,同时最大限度地降低成本。

1564
来自专栏北京马哥教育

从零构建OpenStack(1) 云计算相关概念及OpenStack介绍

什么是云计算? 什么是云 相信很多人对”云”这个词云里雾里,这也恰好符合它的特性,曾经的云一般表示网络(WAN),我们经常在很多网络拓扑图中看见它的身影,如今云...

2818

扫码关注云+社区