分布式智能控制-命名

31 篇文章 1 订阅
25 篇文章 0 订阅

由于参与设备多、种类也多,所以端口命名也需要一个整体的规范。由于设备数量多,所以层次性命名方案是显然的,一个控制点的名字应该是如下格式的:

[域名]/智能体名[/[下联设备名/]端口名]

一个智能控制网络中的名字是以“/”开头的,也就是说如果一个名字是以“/”开头,则其一定是和自己属于同一个控制系统,不是以“/”开头,则其属于另外的控制系统,甚至可能是其它组织的。例如,某智能楼宇收到一个”fire.department.gov/xx”发来的信号,就知道是公安消防部门送来了一个信息。

注意:这里不讨论安全性问题,这属于安全防护和管控的领域

这种命名方案的最大好处就是自然兼容了web资源的命名,也就是说:一个控制点也正好就是一个REST的资源访问点!当然,前提是智能体为其提供了REST访问接口。

本系统的控制点目前包括三个层次:

  • 智能体,可以是运行PythonPi接口的树莓派、服务器、手机/PAD等智能前端

  • 下属设备,如某nodeMCU单片机、modbus网关、网络继电器、485/232转换器等等。如果略去,则代表智能体自身的端口

  • 具体的输入输出端口,gpio、i2c、spi等

下属设备和端口的格式是:

[类型信息_]端口信息

如果没有类型信息则有两种可能:

  • 数字代表gpio端口,如/pi2/1代表2号树莓派上的1号gpio口

  • 设备自身的某些特殊访问点,如/pi2/self代表2号树莓派自身

具体的命名格式要根据端口类型来确定,如i2c,则/pi2/i2c_72_1代表了2号树莓派上1号i2c总线(树莓派就一条i2c总线,所以默认就是1,可以省略)上的72号设备的1号寄存器

下属设备类似,如/pi2/nodeMCU_ceshi1/2代表了2树莓派管理下名为ceshi1的nodeMCU上的2号gpio口

如果将下属设备和端口名全部略去,则代表组名,如/group1代表1号组。组是一组资源的集合,目前主要用于如全关、某区域灯全开这样的动作命令。目前要求同组资源的类型相同。

关注我的公众号及时获取推送的最新文章
公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值