IOTOS物联中台Bacnet驱动开发实例
本文章为原创,转载请注明出处!
账号:iotos_test 密码:iotos123
代码地址:
目录
-
前言
BACnet是用于智能建筑的通信协议,是国标标准化组织(ISO)、美国国家标准协会(ANSI)及美国采暖、制冷与空调工程师学会(ASHRAE)定义的通信协议。BACnet针对智能建筑及控制系统的应用所设计的通信,可用在暖通空调系统(HVAC,包括暖气、通风、空气调节),也可以用在照明控制、门禁系统、火警侦测系统及其相关的设备。优点在于能降低维护系统所需成本并且安装比一般工业通信协议更为简易,而且提供有五种业界常用的标准协议,此可防止设备供应商及系统业者的垄断,也因此未来系统扩展性与兼容性大为增加。
-
驱动目的
将BACnet协议设备的数据拿到并上传至云上
-
适用范围
BACnet协议设备
-
使用示例
- 进入
- 创建网关
- 填好网关名称后点击确认
- 创建设备示例点击【系统设备】 -> 【通信网关】 -> 【设备实例】->【创建设备】
- 填写【设备名称】、选择刚刚创建的【模板驱动】和【通信网关】。
- 创建数据点,点击【系统设备】 -> 【通信网关】 -> 【设备实例】 -> 【数据点】,并在【设备实例】下拉列表选择刚刚创建的设备实例
- 点击右边的创建数据点,填写名称
- 并在高级配置中配置数据点的相关标志,objectName类型的数据在私有属性“objectName”中填入其名称,并在“num”属性中加入序号;可以用于修改的数据点则在私有属性“private”中填入“write”,并用"num"表示需要修改的objectName类型数据点的序号,例如:
- 在【系统设备】 -> 【通信网关】中找到刚才创建的网关,点击【高级】
- 开启云网关,密码为账号密码
- 点击 【系统设备】 -> 【通信网关】 -> 【设备实例】->【数据点】,选择刚才创建的设备实例
- 即可查看数据已经上报成功
- 点击可以用于下发的数据点旁边的下发按钮,设置需要下发的值,点击下发,即可看到设备的数据已经改变
-
驱动代码
-
驱动解析
- 运行环境为python3,需要先安装BAC0包用于bacnet的通讯,首先先导入驱动所需的包
- 首先,先进行驱动的初始化,在初始化中建立bacnet连接并且在路由里面搜索bacnet设备的ip和设备的id,用于后续拿到设备的数据
- 进行数据的采集,首先先利用数据点里面的参数过滤非采集点和采集点,获取用于数据下发的点和数据上传的点,并通过bacnet协议获取设备的值进行上报
- 数据下发。利用私有属性‘private’判断需要修改的数据点的属性,对数据点进行下发时就会直接对设备的数据进行修改
















浙公网安备 33010602011771号