niagara Workbench module import IntelliJ
1、 在整个网络布线中使用一种布线方式,但是两端都有RJ-45 plug 的网络连线,无论是采用方式A还是方式B 端接的方式都是试用的。网络都是通用的,双绞线的顺序与RJ-45偶的引脚序号一一对应,10M 以太网的网线接法使用 1,2,3,6编号的芯线传递数据,100M以太网的网线使用4,5,7,8 编号的芯线传递数据,
2、使用IntelliJ 开发Niagara4的模块
首先 下载安装 Niagara 4 和 IntelliJ IDEA(使用 Community edition 即可) 下载N4 Grade tool在 N4的额控制台输入 gradlew 命令,第一次使用gradlew 会相应的下载grade lib 响应的版本会下载到用户账户文件下(userhome /.gradle)同时从Maven库上下载所有依赖的lib ,如果么有网络的时候可以直接从其他电脑上复制响应的版本的库文件。下图是办公室今天么网, 所以没有成功的下载到本地。下载成功如右面的图示。
其次 ,打开Workbench创建一个新的 New Module,会出现 New Module Wizard
,添加上必要的描述信息之后,点击下一步,依次添加下面的模块,或者根据自己项目的需要添加模块 Alarm-rt \ bql-rt \ control-rt 等。一旦完成Module 之后,N4 Workbench 中显如图所示。
在使用控制台定位文件的时候,如果没有成功安装gradlew 会解释出错 ,可用这种方法创建一个新的 new N4 module ,除此之外还可以使用 IntelliJ IDE 来创建Module ,在N4 Workbench中可以使用CTL+L命令打开帮助系统 志气啊ORD中输入: local:|module://docDevelop/doc/build.thml .或者可以在控制台 中输入命令 gradlew task-all
帮助显示项目所有可以使用的命令。
:NiagaraIntelliJ-rt:tasks
------------------------------------------------------------
All tasks runnable from project :NiagaraIntelliJ-rt - Niagara IntelliJ module
------------------------------------------------------------
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
classes - Assembles main classes.
clean - Deletes the build directory.
combineJs - Combine many JavaScript files into one
gzipJs - GZip a given JavaScript file
jar - Assembles a jar archive containing the main classes.
minifyJs - Minify JavaScript using Closure Compiler
niagaraModuleTestClasses - Assembles niagara module test classes.
props2js - Convert Java properties files for use with JavaScript
requireJs - Run the r.js Optimizer to produce Require.js output
testClasses - Assembles test classes.
Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.
jsdoc - Produce HTML documentation with JSDoc 3
Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in project ':NiagaraIntelliJ-rt'.
components - Displays the components produced by project ':NiagaraIntelliJ-rt'. [incubating]
dependencies - Displays all dependencies declared in project ':NiagaraIntelliJ-rt'.
dependencyInsight - Displays the insight into a specific dependency in project ':NiagaraIntelliJ-rt'.
help - Displays a help message.
model - Displays the configuration model of project ':NiagaraIntelliJ-rt'. [incubating]
projects - Displays the sub-projects of project ':NiagaraIntelliJ-rt'.
properties - Displays the properties of project ':NiagaraIntelliJ-rt'.
tasks - Displays the tasks runnable from project ':NiagaraIntelliJ-rt'.
IDE tasks
---------
cleanEclipse - Cleans all Eclipse files.
cleanIdea - Cleans IDEA project files (IML, IPR)
eclipse - Generates all Eclipse files.
idea - Generates IDEA project files (IML, IPR, IWS)
Niagara tasks
-------------
compactProfileOption - Set the compact3 profile option on JavaCompile tasks if needed.
generateModuleTestModuleXml - Generate module.xml for a module test jar
generateModuleXml - Generate module.xml for a module
migrateSlotomatic - Migrate all old slot code in a module to new slot code
moduleTestJar - Build the Niagara test module
slotomatic - Run slotomatic on a module
Publishing tasks
----------------
publish - Publishes all publications produced by this project.
publishToMavenLocal - Publishes all Maven publications produced by this project to the local Maven cache.
Verification tasks
------------------
check - Runs all checks.
jshint - Analyze JavaScript sources with JSHint
test - Runs the unit tests.
Other tasks
-----------
generateBajadoc
javadocJar - Assemble javadoc jar for Niagara module
Rules
-----
Pattern: clean<TaskName>: Cleans the output files of a task.
Pattern: build<ConfigurationName>: Assembles the artifacts of a configuration.
Pattern: upload<ConfigurationName>: Assembles and uploads the artifacts belonging to a configuration.
To see all tasks and more detail, run gradlew tasks --all
To see more detail about a task, run gradlew help --task <task>
BUILD SUCCESSFUL
Total time: 6.078 secs
现在将Workbench中的模块导入到IntelliJ IDE 中进行开发。
首先设置系统变量 —— Niagara_Home 对于导入IntelliJ 很重要。
在 IntelliJ IDE 中直接打开 .gradle文件 ,这回自动创建一个新的项目,包含符合.gradle 文件依赖。 同时使用gradle 的File菜单打开项目 new –[Module from Existing …..]
之后进行模块的开发
编译module的另一种方法是,在IDE中使用 gradlew plug-in 或者是哦用控制台命令
View—Gradle 然后在 gradle侧边栏运行biuld命令: gradlew build (同样 下面显示错误的信息 ,因为没有安装上gradle)
3、在 IntelliJ 开发Niagara4中导入的模块和组件
4、一个Niagara系统中存在四中典型的Programs 这些程序之间的关系及其网络通讯关系可以通过下面的图来说明
对上面出现的一些关键术语解释如下:
Jace (jace Application Control engine “java 程序控制引擎)他用来描述 一种无显示器的嵌入式平台,通常一个jace 都运行在一个Flash文件系统上并提供后背电池组。Jace通常承载一个Daemon和一个Station ,Jace 不承载Workbench,Jace通常运行QNX(一种商用的实时操作系统)或者WindowsXP嵌入版作为他的操作系统 。
Supervisor 使用与运行一个Station的工作站或者服务器,Supervisor特指为其他无历史或者警报集合的Station提供Station机器,Superisor必须行一个Station,但是可能同时运行Workbench或Daemon
Station Niagara 系统的架构是围绕着“以组件(Component)为向导的编程,为核心的设计的,组件的Component是使用Java编写,打包,和部署为模块(modules)的自包含单位,多个组件通过连线构成一个应用(application)并运行与Station上。
一个Niagara 的Station应用,会被存储在名为config.bog 的XML文件中,这个Config.cog文件包含了一个组件以及其属性的树状结构中,并且记录了他们之间如何使用连接(link)来彼此连接,Station的数据库可以使用下面机制中的一种创建。
第一 使用 Workbench的图形编程工具在Station在线是即时编辑,
第二 使用Workbench的图形编程工具离线编辑
第三 预定义变在站点创建的时候安装,
第四 本地程序自动生成, 也就是使用外部编辑器编译程序的模块
Daemon 的守护进程使用本地代码写成没有使用 java , 在操作系统上由守护进程引导并管理的Niagara平台,具体有一下功能: 安装并备份站点的数据。启动和监视数据,配置TCP/IP 。安装并升级操作系统(只针对QNX)安装并升级JavaVM ,安装并升级Niagara 软件。安装本地字典管理并授权码(license),在workbench中访问Daemon,必须使用 Open platform 命令来启动一个平台会话连接远程的客户端的Daemon,或者在workbench的控制台上使用命令 plat.exe 来运行,可以获取更多的命令。
Fox 通讯协议是Niagara自己的协议,
FOX 是一种基于TCP协议的多通道复用点对点的通讯协议,FOX通讯协议的默认端口号是1911 ,他的特性包括:
基于 TCP的Socket 通讯,摘要是验证方式 、请求应答方式通讯, 支持异步时间,基于流(streamin)模式,通过频道切换多路复用技术可以实现多应用的同时运行。使用字符码发送帧信息,方便调试。 统一的信息语法格式。高性能,使用java实现协议栈。
在niagara 中有很多已经被挤在的API可以使用,编写一个API理解关键你、概念: 一是 稳定性,二是 Baja 和Tridium 公开的API会放在java.baja ,执行特殊的代码会放在com.tridium 中
niagara Workbench module import IntelliJ的更多相关文章
- Niagara workbench 介绍文档---翻译
一. 发现在建立station的时候存在一些问题,所以对技术文档部分做一个详细的了解,在这之前对出现的问题总结一下 1. 在 Windows操作系统中Application Direction中可以 ...
- python中from module import * 的一个陷阱
from module import *把module中的成员全部导到了当前的global namespace,访问起来就比较方便了.当然,python style一般不建议这么做,因为可能引起nam ...
- Python: import vs from (module) import function(class) 的理解
Python: Import vs From (module) import function(class) 本文涉及的 Python 基本概念: Module Class import from . ...
- 编译Twitter的Heron时一直报错“heron/bazel_configure.py", line 25, in <module> import semver ImportError: No module named semver”如何处理。
今天编译heron的时候,从官方git到的源码bazel_configure的时候一直报错如下: Traceback (most recent call last): File , in <mo ...
- phoenix客户端连接hbase数据库报错:Traceback (most recent call last): File "bin/sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse
环境描述: 操作系统版本:CentOS release 6.5 (Final) phoenix版本:phoenix-4.10.0 hbase版本:hbase-1.2.6 现象描述: 通过phoenix ...
- 关于Python Package下的Module import方式[转]
2012年有一个目标我没有达成,那就是深入学习和使用Python语言.这个目标被其他学习任务和工作无情的抢占了,当然最主要的原因还是我重视不够^_^. 近期恰逢有一些Python工程的开发工作要做,就 ...
- 安装Phoenix时./sqlline.py执行报错File "./sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse解决办法(图文详解)
不多说,直接上干货! 前期博客 Apache版Phoenix的安装(图文详解) 问题现象 Traceback (most recent call last): File , in <module ...
- Python中from module import *语法
from module import *的语法在Python 3.X和Python 2.X中的使用稍有区别: 在Python 3.X中,from module import *无法在函数里面使用,而在 ...
- import module与from module import * 两种模块导入有何区别
#原创,转载请留言联系 区别1 import module 引用共享变量时,要使用module.变量名. 而from module import * 直接使用变量名即可 区别2(有点绕) import ...
随机推荐
- ES6相关
1.变量声明 let 和const 传统的 var 关键字声明变量,会存在变量提升.在ES6中,我们用 let 和 const 声明,let 声明变量,const 声明常量,let 和 const 都 ...
- vue中使用Base64和md5和rsa
https://blog.csdn.net/benben513624/article/details/88113459(copy) https://www.cnblogs.com/myfate/p/1 ...
- a = a + 1, a++, ++a ,a+=1区别在哪
a = a +1; 即最普通的写法,将a的值加1再赋给a:a+=1; 相当于 a = a+1; a++; 是先将a的值赋给一个变量, 再自增: ++a:是先自增, 再把a的值给一个变量
- Codeforces437 B. The Child and Set
题目类型:位运算 传送门:>Here< 题意:给出\(sum和limit\),求一个集合\(S\),其中的元素互不相同且不超过\(limit\),他们的\(lowbit\)之和等于\(su ...
- mysql如何直接查出从1开始递增的数
比如我的一个sql语句 SELECT nick_name FROM t_user ; 得到的结果是:张三李四王五 而现在我想要的结果是:1 张三2 李四3 王五 应该如何写sql呀? 答案就是用 @r ...
- unix文件系统中的硬链接和软连接
硬链接: 一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名.但是,Unix/Linux系统允许,多个文件名指向同一个inode号码. 这意味着 ...
- python之路day01--变量
一.变量 变量就是将一些运算的中间结果暂存到内存中,以便后续代码块调用. 规范: 1.必须由数字.字母.下划线任意组合,且不能数字开头. 2.不能是python中的关键字.如:‘print’ 'and ...
- Springboot 3.需求携带参数的get请求
还是拿来上节讲的代码: package com.course.server; import org.springframework.web.bind.annotation.*; import java ...
- centos7下tomcat8.5安装部署与优化
转自:https://www.cnblogs.com/busigulang/articles/8529719.html centos 7 Tomcat 8.5 的安装及生产环境的搭建调优 一 安装to ...
- 17、 利用扇贝网:https://www.shanbay.com/, 做个测单词的小工具。
先说下,我可以说完全没有看题目要求,我只看了下扇贝网的单词测试工具就开始编码了,写出来的代码尽可能的模仿了网站上的效果. 因为把问题搞复杂了,在这个练习上耽误了很长时间,最后都不想写了,所以代码有些混 ...