Niagara基于javascript的控件开发

摘要:
Niagara控件开发小部件1.参考Tridium_ N4_开发环境设置_ JavaScript开发环境。pdfTridium_ N4_开发环境设置_基本开发环境。pdf Tridium Niagara 4控制开发参考手册pdf上面的第一和第二篇文章是杨超编写的文档,是基本参考材料。你必须阅读它们来建立一个环境。然而,实际发展中存在一些差异,相关信息将在稍后解释。第三部分是尼亚加拉的官方发展文件翻译
niagara控件开发widget

一、参考资料

Tridium_N4_开发环境设置_JavaScript开发环境篇.pdf
Tridium_N4_开发环境设置_基础开发环境篇.pdf
TridiumNiagara4控件开发参考手册.pdf
以上的第一篇和第二篇是杨超大神写的文档,是基本的参考资料,搭建环境必须阅读。但是在实际的开发中有些许不相同,后续会说明相关情况。
第三篇是Niagara官方的开发文档翻译版,可结合英文版以及niagara内置的参考文档(help-->help contents)开发
tridium官方GitHub地址 https://github.com/tridium?tab=repositories ,在官方的GitHub上有相关的案例,可以下载参考

 

enter description here
enter description here

 

二、软件安装与环境配置

1、软件安装

  • jdk安装以及环境变量配置
  • IDE安装
  • Niagara环境变量配置
  • Gradle安装
  • NodeJS安装
  • Grunt安装
  • grunt-init安装
  • grunt-cli安装
  • 下载grunt-init-niagara放到指定目录

基本的开发环境配置在第一篇第二篇参考文档中都有详细的解释,这里就不做仔细的说明。

三、具体实施

1、构建工程

① 建立项目文件夹,运行命令grunt-init grunt-init-niagara,这时会建立工程
npm install安装依赖
gradlew build 构建工程,这一步是和第一篇参考文档不同部分的地方,实际操作中发现,在grunt ci之前需要先运行gradlew build命令,否则会报错
④ 添加module.palette文件module-include.xml文件

palette文件的作用是与niagara的palette库作关联的,并且添加相关的属性。没有这个文件,就没办法在niagara的palette窗口拖拽widget,也没办法自主编辑

 

module.palette
module.palette

 

 

module-include.xml
module-include.xml

 

⑤ 在src文件夹创建如下图所示目录

 

5
5

 

在ux文件夹下创建一个BTest1Widget.java文件

 

5.1
5.1

内容如下图:

 

 

BTest1Widget.java
BTest1Widget.java

⑥ 修改build.gradle文件

 

 

build.gradle
build.gradle

⑦ 文件目录分析

 

 

文件目录分析
文件目录分析

 

2.方法属性

在这里简要的说明一下在编写widget时主要的工作,第一个是需要添加自定义的属性,第二个是绑定动态的数据,更具体的API可以参考官方的开发文档。

① 添加属性方法

 

添加属性方法
添加属性方法

 

② 获取绑定动态数据
当你给一个组件绑定了niagara中的动态数据,那么这个组件绑定数据之后是如何获取这个动态数据并显示在页面的某个组件上呢?需要用到下面的方法

 

获取绑定动态数据
获取绑定动态数据

 

四、widget实例

在这里简单的展示一下我写的widget组件实例:

③ 在niagara中编辑

 

3.1
3.1

 

 

3.2
3.2

 

② 在浏览器端显示

 

数据是动态变化的.gif
数据是动态变化的.gif

 

五、注意事项

  • 修改代码之后需要继续构建工程运行gradlew build命令,重启niagara,进入之后重启station
  • 首次创建一个widget需要重启客户机电脑(非虚拟机),因为我的niagara在虚拟机中,所以会有这个问题。
  • 在控制台重新gradlew比较方便,但是有时出错会不太好调试,这个时候可以用IDE打开项目,比较好调试

免责声明:文章转载自《Niagara基于javascript的控件开发》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MQTT 单片机端讲解slider(滑动条)控件模版,样式用图片定义控件模版下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

搭建自己的React+Typescript环境(二)

前言 搭建自己的React+Typescript环境(一) 上一篇文章介绍了React+Typescript的基础环境搭建,并没有做任何优化配置,以及根据不同的开发环境拆分配置,这篇文章主要就是介绍这些,并且所有配置都是在上篇文章的基础上,如果有什么问题或者不对的地方,希望大佬们能及时指出,最后有项目地址~ 要用到的几个依赖 webpack-merg...

Jenkins 五: 构建Ant项目

1. 点击“新建”,在“Item名称”栏输入要构建的项目名,比如“Ant_project”,选择“构建一个自由风格的软件项目”,点击“OK”按钮。 2. 找到“源码管理”-> “Subversion”. 在 “Repository URL”栏输入源码地址。 3. 找到“ 构建”。点击 “增加构建步骤”,选择”Invoke Ant”。 在“Ant Ve...

iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库

一) 具体方法在 iOS 如何在一个存在多个project的workspace中引入cocoapods管理第三方类库 二)Question && Solution Cocoapods 版本1.0.1 我在按上述链接转换的时候,遇到的问题: 1, [!] `xcodeproj` was renamed to `project`. Please...

(转)使用SVN+CruiseControl+ANT实现持续集成之一

在前面的文章中, 介绍自己当时所在团队的处境(使用.NET开发),一个不到十个人的研发团队在保证正常开发进度同时需要并发支持四、五十个项目问题处理,经常为了程序版 本冲突、日常测试版本、发布版本提供等重复枯燥无味的手工劳动,导致团队成员身心俱疲。经历这样痛苦的一段时间,终于忍受不了,通过命令行实现了包括获 取、编译、发布过程的集成,大大减轻版本编译的时间,此...

超详细动手搭建一个Vuepress站点及开启PWA与自动部署

超详细动手搭建一个Vuepress站点及开启PWA与自动部署 五一之前就想写一篇关于Vuepress的文章,结果朋友结婚就不了了之了。 记得最后一定要看注意事项! Vuepress介绍 官网:https://vuepress.vuejs.org/ 类似hexo一个极简的静态网站生成器,用来写技术文档不能在爽。当然搭建成博客也不成问题。 Vuepres...

使用 VSCode 在 Mac 上配置 C/C++ 调试环境

Background VSCode是微软开发的一款开源代码编辑器,具有可拓展性强,多语言支持,跨平台等优点,在不同的个性化配置下几乎可以用作所有的轻量级开发。我在初学C的时候也使用的是类似于Xcode、Visual Studio等大型IDE来新建一个C语言工程,编写一个仅含有main函数的文件,显得过于大材小用了。后来学校推荐使用的Code::Blocks...