zoukankan      html  css  js  c++  java
  • 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  

           

  • 相关阅读:
    Sql优化(二) 快速计算Distinct Count
    Minor GC和Full GC区别(转)
    对于JVM中方法区,永久代,元空间以及字符串常量池的迁移和string.intern方法
    2017/6/29杂记
    java中代理,静态代理,动态代理以及spring aop代理方式,实现原理统一汇总
    ThreadLocal的设计理念与作用
    2017/6/28杂记
    关于hashmap 与concurrentHashMap
    2017/6/27杂记
    深入理解java异常处理机制
  • 原文地址:https://www.cnblogs.com/iiiDragon/p/9933044.html
Copyright © 2011-2022 走看看