物联网开发框架Niagara - Part1概述

1. Niagara是什么?

Niagara [naɪ'æɡərə] 是使用Java开发的完整物联网架构,丰富的接口及组件库,使得开发快速。良好的分层、封装设计,开发都是模块化、面向组件的。模块化是指开发的项目可以打包成单独模块,在其他项目中通过内置接口调用。面向组件是指可以选择适合项目的、各个层级的组件,”搭积木“的方式组合成目标应用。

2. Niagara基本架构

Niagara的开放API类封装在javax.baja包中,baja的意思是构建自动化的java架构。整体软件框架包含5大部分:

  • baja:底层API,提供基础的模块管理、代理注册、日志、线程、安全、组件基类、数据基类等模块通用的接口;
  • 水平应用层:封装了一些常用功能,比如历史记录、报警、驱动等,可以直接使用也可以在其基础上扩展开发;
  • 设备接口:提供设备的接入功能,支持各种网络:Modbus、BacNet、Fox等
  • 企业接口:提供外部应用接入功能,比如邮箱、数据库、Web服务器等
  • 用户接口:提供可视化、人机交互的功能,支撑HTML5及JS,实现桌面、浏览器访问;
  • 图形化:提供图形文档的支持,可以Java2D绘图,支持PDF、PNG、SVG;

Niagara系统架构是分布式的,可以部署在设备终端及服务器。

  • Station: 运行时环境,类似于JVM,可以称作nJVM,专门用做运行Niagara的组件应用;
  • Workbench: 管理工具,可以通过可视化的界面管理Station中的组件;
  • Daemon: 操作系统层面的常驻进程,用于管理启动staion、平台配置等;
  • Web Browser: 标准web浏览器;

Niagara架构的类图,后面的开发中再详细介绍:

 

Niagara框架是模块化的,模块根据功能划分成不同类型,每个类型模块由若干部分构成

 

 

NiagaraAX开发者向导-docDeveloperPDF NiagaraAX-3.1 Devdloper Guide 中文版 目录结构: 目 录 目 录 ...............目 录 ......1 Niagara 概览 .................4 整体概要 ..................... 4 Niagara: ............ 4 背景....... 4 Java 4 混合集成系统 ..... 4 非专业程序员的编程 ........................... 4 嵌入式系统 ......... 4 分布式系统 ......... 5 组件软件 ..................... 5 结构 ........6 概述....... 6 程序(Programs) ................... 6 通讯协议(Protocols) ........................ 7 平台(Platforms) ................... 7 站点(Stations) ........ 7 守护进程(Daemon) ................... .. 8 工作台(Workbench) ................... . 8 FOX 通讯协议 ............. 9 接口软件栈(API Stack) .......................... 10 API 相关信息 ............. 11 概览..... 11 稳定性(Statbility) ................... ... 11 Baja 是什么 ............... 11 标准与实现 ............... 11 Javax.baja 与 com.tridium ........................ 12 模块(Modules) ....... 13 概览..... 13 版本号. 13 清单(Manifest) .... 13 对象模型 ..................... 16 Niagara 类型 ............. 16 BObject 16 BInterface .................. 16 BObject 语义 ............. 16 建立 BObject 对象 .... 17 组件模型(Component Model) .................. 18 介绍..... 18 插槽(Slots) ........... 18 NiagaraAX-3.1 开发者向导 作者:Tridium 公司 翻译:YC 2 / 52 BValue . 19 建立 BValue .............. 19 建立 Simple 子类对象(Building Simples) . 20 概览..... 20 示例..... 20 建立枚举类型(Buildiing Enums) .............. 23 概览..... 23 示例..... 23 建立 Complex 对象(Building Complexes) . 25 BStructs 与 BComponents ........................ 25 建立 BComplex 子类对象 .......................... 25 内省模式 ................... 25 静态属性(Property) ................... 26 规则 ................... 26 语义 ................... 26 示例 ................... 26 静态活动(Action) ...... 27 规则 ................... 27 语义 ................... 27 示例: ............... 28 静态主题(Topic) .. 28 规则 ................... 28 语义 ................... 28 示例: ............... 28 动态插槽 ................... 29 注册(Registry) ........ 30 概览..... 30 API ....... 30 代理(Agent) ......... 30 Defs ..... 31 Spy ....... 31 命名(Naming) ........ 32 概览..... 32 API ....... 32 分解(parsing) ....... 33 常见“格式”(Common Schemes) ......... 33 IP: ................... 33 Fox: ................. 33 Moudle: .......... 34 Slot: ................ 34 h: .................... 34 Service: ........... 34 Spy: ................. 34 Bql: ................. 34 NiagaraAX-3.1 开发者向导 作者:Tridium 公司 翻译:YC 3 / 52 链接(Links) ............. 35 概览..... 35 连接(Links) ........... 35 链接检查(Link Check) ............................ 35 直接链接和间接链接 ................... .. 36 链接激活(Activation) ............................ 36 执行(Execution) ..... 37 概览..... 37 运行状态(Running state) ...................... 37 链接(Links) ........... 37 定时器(Timer) ..... 37 异步动作(AsyncAction) ......................... 38 系统时间变更(System Clock Changes) . 38 站点(Station) ......... 39 概览..... 39 启动..... 39 远程编程(Remote Programming) .......... 40 概览..... 40 原理..... 41 代理对象的功能 ....... 41 代理对象的状态 ....... 42 订阅(Subscription)................... .. 43 Leasing(租赁) ....... 43 分组调用(Batch Call) ............................. 44 分组解析(Batch Resolve) .............. 44 分组订阅(Batch Subscribe) ........... 44 事务(Transactions) ........................ 44 调试(Debugging) . 45 工作台(Workbench) ................... .. 48 概览..... 48 布局(Layout) ........ 48 浏览器式的导航 ....... 49 WbPlugins ................. 49 WbView 类 ................ 49 WbFieldEditor 类 ...... 50 WbSideBar 类 ............ 51 WbTool 类 ................. 51 WbProfiles 类 ............ 51 ..........1 Niagara 概览 .................4 整体概要 ..................... 4 Niagara: ............ 4 背景....... 4 Java 4 混合集成系统 ..... 4 非专业程序员的编程 ........................... 4 嵌入式系统 ......... 4 分布式系统 ......... 5 组件软件 ..................... 5 结构 ........6 概述....... 6 程序(Programs) ................... 6 通讯协议(Protocols) ........................ 7 平台(Platforms) ................... 7 站点(Stations) ........ 7 守护进程(Daemon) ................... .. 8 工作台(Workbench) ................... . 8 FOX 通讯协议 ............. 9 接口软件栈(API Stack) .......................... 10 API 相关信息 ............. 11 概览..... 11 稳定性(Statbility) ................... ... 11 Baja 是什么 ............... 11 标准与实现 ............... 11 Javax.baja 与 com.tridium ........................ 12 模块(Modules) ....... 13 概览..... 13 版本号. 13 清单(Manifest) .... 13 对象模型 ..................... 16 Niagara 类型 ............. 16 BObject 16 BInterface .................. 16 BObject 语义 ............. 16 建立 BObject 对象 .... 17 组件模型(Component Model) .................. 18 介绍..... 18 插槽(Slots) ........... 18 NiagaraAX-3.1 开发者向导 作者:Tridium 公司 翻译:YC 2 / 52 BValue . 19 建立 BValue .............. 19 建立 Simple 子类对象(Building Simples) . 20 概览..... 20 示例..... 20 建立枚举类型(Buildiing Enums) .............. 23 概览..... 23 示例..... 23 建立 Complex 对象(Building Complexes) . 25 BStructs 与 BComponents ........................ 25 建立 BComplex 子类对象 .......................... 25 内省模式 ................... 25 静态属性(Property) ................... 26 规则 ................... 26 语义 ................... 26 示例 ................... 26 静态活动(Action) ................... ... 27 规则 ................... 27 语义 ................... 27 示例: ............... 28 静态主题(Topic) .. 28 规则 ................... 28 语义 ................... 28 示例: ............... 28 动态插槽 ................... 29 注册(Registry) ........ 30 概览..... 30 API ....... 30 代理(Agent) ......... 30 Defs ..... 31 Spy ....... 31 命名(Naming) ........ 32 概览..... 32 API ....... 32 分解(parsing) ....... 33 常见“格式”(Common Schemes) ......... 33 IP: ................... 33 Fox: ................. 33 Moudle: .......... 34 Slot: ................ 34 h: .................... 34 Service: ........... 34 Spy: ................. 34 Bql: ................. 34 NiagaraAX-3.1 开发者向导 作者:Tridium 公司 翻译:YC 3 / 52 链接(Links) ............. 35 概览..... 35 连接(Links) ........... 35 链接检查(Link Check) ............................ 35 直接链接和间接链接 ................... .. 36 链接激活(Activation) ............................ 36 执行(Execution) ..... 37 概览..... 37 运行状态(Running state) ...................... 37 链接(Links) ........... 37 定时器(Timer) ..... 37 异步动作(AsyncAction) ......................... 38 系统时间变更(System Clock Changes) . 38 站点(Station) ......... 39 概览..... 39 启动..... 39 远程编程(Remote Programming) .......... 40 概览..... 40 原理..... 41 代理对象的功能 ....... 41 代理对象的状态 ....... 42 订阅(Subscription)................... .. 43 Leasing(租赁) ....... 43 分组调用(Batch Call) ............................. 44 分组解析(Batch Resolve) .............. 44 分组订阅(Batch Subscribe) ........... 44 事务(Transactions) ........................ 44 调试(Debugging) . 45 工作台(Workbench) ................... .. 48 概览..... 48 布局(Layout) ........ 48 浏览器式的导航 ....... 49 WbPlugins ................. 49 WbView 类 ................ 49 WbFieldEditor 类 ...... 50 WbSideBar 类 ............ 51 WbTool 类 ................. 51 WbProfiles 类 ............ 51
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值