IoT Gateway Based on OSGi
1. OSGi Knowleage
2. OSGi.Net on Windows
3. OSGi with JAVA
4. OSGi with Qt and C++
5. Architecture of Gateway using EIP
5.1 EIP = Enterprise Integeration Patter
5.2 Refer to Spring Integration
5.3 Refer to Flume,Strom,Netty, MQ
5.4 Refer to SCADA and OPC Kepware
5.5 IoT Gateway
5.5.1 OSGi Runtime Platform
5.5.2 Adopte Plugin development
5.5.3 Modules
5.5.3.1 Device
5.5.3.1.1 Create Device
5.5.3.1.2 Select Device Driver
5.5.3.1.3 Device need a name, so it can be persistent
5.5.3.1.4 Need to know the relationship between Device name and its Driver ( present as plugin)
5.5.3.1.5 Need to save the configration of device
5.5.3.2 Lightweight DB (plugin)
5.5.3.2.1 Save user name and password
5.5.3.2.2 Save general configuration of gateway, as key-pair placed in header. such as ID, Name,Location,LatiLogi
5.5.3.2.3 Save the devices created by user, its name, its driver, its driver configuration
5.5.3.2.4 Save log and value of realtime variables
5.5.3.3 Channle
5.5.3.3.1 Create Channle
5.5.3.3.2
5.5.3.3.2 Channle Exports its configuraiton and its ID, its description
5.5.3.3.3 Channle is able to save and read its configuration metadata from OSGi main plugin
5.5.3.3.4 Channle's thread number
5.5.3.3.5 Sync or Asyn
5.5.3.3.6 Log system
5.5.3.3.7 Filter, Intercepter
5.5.3.4 Variables
5.5.3.4.1 Define name
5.5.3.4.2 Select device, its value will be retrieved by driver of device.
5.5.3.4.3 The details of configuration, based on protocol of driver
5.5.3.4.3 Select Channle, its value will be got by its driver and send to its channle (using Executor.submit()),
5.5.3.4.4 Channle will be started as single thread or has thread pool, cache pool to save the value of varabile temporarly
5.5.3.4.5 Channle is responsible for send value of varable to corresponding receiver server, such as EMQ, socket server, http server, db server
5.5.3.4.6 Exception handling, Log
5.5.3.5 Driver as plugin
5.5.3.5.1 Device Driver as plugin
5.5.3.5.2 Need name, UUID, description, version, author, supportive protocl as IDriverInfo
5.5.3.5.3 Configuration presention UI
5.5.3.5.4 The metadata of configuration for persistence as IDriverConfiguration
5.5.3.5.5 Special configuraiton, such as thread number, logger interface, cache pool size, Exact-once, error handling, retry-times, timeout
5.5.3.5.6 Describe how to define a varible based on protocol, need Variable definition UI
5.5.3.5.7 The definition of variable for Driver will be save to DB
5.5.3.6 Transceiver as plugin
5.5.3.6.1 Transceiver as plugin
5.5.3.6.2 Need name, ID,description, version,author
5.5.3.6.3 Configuration UI
5.5.3.6.4 The metadata of configuration for persistence
5.5.3.6.5
IoT Gateway Based on OSGi的更多相关文章
- 云中树莓派(2):将传感器数据上传到 AWS IoT 并利用Kibana进行展示
云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 1. 传感器安装及配置 1.1 DHT22 安装 DHT22 是一款温度与湿度传感器,它有3 ...
- 基于Azure IoT开发.NET物联网应用系列-全新的Azure IoT架构
物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网.物联网.互联网三网合一.2017年的时候重点研究过Azure Io ...
- FD.io社区中国行暨未来网络技术沙龙·南京站 会议小结
What is FD.io VPP? FD.io VPP(Fast Data Input/Output Vector Packet Processing)is a new network multi- ...
- Smart internet of things services
A method and apparatus enable Internet of Things (IoT) services based on a SMART IoT architecture by ...
- ASF (0) - ASF Java 项目总览
Apache .NET Ant Library This is a library of Ant tasks that help developing .NET software. It includ ...
- JHipster生成微服务架构的应用栈(五)- 容器编排示例
本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...
- Quick Guide to Microservices with Spring Boot 2.0, Eureka and Spring Cloud
https://piotrminkowski.wordpress.com/2018/04/26/quick-guide-to-microservices-with-spring-boot-2-0-eu ...
- 读懂SAP Leonardo物联网平台
读懂SAP Leonardo物联网平台 https://blog.csdn.net/weixin_42137700/article/details/81903290 本文比较系统.全面地介绍了SAP ...
- FD.io 社区中国行暨未来网络技术沙龙 南京站 参会小结
FD.io 社区中国行暨未来网络技术沙龙 南京站,2018 年 3 月 17 日. 开场致辞 Ray 介绍了一些有的没的 ⁃ (Future Event)DPDK summit, FD.io summ ...
随机推荐
- v-bind、v-on 的缩写
Vue中的缩写:v-bind.v-on v-bind 缩写:: 预期:any (with argument) | Object (without argument) 参数:attrOrProp (op ...
- 服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
我们都知道网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots 规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如宜搜蜘蛛(YisouSp ...
- 【old】Python学习笔记
上学期看视频记得,也没学到多少,目前打算一边通过<Python学习手册 第四版>提高核心语法(太厚了 噗),一边学习Python Web开发 然后这里的多任务编程和网络编程是暑假学的 5. ...
- Groovy 反序列化漏洞分析(CVE-2015-3253)
0x00 前言 Java反序列化的漏洞爆发很久了,此前一直想学习一下.无奈Java体系太过于复杂,单是了解就花了我很久的时间,再加上懒,就一直拖着,今天恰好有空,参考@iswin大佬两年前的分析, ...
- dubbo服务暴露过程
所谓服务暴露最终做的事情:绑定网络端口,开启serversokect服务以接收外部请求 服务暴露时序图 本地暴露 远程暴露 整体总结 dubbo服务提供者暴露服务的主过程:首先 ServiceConf ...
- 祝福csdn回望2014,展望2015 大致可以这样总结和展望
祝福CSDN回望2014,展望2015 大致可以这样总结和展望 回望2014,大致可以这样总结: 从寻觅一架飞机开始,到寻觅另一架飞机结束,中间觅了几天金正恩. 全年都在寻觅收钱的人.送钱的人和带着钱 ...
- [DPF] DPF 常见的问题
问题一: SQL6031N Error in the db2nodes.cfg file at line number "5". Reason code "12&qu ...
- html-css-js基本理解和简单总结
目录 一.对于网页的基本理解 1.网页是一种数据展示和信息交互的载体 2.网页组成部分 3.支撑一个网页的技术模块 二.html的理解和技术笔记 1.html理解 2.html技术笔记-html标签 ...
- OGNL取Map,List,Set的值
用到的类有: 相应代码: public class Dog { private String name; public Dog(){ } public Dog(String name){ this.n ...
- OAuth机制原理(开放授权机制)
1.简述 OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全.开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的. 国 ...