Informix 物联网应用示例(转)

时间:2022-08-30 23:36:13

相关概念

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

示例简介

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

模拟场景介绍

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

技术架构

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

图 1. 技术架构

Informix 物联网应用示例(转)

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. Issue 4:分布式的基础性问题

    最近打算聊一聊分布式的基本思想.定了个大致的技术路线. 分布式难点 分片和元数据管理 多副本策略 多副本一致性方案 并发和事务支持

  2. Django部署问题

    1.Debug=True页面正常显示. 2.Debug=False,页面500错误. 3.解决500,配置setting.py,令ALLOWED_HOSTS = ['*'],可解决访问问题,但静态文件 ...

  3. 如何解决PHP中文乱码问题

    如何解决PHP中文乱码问题 一.解决HTML中中文乱码问题方法    1.在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的. ...

  4. Java自学之路---DotCom

    引言 我从接触编程以来,一直是一个C/C++程序猿,因为我喜欢编程时,那种接地气的感觉,认为只有自己管理内存的使用,心理才踏实.但随着工作中不断增加的见闻,不断的从博客和源码中获得新的见解,我发现这个 ...

  5. 【原创】java NIO selector 学习笔记 一

    能力有限,仅仅是自己看源码的一些笔记. 主要介绍 可选通道 和 选择器 选择键(SelectableChannel  和 Selector SelectionKey) 选择器(Selector) 选择 ...

  6. David MacKay:用信息论解释 '快速排序'、'堆排序' 本质与差异

    这篇文章是David MacKay利用信息论,来对快排.堆排的本质差异导致的性能差异进行的比较. 信息论是非常强大的,它并不只是一个用来分析理论最优决策的工具. 从信息论的角度来分析算法效率是一件很有 ...

  7. Ubuntu16 FTP的安装,基本配置与权限控制

    1.ftp与sftp 大致了解下: ftp是一个文件传输协议,linux环境需要它才能支持文件的传输与查看,它的默认端口是21. sftp是加密/解密的文件传输协议,因为它每次传输都有加密解密的步骤, ...

  8. redis常见问题

    1.redis满了,怎么处理? (1)内存淘汰策略(2)集群,动态增加redis服务器(推荐) 2.val比较大时(比如50MB),会有什么影响? 因为redis是单线程,多路IO复用的,所以当一个v ...

  9. redis命令Set类型(七)

    集合类型 集合类型:无序.不可重复 列表类型:有序.可重复 命令: 1>增加/删除元素 语法:SADD key member [member -] 127.0.0.1:6379> sadd ...

  10. elasticsearch 口水篇(9)Facet

    FACET 1)Terms Facet { "query" : { "match_all" : { } }, "facets" : { &q ...