Wacnet

Explorateur BACnet gratuit et open source avec API REST

Serveur web et trousse à outils BACnet

Wacnet est un explorateur BACnet/IP gratuit et open source qui s'exécute en un seul fichier JAR sans aucune installation — téléchargez, double-cliquez et parcourez votre réseau BACnet en moins de 30 secondes. Contrairement aux outils BACnet propriétaires qui coûtent des milliers de dollars par poste, Wacnet est entièrement gratuit (GPLv3) et fonctionne sur Windows, macOS et Linux. Il inclut un explorateur de réseau web, une API REST complète avec documentation Swagger pour l'intégration avec Python, Excel ou tout client HTTP, et un REPL Clojure interactif pour les utilisateurs avancés qui doivent scripter des opérations BACnet personnalisées. Wacnet intègre aussi le support natif de Vigilia, permettant l'enregistrement automatique de votre réseau BACnet dans le nuage à intervalles configurables.

Idéal pour : les intégrateurs de systèmes qui ont besoin d'un outil de diagnostic rapide pour les réseaux BACnet multi-fournisseurs, les gestionnaires d'immeubles qui veulent voir ce qui est sur leur réseau sans acheter de logiciel propriétaire, et les développeurs qui ont besoin d'une API REST pour intégrer BACnet dans leurs applications.

Dernière version: 2.1.9

Nous sommes charmés par les possibilités offertes et nous voyons plusieurs applications en lien direct avec notre entreprise.

Mike Groot, ingénieur en contrôle de systèmes chez Shouten Techniek

Merci beaucoup pour cette application, je la trouve très pratique et m'en sert quotidiennement.

Mike Groot, ingénieur support technique chez ALDES Canada

Un collègue et moi l'utilisons de temps en temps pour trouver des appareils pendant l'intégration de systèmes. C'est léger et utile pour les recherches BACnet.

Matt Schwartz, PE - associé senior chez Altura Associates

Fonctionnalités principales

Découverte du réseau

Découvrez automatiquement tous les appareils BACnet sur votre réseau. Parcourez les propriétés, listes d'objets et valeurs dans une interface web claire.

API REST

API CRUD complète avec documentation Swagger. Lisez et écrivez des objets BACnet depuis Python, Excel ou tout client HTTP. Supporte JSON, Transit et EDN.

REPL interactif

Les utilisateurs avancés ont accès à un REPL Clojure avec accès direct à la pile BACnet. Scriptez des opérations, automatisez des commandes par lot ou prototypez des intégrations.

Intégration Vigilia

Enregistreur intégré pour Vigilia — scannez votre réseau BACnet à intervalles réguliers et envoyez les données dans le nuage. Scan parallèle configurable pour les grands réseaux.

Aucune installation

Un seul fichier JAR — fonctionne sur toute machine avec Java. Pas d'installateur, pas de droits admin. Peut même fonctionner depuis une clef USB. Compatible Windows, macOS et Linux.

Mode sans interface

Déployez sur un serveur avec --headless. Configurez via la ligne de commande : ports personnalisés, démarrage automatique de l'enregistrement, pas de navigateur. Parfait pour les installations permanentes.

Configuration requise

Java1.8 ou plus récent
OSWindows, macOS, Linux
Espace disque~100 Mo
RéseauBACnet/IP (port UDP 47808)
Interface webhttp://localhost:47800
REPLnREPL sur le port 47999

Pour qui est Wacnet?

  • Gestionnaires d'immeubles — Voyez ce qui se trouve sur votre réseau BACnet sans acheter de logiciel propriétaire.
  • Intégrateurs de systèmes — Diagnostiquez les réseaux multi-fournisseurs. Lisez des objets, envoyez des commandes, testez des points.
  • Développeurs — Intégrez BACnet dans vos applications via l'API REST ou le REPL Clojure.
  • Agents de mise en service — Vérifiez les configurations d'appareils et les séquences de contrôle lors de la mise en service.
  • Étudiants et enseignants — Apprenez le protocole BACnet de manière pratique sans aucune barrière à l'entrée.

À propos

Wacnet est un serveur web ainsi qu'une trousse à outils pour les réseaux BACnet.

Il peut être démarré immédiatement sans aucune installation, à condition que vous ayez Java (min 1.8) sur votre machine.

Vous pouvez naviguer votre réseau BACnet en utilisant l'explorateur, envoyé des commandes sur le réseau avec le REPL ou l'API web, et enregistrer des historiques avec l'aide de Vigilia.

Wacnet est un logiciel libre, gratuit et ne vient avec absolument aucune garantie, tel que spécifié dans la licence GPLv3. La source Le code source est sur GitHub.

Explorateur BACnet Wacnet montrant les appareils découverts et leurs propriétés

Pourquoi Wacnet?

BACnet promet l'interopérabilité entre appareils de multiples manufacturiers — mais les outils pour utiliser cette interopérabilité ont traditionnellement été coûteux et complexes.

La plupart des outils BACnet commerciaux coûtent de centaines à des milliers de dollars par poste, nécessitent des assistants d'installation, des dongles de licence et une formation spécifique au fournisseur. Les gestionnaires d'immeubles ne savent souvent pas ce qui se trouve sur leur réseau BACnet parce que la seule façon de le parcourir nécessite un logiciel propriétaire.

Wacnet change la donne. Téléchargez un seul fichier, double-cliquez et vous parcourez votre réseau en quelques secondes. C'est le Notepad des outils BACnet — gratuit, simple et toujours disponible quand vous en avez besoin. Pas de clé de licence, pas d'abonnement, pas de verrouillage fournisseur.

WacnetOutils propriétaires typiques
CoûtGratuit (GPLv3)500 $ – 5 000 $+ / poste
InstallationAucune — un seul fichier JARInstallateur + activation de licence
PlateformeWindows, macOS, LinuxWindows seulement (typiquement)
APIAPI REST complète + REPLRarement disponible
Enregistrement réseauIntégré (via Vigilia)Produit séparé / module additionnel
Interface webOui — tout navigateurBureau seulement (typiquement)
ScriptabilitéAPI REST + REPL ClojureLimitée ou aucune
Code sourceOuvert (GitHub)Fermé

Wacnet est une alternative moderne et open source à YABE (Yet Another BACnet Explorer) et aux outils propriétaires comme CAS BACnet Explorer, conçue pour des flux de travail web natifs. Contrairement à YABE, Wacnet fournit une API REST complète pour l'automatisation et l'intégration, et contrairement aux outils commerciaux, il est gratuit et fonctionne sur toutes les plateformes.

Capacités techniques

  • Services BACnet : ReadProperty, ReadPropertyMultiple, WriteProperty (avec niveaux de priorité 1–16), WhoIs/IAm, WhoHas/IHave, SubscribeCOV
  • Réseau : BACnet/IP, support BBMD, Foreign Device Registration (FDR), réseaux BACnet/MSTP routés (via routeur IP)
  • Types d'objets : Tous les objets BACnet standard — Analog Input/Output/Value, Binary Input/Output/Value, Multi-state, Schedule, Calendar, Trend Log, Notification Class, et plus
  • Formats API : JSON, Transit+JSON, Transit+MessagePack, EDN — tous les points d'accès supportent CORS
  • Automatisation : REPL Clojure (nREPL sur le port 47999) pour scripter des opérations par lot, des séquences BACnet personnalisées et du prototypage en temps réel

Exemples de démarrage rapide

Lister tous les appareils BACnet sur votre réseau :

 curl http://localhost:47800/api/v1/bacnet/devices 

Lire un capteur de température (appareil 1234, analog-input 1) :

 curl http://localhost:47800/api/v1/bacnet/devices/1234/objects/analog-input.1 

Python — scanner et afficher tous les appareils :

 import requests devices = requests.get("http://localhost:47800/api/v1/bacnet/devices").json() for d in devices:     print(f"Device {d}: {requests.get(f'http://localhost:47800/api/v1/bacnet/devices/{d}').json()}") 

La documentation complète de l'API est disponible via l'interface Swagger intégrée à http://localhost:47800/api/ une fois Wacnet démarré.

Support multi-plateforme

  • Windows 10/11 — Double-cliquez le JAR ou exécutez depuis l'invite de commandes. Aucun installateur .exe requis — Wacnet fonctionne comme un exécutable portable.
  • macOS — Fonctionne directement avec le runtime Java intégré. Un outil BACnet léger pour les utilisateurs Mac.
  • Linux / Raspberry Pi — Idéal pour les déploiements permanents sans interface. Exécutez Wacnet sur un Raspberry Pi comme passerelle BACnet et enregistreur Vigilia dédié.
  • USB portable — Copiez le JAR sur une clef USB et exécutez-le sur n'importe quelle machine avec Java — aucune installation, aucune trace laissée.

Sécurité et empreinte

  • Aucun droit administrateur ni privilège élevé requis
  • S'exécute entièrement dans la machine virtuelle Java (JVM) — aucune modification système
  • Ne communique pas vers l'extérieur — tout le trafic réseau est du BACnet/IP local (sauf si vous activez l'enregistrement Vigilia)
  • Aucune collecte de données, aucune télémétrie, aucune analytique
  • Open source (GPLv3) — auditez le code vous-même sur GitHub

Utilisation

Obtenir l'application

Si vous connaissez Clojure, téléchargez le code source, puis exécutez lein uberjar.

Vous pouvez aussi télécharger la version compilée au haut de cette page.

Démarrer l'application

Aucune installation de nécessaire! Peut fonctionner directement sur une clef USB!

Le fichier .jar peut être démarré sur n'importe quelle machine avec Java d'installé. Nous recommendons de démarrer l'application avec la ligne de commande suivante:

 java -jar <nom du fichier> 

Par exemple:

 java -jar wacnet-2.1.9-standalone.jar 

Vous pouvez aussi démarrer l'application avec un simple double clic sur le fichier .jar

Lorsque l'application est démarrée, allez sur http://localhost:47800/ et explorer votre réseau!

Options de ligne de commande

 –web-port PORT         Port du serveur web (défaut 47800) –nrepl-port PORT       Port REPL (défaut 47999) –headless              Exécuter sans interface graphique (pour serveurs) –no-browser            Ne pas ouvrir le navigateur au démarrage -p, –project-id ID     ID du projet Vigilia (démarrage auto de l'enregistrement) -k, –logger-key KEY    Clé de l'enregistreur Vigilia -t, –time-interval MIN Intervalle de scan en minutes (min 5) 

Utilisation avancée

REPL

Le REPL est un environnement de programmation interactif qui permet à l'utilisateur aguerri d'utiliser des outils fait sur mesure pour ses besoins. S'il manque une fonctionnalité, il est même possible de l'ajouter directement!

REPL interactif Wacnet pour le scriptage BACnet

Pour une meilleure expérience, il est fortement recommandé de se connecter au REPL par le port 47999 plutôt qu'en utilisant l'interface web.

Une méthode pour y arriver est d'utiliser Emacs et CIDER sur le port 47999.

Assurez-vous de regarder les exemples sur la page REPL pour avoir un aperçu de ce qui est possible. Jetez aussi un coup d'oeil à la documentation de la librairie bacure pour apprendre les commandes liées à BACnet.

API REST

L'API vous donne accès au réseau BACnet sans que vous ayez à apprendre des langages de programmation.

Vous utilisez Excel? Des pages HTML? De simples scripts Python? Ça n'a pas d'importance, l'API peut être utilisée immédiatement dans votre environnement favori.

L'API a aussi une interface Swagger qui décrit chacun des points d'accès, en plus de vous donner l'opportunité de les essayer directement dans votre navigateur.

Points d'accès principaux :

  • GET /api/v1/bacnet/devices — lister tous les appareils BACnet
  • GET /api/v1/bacnet/devices/{id}/objects — lister les objets d'un appareil
  • GET /api/v1/bacnet/devices/{id}/objects/{obj} — lire les propriétés d'un objet
  • PUT /api/v1/bacnet/devices/{id}/objects/{obj} — écrire sur un objet
  • POST /api/v1/bacnet/devices/{id}/objects — créer un nouvel objet

Les réponses sont disponibles en JSON, Transit+JSON, EDN et Transit+MessagePack. Tous les points d'accès supportent CORS pour les intégrations web.

API REST Wacnet avec documentation Swagger

Historique de réseau (Vigilia)

Wacnet est fourni avec un enregistreur intégré pour Vigilia, permettant de scanner le réseau BACnet à intervalles réguliers et d'envoyer les données dans le nuage. Fonctionnalités :

  • Intervalles de scan configurables (à partir de 5 minutes)
  • Scan parallèle des appareils pour les grands réseaux
  • Ciblage sélectif d'objets par appareil
  • Filtrage des ID d'appareils (plages d'inclusion/exclusion)
  • Démarrage automatique de l'enregistrement via la ligne de commande
  • Support proxy pour les réseaux d'entreprise

Voyez ce guide pour commencer à enregistrer votre réseau.

Foire aux questions

Est-ce que Wacnet est vraiment gratuit?
Oui. Wacnet est distribué sous la licence GNU General Public License v3 (GPLv3). Vous pouvez l'utiliser, le modifier et le distribuer librement. Le code source est sur GitHub.

Est-ce que ça fonctionne avec BACnet/MSTP?
Wacnet communique via BACnet/IP. Si vos appareils MSTP sont derrière un routeur BACnet qui fait le pont vers IP, Wacnet peut les atteindre — il supporte les réseaux routés et affiche les informations de routage.

Peut-on l'exécuter sur un serveur en permanence?
Oui. Utilisez --headless --no-browser pour exécuter sans interface graphique. Combinez avec les options Vigilia pour démarrer l'enregistrement automatiquement au démarrage.

Combien d'appareils peut-il gérer?
Il n'y a pas de limite stricte. Wacnet a été utilisé sur des réseaux avec des centaines d'appareils. Pour les très grands réseaux, vous pouvez exécuter plusieurs instances scannant différentes plages d'appareils.

Peut-on écrire des valeurs sur les objets BACnet?
Oui. Via l'API ou le REPL, vous pouvez écrire sur toute propriété BACnet inscriptible avec support des niveaux de priorité.

Avertissements

Wacnet va tenter de dissimuler toutes les erreurs de communication. Pour une analyse plus avancée, il est recommandé d'utiliser Wacnet avec Wireshark: Envoyer les commandes avec Wacnet et regardez les erreurs avec Wireshark.

Licence

GNU General Public License version 3.0 (GPLv3)

BACnet
Compatible OS