BACnet은 건물 자동화 및 제어 (BAC) 네트워크용 통신 프로토콜로, ASHRAE, ANSI, 및 ISO 16484-5 표준 프로토콜을 활용합니다. 이는 건물 자동화 및 제어 시스템 간의 통신을 용이하게 하며 HVAC 제어, 조명 제어, 출입 제어 및 화재 감지 시스템과 같은 응용 프로그램이 정보를 교환할 수 있도록 합니다. BACnet은 상호 운용성을 보장하며, 특정 서비스의 종류에 관계없이 컴퓨터화된 건물 자동화 장치가 통신할 수 있도록 합니다.
기본 포트: 47808
PORT STATE SERVICE
47808/udp open BACNet -- Building Automation and Control NetworksEnumerate
열거
수동
pip3installBAC0pip3installnetifacesimportBAC0importtimemyIP='<Your IP>/<MASK>'#You need to be on the same subnet as the bacnet device. Example: '192.168.1.4/24'bacnet=BAC0.connect(ip=myIP)bacnet.whois() #Broadcast request of bacnet devicestime.sleep(5) #Wait for devices to respondfor i, (deviceId, companyId, devIp, numDeviceId) in enumerate(bacnet.devices):print(f"-------- Device #{numDeviceId} --------")print(f"Device: {deviceId}")print(f"IP: {devIp}")print(f"Company: {companyId}")readDevice=bacnet.readMultiple(f"{devIp} device {numDeviceId} all")print(f"Model Name: {readDevice[11]}")print(f"Version: {readDevice[2]}")# print(readDevice) #List all available info about the device