相关概念

  • MQTT 是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT 是专门针对物联网开发的轻量级传输协议。MQTT 协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。
  • Gateway 中文意思为网关,表示一个网络连接另一个网络的关口。在这里可以理解为,接收前端设备产生的数据,对数据进行存储、转换或其它处理,然后将数据发送至云端的处于数据传输中枢的设备。
 

示例简介

本示例用来介绍 Informix 物联网应用的简单实现,通过该示例可以直观的理解 Informix 在物联网应用中扮演的角色及其价值。

模拟场景介绍

边缘设备作为 Gateway 来收集传感设备发出的实时温度和湿度数据,在对收集的数据进行相应分析或处理后将其传输到 Bluemix 云平台进行存储和分析。

技术架构

边缘设备作为 Gateway 来收集传感设备发出的实时温度和湿度数据,在对收集的数据进行相应分析或处理后将其传输到 Bluemix 云平台进行存储和分析。

图 1. 技术架构

IoTF (Internet of Things Foundation) 为 Bluemix 上的 MQTT Server,Gateway 上的应用程序和 Bluemix 上的应用程序可以注册成为 MQTT Client,从而连接到 IoTF,基于 MQTT 协议,根据约定的主题,以 Publisher 和 Subscriber 的角色进行通信。

Sensor Simulator 为用 Java 程序模拟的传感设备,其以一定时间间隔来不断生成温度和湿度数据,该类型的数据为具有时间特性且按照先后顺序排列,在这里我们称之为时间序列数据。

在 Gateway 和 Bluemix 上均部署 Informix 数据库用于时间序列数据的存储和分析。Informix 占用资源少,具有自动内存管理、自动空间配置等自我管理的功能,可扩展性好,功能强大,特别是其具有专门用来处理时间序列数据的数据库引擎,因此本示例选择将其作为 Gateway 和 Bluemix 上的数据库服务器(部署在 Bluemix 上的 TimeSeries Database Service 为 Informix 专门用来处理时间序列数据的数据库服务)。

Gateway 上的 Java App 用来将 Sensor Simulator 生成的温度和湿度数据保存在嵌入的 Informix 数据库中。

Gateway 上的 Python App 对 Informix 数据库中存储的温度和湿度数据按照一定时间单位进行简单地聚集分析,然后以 Publisher 的角色将聚集结果(仍然为时间序列数据)通过 MQTT 协议发布到 Bluemix 的 IoTF。

Bluemix 上的 Java Web APP 以 Subscriber 的角色通过 MQTT 协议接收 Gateway 上的 Python App 发布的时间序列数据并将其保存到 Time Series Database 中;该 APP 同时还具有在 Time Series Database 中进行 DDL 和 DML 操作的功能,可以进行时间序列表的 CRUD 操作,因此可以利用其对数据库中保存的数据进行查询和分析。

Informix 物联网应用示例(转)的更多相关文章

  1. oracle+st_geometry

    最近因为性能的原因开始关注通过oracle和st_geometry直接操作数据库来解决实际业务问题.主要还是用到了“使用 SQL 处理 ST_Geometry”.对此,ESRI给出的帮助文档中的解释如 ...

  2. INFORMIX的dbexport和dbimport使用示例说明

    INFORMIX-IDS数据库进行迁移中,我们在进行数据级别的迁移时,采用dbexport,dbimport来完成.dbexport导出数据库中所有对象的模式脚本和表数据文件,该模式脚本中包含有表等的 ...

  3. 玩转华为物联网IoTDA服务系列三-自动售货机销售分析场景示例

    场景简介 通过收集自动售货机系统的销售数据,EI数据分析售货销量状况. 该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,应用侧可以到物联网平台订阅设备侧变化的通知,用户可以在控制台或通 ...

  4. 物联网温度服务器-ECharts、HTML5、JavaScript / ECharts gauge使用示例

    https://blog.csdn.net/u012812482/article/details/51079890 1. 效果 2. 简介 1. 其中仪表的部分使用的是ECharts的gauge控件实 ...

  5. 物联网通信 - RESTDemo示例程序(C#版本)

    技术:wcf+http post+json(.net4.0 + jdk1.8) 运行环境:vs2010+java 概述Server开放RESTful API接口,供应用程序/移动App/嵌入式qt通过 ...

  6. 物联网通信 - RESTDemo示例程序(Python版本)

    QQ:505645074 下载地址: https://pan.baidu.com/s/1VHtni6rVslXkSBTW26jXTg GET接口 http://127.0.0.1:5000/test/ ...

  7. 物联网通信 - RESTDemo示例程序

    概述 Server开放RESTful API接口,供应用程序/移动App/嵌入式qt通过http post调用,实现获取服务端数据,更新服务器数据 详细 代码下载:http://www.demodas ...

  8. 物联网通信 - RESTDemo示例程序(Java版本)

    源码下载  -> 提取码  QQ:505645074 Netty的Restful API实现 Get: http://127.0.0.1:8662/test Post http://127.0. ...

  9. 物联网实验4 alljoyn物联网实验之手机局域网控制设备

    AllJoyn开源物联网协议框架,官方描述是一个能够使连接设备之间进行互操作的通用软件框架和系统服务核心集,也是一个跨制造商来创建动态近端网络的软件应用.高通已经将该项目捐赠给了一个名为“AllSee ...

随机推荐

  1. maven添加jetty插件

    pom.xml中增加jetty的配置 <properties> <jetty-version>8.1.13.v20130916</jetty-version> &l ...

  2. 【Android 界面效果15】Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)

        Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高.     一个相对完善的自定义控件在布局文件中和java ...

  3. 【Java的JNI快速学习教程】

    1. JNI简介 JNI是Java Native Interface的英文缩写,意为Java本地接口. 问题来源:由于Java编写底层的应用较难实现,在一些实时性要求非常高的部分Java较难胜任(实时 ...

  4. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  5. ASP.NET页面与IIS底层交互和工作原理详解(第二回)

    引言 在 Part.1 Http请求处理流程 一文中,我们了解了Http请求的处理过程以及其它一些运作原理.我们知道Http管道中有两个可用接口,一个是IHttpHandler,一个是IHttpMod ...

  6. Oracle基础 数据库备份和恢复

    一.为什么需要数据备份 造成数据丢失的主要原因: 1.介质故障. 2.用户的错误操作. 3.服务器的彻底崩溃. 4.计算机病毒. 5.不可预料的因素. Oracle中故障类型分为以下4种. 1.语句故 ...

  7. vb.net机房收费系统之组合查询

    我个人一直认为,组合查询是机房收费系统的一个难点,尤其是用到三层之后,如果要为组合查询中的每一个查询建立一个显然是太麻烦了. 下面介绍一下我的方法,对大家起个参考作用. 我将该表中可输入的内容定义为一 ...

  8. LearnMVC5-AddAModel

    本人是MVC新手,将从微软官网学习MVC并将看过的英文文档翻译成中文,由于本人英文水平不好,有翻译不准确.错误的地方万望指出,我看到后将会在第一时间修改.另外也希望这一系列文章能为后来者起到引导作用. ...

  9. Gulp 自动化的项目构建工具

    在很多场合都会听到前端工和 node 程师推荐 Grunt 来实现项目的自动化,自动化可以自动完成 javascript/coffee/sass/less 等文件的的测试.检查.合并.压缩.格式化.部 ...

  10. ionic 中使用ion-slide-box

    ion-slide-box 用法: <ion-slide-box class="slide" auto-play="true" does-continue ...