当前位置: 首页 > news >正文

Niagara物联网框架机制二(笔记)

一、Niagara框架

1、一个Niagara 系统中有四种典型的Programs,这些程序间的关系及其网络通讯关系可通过下面的通讯图表解释

 

  2、 Niagara  Programs

            station : Nigara运行实例,在JavaVM上运行起来的Nigara组件应用实例。

            Workbench : 是一种Nigara工具, 意在JavaVM运行,承载Nigara插件的主机。

            Daemon  : 是本地的一个守护进程,Daemon用来引导启动一个Station并且管理运行平台的各种配置,比如本地系统的IP配置。

            web Browser  :是标准的浏览器客户端,用浏览器来承载一个Nigara网页用户界面。

3、  通讯协议   Protocols 

       使用三种铜须协议将上述四种程序结合起来:

            FOX:   是一种使用专利的TCP/IP上运行的协议,用来实现Station与Station之间的通讯,也可以实现Workbench和Station间的通讯。

           HTTP  :  标准协议,用来杨业浏览器和Station 的网页间通讯。

          Nigarad  :  是一种私用专利的通讯协议,用来实现守护进程和Workbench间的通讯。

4、 平台   Platforms

          Niagara 可以被很多平台承载,从小的嵌入式系统到高端的服务器都可以实现:

             jace  :jace是java程序控制引擎的缩写   java ApplicationControl Engine  他用来描述一个无显示器的嵌入式平台,通常一个jace 都运行与一个Flash(闪存)文件系统,并且提供后背电池组, jace 通常承载一个Daemon和一个Station, 不承载Workbench 。jac通常运行QNX(商用实时操作系统)或者WindowsXP版本的操作系统。

            Supervisor  : 适用于运行了一个Station的工作站或者服务器。Supervisor特指为其他无历史或警报集合的Station提供服务的Station机器,Supervisor必须运行一个Station,但也可能运行Workbench或者daemon

          Clinet  : 客户端嗾使运行Windows或者Linux操作系统,并使用Workbench或浏览器来访问Nigara的系统。

5、站点  Station

      Niagara 系统的构架是围绕以组件 Component 为导向的编程为核型设计的。组件Component是使用java编写、打包、部署为模块的自包含单位。多个组件通过连线构成一个应用 application 并运行在Station 上。一个Niagara 的Station的应用,会被存储在名为config.bog 的XML文件中,这个config.bog文件包含了一个包括组件及其属性的牌子的树桩的结构。并且记录。

 6、守护进程   Daemon

           使用本地代码写成,没有使用java,在操作做系统上有由守护进程来引导并管理Niagara平台。具体功能是,安装别备份站点数据库、启动并监视站点、配置TCP/IP、安装并升级操作系统(只针对QNX)、安装升级就javaVM、安装升级Niagara软件,安装碧迪字典管理并授权安装。

       在Windows系统,Daemon是以Windows的后天服务运行的,在QNX操作系统上,Daemon是以一个守护进程方式在QNX启动的时候运行的,

   使用Workbench界面访问Daemon是最常使用的方法,必须使用Openplatforms打开一个平台会话用以链接远程客户端的Daemon,

      另一种链接Daemon的方法,通过运行plat.ext启动一个命令行控制台来进行通讯。

7、工作台 Workbench

      Workbench使用bajaui模块中的widget构建搭建的,而bajaui本事又是使用标准的Niagara的组件模式搭建的。Niagara提供两种客户端技术,第一种是 webWorkbench,这种方式允许Workbench运行在有java产检的浏览器上,web Workbench需要下载小的APP老人头模块wbapplet。。第二种是“hx” 使用Serverlet作为服务器端。

 8、FOX 通讯协议

   Nagara 拥有自己的通讯协议, fox FOX是一种基于TCP协议的多通道复用点对点通讯协议。FOX默认端口1911,其特点是;

        基于 TCP的Socket通讯  、摘要式验证方式、点对点、请求/答复、支持异步事件、基于流 Streaming    、通过频道切换多路复用技术可实现多应用同时运行。使用字符明码发送帧或信息,方便调试。统一的信息语法格式。高性能。使用Java 实现的协议栈。

9、接口软件  API Stack

Niagara提供广泛的成套的java API 用来定义扩展Station和WorkBench。Niagara构架如下

         Baja :  Niagara 构架的基础,通过Baja模块订协议API,这些API定义可基础规则,包括模块、某快组、命名、导航、以及安全。

       Horizontal    : Niagara包含了许多预先建好的组件库,用来支持物联网等领域,提供了基本的功能,包括 control、alarm、historical、scheduling、BQL等

       Drivers   : Niagara被设计为全面支持多协议混用,在Niagara中,使用driver farmework 标准建立的。用来和外部设备后系统同步信息的组件称为drivers,Drivers将先总所有的总线 如 BACnet 或Lonworks整合为一个体系为一个商业系统类似于关系型数据库和网络服务一样。

         Human Interface ; Niagara 提供了广泛的用户界面协议栈。“gx”提供了地城的图像API,在GX基础上建成的bajaui模块提供了专业的工具及标准widget。在bajaui基础上建立的Workbench构架提供了插件的标准API,PX构架和工具来通过XML实现图形化界面

二、Niagara Workbench启动 platforms运行出现问题解决方法

        关闭 workbench后重新打开出现platforms运行端口出现问题。链接不上,这个时候station也是打不开的。

     出现问题的原因是  Daemon丢失,所以重新安装一些大daemon

     

现在 关闭之前的个station 从新打开一个 station

另一个问题就是 station离线的拷贝问题,只需要将 programdata中的station拷贝到userhome下 再然后在workbench下复制到本地运行。

 

           

转载于:https://www.cnblogs.com/xinxianquan/p/9351852.html

相关文章:

  • Python: Enum枚举的实现
  • IntelliJ Idea学习之常用快捷键
  • Facebook AccountKit 接入的坑点
  • oracle数据查询的基本方法
  • 以Java工程师为例,技术面试应该怎么准备?
  • 安装Android Studio遇到中文乱码的解决方法
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • Nginx爆出漏洞 百万网站面临风险
  • 免费https证书
  • Linux 下压缩与解压.zip和.rar及.7z文件
  • JDK里的设计模式
  • Oracle查询访问同一表的两个以上索引(二)
  • Android CMake轻松实现基于OpenSSL的HmacSHA1签名
  • linux下c++使用第三方lib编译lib
  • 谈谈神秘的ES6——(三)ES6的函数
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • “大数据应用场景”之隔壁老王(连载四)
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 03Go 类型总结
  • 30秒的PHP代码片段(1)数组 - Array
  • CSS盒模型深入
  • CSS魔法堂:Absolute Positioning就这个样
  • FastReport在线报表设计器工作原理
  • iOS 系统授权开发
  • JavaScript 基础知识 - 入门篇(一)
  • Mysql数据库的条件查询语句
  • npx命令介绍
  • Python 基础起步 (十) 什么叫函数?
  • 彻底搞懂浏览器Event-loop
  • 缓存与缓冲
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 你真的知道 == 和 equals 的区别吗?
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 06-01 点餐小程序前台界面搭建
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​第20课 在Android Native开发中加入新的C++类
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C#)一个最简单的链表类
  • (java)关于Thread的挂起和恢复
  • (libusb) usb口自动刷新
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (七)Knockout 创建自定义绑定
  • (四)c52学习之旅-流水LED灯
  • (循环依赖问题)学习spring的第九天
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)ORM
  • (转)创业的注意事项
  • (转载)hibernate缓存