BACnet (ang. Building Automation and Control Networks) – otwarty (publiczny) protokół komunikacyjny, umożliwiający współdziałanie systemów sterowania i monitorowania pochodzącym od różnych producentów. Posiada aprobatę ISO 16484-5. Został zatwierdzony przez ASHRAE w 2004.
Lista producentów urządzeń komunikujących się z użyciem protokołu BACnet dostępna jest na oficjalnej stronie organizacji standaryzującej.
Protokół BACnet jest niezależny od sprzętu i pozwala na połączenie dowolnych urządzeń od niezależnych producentów w jedną wspólną sieć. W specyfikacji protokołu zdefiniowane są warstwy komunikacji (podobnie do OSI) oraz obiekty reprezentujące świat rzeczywisty.
Warstwa łącza danych: Aktualnie BACnet opisuje następujące media transmisyjne:
Wybór medium transmisyjnego jest uzależniony od pożądanej prędkości komunikacji oraz dostępnych złącz fizycznych w urządzeniach.
Wykorzystując BACnet można komunikować się w każdym z powyższych sposobów transmisyjnych jednocześnie. Przesyłane ramki zależnie od wybranego standardu komunikacyjnego posiadają różne długości buforów dla warstwy aplikacyjnej (np. Ethernet, BACnet IP 1476, albo 480 dla MS/TP). Różna długość ramek jednak nie powoduje problemów w komunikacji, gdyż każde urządzenie może dowiedzieć się jaki bufor akceptuje inne urządzenie, z którym chce się komunikować.