本文由灵自古来 邮箱lingzigulai@163.com 微信号lingzigulai 原创,转载请注明出处,谢谢。
- 概述
- 架构设计
架构图
软网关:负责连接各种串口、modus、CAN、IO硬件协议设备,进行数据解析,将和他们的通信转化为mqtt协议的发布和订阅2类操作,和mqtt消息总线进行交互;将通过mqtt接收的各种二进制消息解析成标准数据结构;可通过配置页面,配置某个设备某天协议解析成某个属性或者某个方法;
硬网关:带串口/CAN等各种传统硬件接口转网口或者gprs/4G口的,硬件模块实现软网关的功能,解决方便部署和低成本问题;通过购买硬件模块二次开发实现;
智能硬件:本身支持mqtt协议的智能硬件,不需要进过软网关或者硬网关,可直接和mqtt消息总线通讯;
Mqtt消息总线:负责接入所有本公司软网关、硬网关、智能硬件,也作为对外的硬件接入平台开放给第三方开发者;
设备中心服务:负责将通过mqtt接收的各种消息转发到消息应用消息总线,或者其他系统;初始化设备影子redis,
云平台消息总线:接收接入服务发布的消息,进行具体的分析存储等操作;接入服务也订阅云平台消息总线的控制消息,进行下发控制操作;
设备管理web服务:维护设备影子生命周期(对设备影子提供web api增删查改);为网关提供数据配置信息web api ;为驱动包升级提供webapi;为设备提供数据连接信息api;为产品表、产品属性表(物模型)提供管理webapi; 为设备表提供web api; 为产品协议配置表、取值表提供web api;
设备影子缓存:采用redis缓存实现;
- 模块分解
分类 |
模块 |
描述 |
软件服务 |
软网关 |
|
|
设备中心服务 |
|
中间件 |
Mqtt |
设备接入总线 |
|
Redis |
设备影子 |
|
kafka |
云平台总线 |
|
Netty |
|
硬件 |
硬网关 |
|
Web配套服务 |
设备管理api |
|
|
|
|
- 静态数据定义
部分表结构设计:
产品属性表
分类 |
数据项 |
说明 |