大家晚上好,我是骏凯联信的四个石头,猜想大家应该都回归到原位了吧。经过一个春节吃吃喝喝,今天突然发现自己肉长了不少。
应群里同学要求今天给大家分享一个基于niagara使用IntelliJ IDEA开发工具开发的基本控件详细操作步骤。
之前的文章对于代码的编写都已经讲解得很清楚了,现在着重给大家讲讲配置步骤。
好吧进入正题,启动niagara服务打开你的niagara workbench界面。
点击tool菜单下面的new module新建一个niagara的控件。
进入到新建module 参数编辑窗口,并按照如下配置。
1.第一个是你的控件源文件放置的位置,你可以自己定义。
2.下面依次将Module Name、Preferred Symbol等填写完成。
Tips:这里一定要将Create Palette勾选上,用于在niagara的workbench显示,很重要。
完成后点击next下一步,进入到如下界面。
这一步主要用于添加依赖的rt包,当然如果你不知道要添加哪些rt包可以在后面依赖文件里添加。
完成后点击next下一步,最后可以在niagara workbench中双击源文件查看。
好了原文件我们已经基本建立完成,现在来用intellij idea工具打开这个项目,点击file 菜单下的open找到你的刚才建立的项目然后打开。
等gradle加载完成后选择TestTrain01-rt.grale 然后点击ok,完成后可以展开看到左边的项目栏。
现在在intellij中的TestTrain01-rt项目中新建一个BHelloWater 的.class文件,具体内容就不赘述,主要介绍配置参数。
最重要的是要继承BComponent父类,这个是niagara框架的基础类。
继承之后为你的控件添加@NiagaraType、@NiagaraProperty、@NiagaraAction,这三个都是niagara封装后供开发者使用的配置参数。
这些配置规则如果不会你可以参考niagara的help里面去查找,这里面有很多配置方式,都可以参照使用。
现在点击右边的gradle找到相应的项目源文件,点击下面的slotmatic自动完成set,get方法。
可以看到baja已经为你自动加载了set、get、type等方法。
按照上面的方法就可以在下面设计你想要的功能了。
现在以一个当执行完一个true或false后等几秒自动变为null这个功能为例。
@NiagaraType、@NiagaraProperty、@NiagaraAction的部分功能如下:
设计的部分方法代码如下:
主体的方法设计完成后,接下来详细给讲讲如何配置必要的文件,
主要为.gradle/.palette/include.xml 文件,现在一个个来看如何设置。
1).Gradle文件
Tips: 建议把dependencies下的各依赖包的版本号都去掉,这样可以使你开发的控件可以兼容低版本,这一点非常重要。你也可以在这里添加任何你需要的依赖包。
2).palette文件
双击进入.palette文件。
Tips:这几个参数设置非常重要,直接关系到你的控件是否能在niagara中显示。
1---你的控件名字,一定要和你的Class name 去掉B后保存一致。
2---module name 这个一定要和你的.gradle文件中的module name一致,不然的控件编译一定出错,
Td也和你的preferredSymbol一致就可以了。
3---这个和第一个相同就可以了。
2)include.xml文件
这个文件原则上一般不需要做任何修改,当你使用gradle的build 后会自动生成,当然如果没有生成你也可以手动添加就可以了。
现在来点击右侧的Gradle下的build已完成最后的编译。
完成后控制栏会输出如下编译完成信息。
重新双击进入到include.xml文件可以看到已有type路径生成了。
现在进入到niagara的modules文件中去查看,是否有新的jar包生成。
可以看到已经成了jar包,现在进入到niagara中去测试一下。
启动niagara然后打开一个station站点,进入config文件夹,新建一个新的文件。
双击进入wire sheet界面,在palette中打开并找到你的控件。
将HelloWater拖入到Exercises的wire sheet文件夹中。
双击模块进入AX property将Enabled 设置为true.
将Reset Time 设定为5s后变为null空值。
设置完成后返回wire sheet界面,新建一个boolean类型点并链接到InPut Val,新建一个boolean类型点并链接到OutPut Val。
改变In的值检查是否等5s后会变成null。
重复上次操作发现都ok。
今天这次分享非常详细的给出了开发者在开发过程中需要注意的多个关键点,做好这些就能轻松的开始自己的项目了。这些都是小编一点一点摸索出来的,希望对大家有用。
Tips:大家需要这个功能的源码也可以关注微信公众号后添加小编微信私信小编获取。
OK今天的分享就到这里。如果您是经验丰富的开发者,也不防来我们这里坐坐,大家共同交流心得。如果您是通用物联网平台控制软件Niagara的学习者,可以来我们群里获取第一手学习资料,加入我们的微信群,私信小编获取。
后台回复关键词入群即可。