各组件开发完毕,依托PythonPi平台对python的支持能力,所以首先就提供了python封装的API,图形界面的UI暂时等一下。
由于我们采取了全网广播,很自然的,我们的分布式智能控制系统天然的具有非中心、控制点全网移动的能力,也就是说,针对一个控制功能,我们可以单独编写一个python脚本/程序,然后这个python程序可以在所有组网的智能体上随意移动,谁都可以运行这段python代码,而谁运行了这段代码,谁就负责该功能的控制逻辑执行,从全网收集输入事件、然后向需要的执行点下达动作执行命令。
在所有的组件中,由于输入输出是和控制逻辑相分离,所以输入输出端口需要配置,即当创建一个输入或输出时,需要向相应的源点下达配置命令,由该源智能体根据配置命令启动相应端口的输入信号捕获或输出端口设置。同时,由于输入还要实现使能功能,所以还要为输入增加使能配置能力,即为异地输入源增加使能信号过滤时,也需将该使能信号的过滤以配置命令的方式下达给输入源智能体。
目前,控制点全网随意移动的能力还不够完善,主要体现在:
我们的控制逻辑是采用的是高组织度的状态机来实现的,状态机带状态移动还不太成熟,如果不带状态则会导致不一致性
各组件的组装、拆卸的经验也不多,还需要大量实践的积累
就控制系统来说,全网移动能力并不是必要,甚至是多余的。但全网移动能力所具有的灵活组装、可靠拆卸能力却是未来全动态、随动性的智能控制系统所必须的。当一个局部的动态控制需求出现时,
就近生成控制逻辑,最好是由输入源最多的智能体负责控制逻辑的执行
将该需求所涉及到的相关智能体划入一个临时组
如果底层网络是SDN(软件定义网络),则为该组配置一个单独的临时网络
需求消失后,将该控制逻辑、组、SDN临时网络全部撤销
只有具备了上述能力,智能控制才有了智能的可能。