当前位置: 首页 > news >正文

python基于BAC0库进行bacnet IP的读写

python基于BAC0库进行bacnet IP的读写

实现内容:基于BAC0库实现对一台虚拟bacnet设备的扫描、点位读取和点位数据写入。

开发环境

python3.9
pip下载BAC0库

功能实现

    # 扫描设备myIPAddr = '192.168.90.81/24'bacnet = BAC0.lite(ip=myIPAddr)devices = bacnet.whois()print(devices)  # 打印出所有bacnet设备的MAC地址/IP地址和端口号# 遍历搜索结果,获取每个设备的IP地址# for device in devices:#     ip_address = device[0].split('/')[0]#     print(ip_address)# 读取数据:地址/数据类型/寄存器地址/要读的数据内容(转换为小驼峰)ip_addr = (devices[0])[0]data_name = bacnet.read(f'{ip_addr} analogInput 25 objectName')data_value = bacnet.read(f'{ip_addr} analogInput 25 presentValue')data_name1 = bacnet.read(f'{ip_addr} binaryInput 2 objectName')data_value1 = bacnet.read(f'{ip_addr} binaryInput 2 presentValue')print(data_name, data_value)print(data_name1, data_value1)# 写入数据bacnet.write(f'{ip_addr} analogInput 25 presentValue 45.0 - 1')bacnet.write(f'{ip_addr} binaryInput 4 presentValue active - 1')

注意:
1)对于数字量的写入,似乎只能通过active和inactive实现,尝试替换为1/0或者True/False都会报错;
2)代码中规定属性的名称按照小驼峰式命名规则(例:present-value属性,在代码中应写为presentValue)
3)lite参数中的IP表示运行代码的本机IP,并非是BACnet设备或BACnet服务器的IP。
此外,BAC0库似乎有很多未知的bug,使用起来一言难尽

http://www.lryc.cn/news/232653.html

相关文章:

  • CSDN每日一题学习训练——Python版(简化路径,不同的二叉搜索树)
  • milvus集合管理
  • 基于SSM的教学管理系统设计与实现
  • 【第2章 Node.js基础】2.7 Node.js 的流(一)可写流
  • 【kerberos】使用 curl 访问受 Kerberos HTTP SPNEGO 保护的 URL
  • 基于SSM的智慧养老平台设计与实现
  • 图像生成colab集合
  • SpringBoot整合Quartz示例
  • 物联网AI MicroPython学习之语法 I2C总线
  • RocketMQ的适用场景有哪些?
  • ubuntu启动转圈,无法进入登录界面
  • MATLAB 机械臂逆运动学进行轨迹控制建模
  • 【计算机组成原理】定点加法、减法运算
  • scp 跨服务器传输命令,把一个服务器上的文件复制传到当前服务器目录下
  • 【python基础】用户输入和while循环详解
  • k8s-部署Redis-cluster(TLS)
  • 计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战
  • ElasticStack日志分析平台-ES 集群、Kibana与Kafka
  • 微机原理_10
  • (SpringBoot)第八章:SpringMVC程序开发
  • openssl + 3DES开发实例(linux)
  • 遵循开源软件安全路线图
  • 294_C++_
  • 【计算机网络笔记】网络地址转换(NAT)
  • 【flink理论】动态表:关系查询处理流的思路:连续查询、状态维护;表转换为流需要编码编码
  • 2023年09月 Python(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Ubuntu16.04上安装Docker
  • FSOD论文阅读 - 基于卷积和注意力机制的小样本目标检测
  • Windows系统中搭建docker (ubuntu,Docker-desktop)
  • 使用记录-MongoDB