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  

           

  • 相关阅读:
    vue子父组件传值
    springboot后端controller参数接收
    mybatis-plus 相关
    整理 node-sass 安装失败的原因及解决办法
    vue组件name的作用小结
    关于npm audit fix
    Vue项目
    你们都在用IntelliJ IDEA吗?或许你们需要看一下这篇博文
    Eslint配置
    spring boot 资料整合
  • 原文地址:https://www.cnblogs.com/iiiDragon/p/9933044.html
Copyright © 2011-2022 走看看