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的更多相关文章

  1. 云中树莓派(2):将传感器数据上传到 AWS IoT 并利用Kibana进行展示

    云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 1. 传感器安装及配置 1.1 DHT22 安装 DHT22 是一款温度与湿度传感器,它有3 ...

  2. 基于Azure IoT开发.NET物联网应用系列-全新的Azure IoT架构

    物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网.物联网.互联网三网合一.2017年的时候重点研究过Azure Io ...

  3. FD.io社区中国行暨未来网络技术沙龙·南京站 会议小结

    What is FD.io VPP? FD.io VPP(Fast Data Input/Output Vector Packet Processing)is a new network multi- ...

  4. Smart internet of things services

    A method and apparatus enable Internet of Things (IoT) services based on a SMART IoT architecture by ...

  5. ASF (0) - ASF Java 项目总览

    Apache .NET Ant Library This is a library of Ant tasks that help developing .NET software. It includ ...

  6. JHipster生成微服务架构的应用栈(五)- 容器编排示例

    本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...

  7. 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 ...

  8. 读懂SAP Leonardo物联网平台

    读懂SAP Leonardo物联网平台 https://blog.csdn.net/weixin_42137700/article/details/81903290 本文比较系统.全面地介绍了SAP ...

  9. FD.io 社区中国行暨未来网络技术沙龙 南京站 参会小结

    FD.io 社区中国行暨未来网络技术沙龙 南京站,2018 年 3 月 17 日. 开场致辞 Ray 介绍了一些有的没的 ⁃ (Future Event)DPDK summit, FD.io summ ...

随机推荐

  1. Python【每日一问】16

    问: [基础题]TCP/UDP/HTTP协议区别 [提高题]在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数, ...

  2. 2019.4.24 3D效果滚筒导航练习

    效果图: 彩千圣天下第一!(小声bb) 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  3. sql geography类型(地理坐标) 赋值

    sql 语句赋值 update [lishui].[dbo].[t_NearbyService] ,, ) ,[locationbaidu]=geography::Point(,, ) where [ ...

  4. WCF系列教程之WCF客户端异常处理

    本文参考自:http://www.cnblogs.com/wangweimutou/p/4414393.html,纯属读书笔记,加深记忆 一.简介 当我们打开WCF基础客户通道,无论是显示打开还是通过 ...

  5. 爬虫URL去重

    这个要看你想抓取的网页数量是哪种规模的.如果是千万以下用hash表, set, 布隆过滤器基本可以解决,如果是海量的......嗯我也没做过海量的,不过hash表之类的就别想了,内存根本不够,分割线下 ...

  6. 【Kafka源码】日志处理

    目前来说,kafka的日志中记录的内容比较多,具体的存储内容见这篇博客,写的比较好.可以看到,存储的内容还是比较多的,当存储文件比较大的时候,我们应该如何处理这些日志?下面我们通过kafka启动过程的 ...

  7. 运行零币Zcash(ZEC)

    1.在基于 Ubuntu 或者 Debian 的系统中: $ sudo apt-get install \build-essential pkg-config libc6-dev m4 g++-mul ...

  8. HUE配置文件hue.ini 的sqoop模块详解(图文详解)(分HA集群和非HA集群)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  9. javac符号名字的管理

    在符号表中,很重要的一项内容就是符号的名字.名字的管理,要解决的主要问题就是名字的变长问题.在javac中,所有的符号名字放到了一个公用字符池中,对于相同的名字只保存一个. 其中涉及到的主要类及关系如 ...

  10. JavaScript数据结构-14.集合

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...