Appearance
核心概念
数据源
数据源作为XDE的核心概念,大大简化了物联网设备模态控制的复杂度,仅需简单的读写操作就能控制绝大部分硬件设备,可以将数据源简单的理解为电路中的高低电平,但数据源不仅仅支持bool(还支持字符串,数组,整型,浮点等),所以对有编程知识的人来说,将之理解为变量更贴切。
一般情况下,所有的控制功能都基于数据源的读写完成,例如一个灯泡可视作一个名为light
的布尔型
变量,在XDE中这个变量称作数据源
,对此数据源进行赋值操作就可实现控制灯泡的开启和关闭,反之将数据源绑定到界面就能通过灯光是否开启自动显示相应的按钮状态(如不同颜色的按钮)。
light
作为名称只是数据源路径的一部分,完整的路径应当由两个部分组成如:Var:light
,冒号前面的Var
代表驱动类型为变量
,冒号后面的light
代表数据路径。
什么是一般情况?
XDE配套的EdgeX网关已完成了各种常见设备的驱动工作,若没有相应的驱动,则需要在XDE中手动编写驱动。
数据源驱动
驱动是连接不同设备的桥梁,用于将各种硬件或软件功能抽象为可通过数据路径简单读写的能力。
目前支持以下几种驱动
BlueNode
连接EdgeX网关,将硬件功能统一抽象成模块和特征,功能强大且易用。
JoinNumber
连接JoinNumber主机,适用于传统中控。
Var
读写自定义变量的驱动。
ViewNavigation
控制多页面导航视图切换的能力。
Widget
提供访问UI组件属性的能力。
UI 绑定
布局中包含了UI元素、数据源的映射,代码等,通过下发此文件以更新平板的内容。
状态
按钮具有三种状态,默认
开
关
,状态由条件决定,若所有的状态都不满足则视为默认
态。
交互
交互有按下
点击
弹起
三种,三种交互均指手指的动作,手指按下立即抬起将触发点击
,按下超过200ms
将触发按下
并在抬起手指时触发弹起
动作。
条件
可对数据源进行逻辑运算,支持常见的运算符==
!=
>=
<=
&&
||
。
逻辑运算符的优先级
不同于编程语言优先运算&&
的原则,XDE状态条件
的优先及是从左往右依次运算,如下面的例子在TypeScript
和XDE状态条件
中将得到不同的运算结果。
TypeScript
let a = true;
let b = false;
let c = false;
// TypeScript运算
var result1 = a || b && c;
console.log(result1); // 输出 true
// XDE从左往右依次运算
var result2 = a || b && c; // 等价与TypeScript中 (a || b) && c 的写法
console.log(result2); // 输出 false