Reputation: 37
I would like to have advice or resource about a project under study. The goal is to create a BMS (Building Management System) to manage some devices in a BACnet network.
Is it possible to create a web application (using javascript) which performs some ajax calls to BACnet devices through internet by sending xml requests ?
I can't find anything concrete on google. Have you ever heard about something like that ? Reading the device specifications it looks possible but what about security ? Can it be as simple as sending a POST HTTP request on a public IP address with a xml message inside ?
Thanks for your time !
Upvotes: 0
Views: 1815
Reputation: 488
You can write a back-end (Web-API) web-service, to proxy your JScript (BACnet) calls, as BACnet 'service'-calls to the relevant BMS devices; in other words, it will act as your BACnet client/'A-side', with the JScript delegating all BMS calls to it, to execute (on behalf of the JScript/front-end tier).
(E.g. The underlying C#/.NET based API of 'YABE' has been forked/separated out as it's own project, and I'd also come across a NuGet package providing another C# API, as well as there been (/still being?) the C# based husk that is 'BACnetSharp', and Java & NodeJS based offerings too.)
Upvotes: 0
Reputation: 11
Some folks use the command line applications available for Windows and Linux at the BACnet Stack project at http://sourceforge.net/projects/bacnet/?source=directory
Upvotes: 0
Reputation: 916
It's fairly easy to create a webservice that acts as a bridge between your html requests and the BACnet network. There's a BACnet C# project, to help with the BACnet size, here: Yabe
This is a rather normal way to do ... just about anything.
However, I also believe that I've seen drafts on 'genuine BACnet internet/html enabled services'. You can take a swing at the bacnet-l mailing list. It depends on how standardized you want it. (I haven't seen it implemented anywhere though.)
But the custom hack-n-slash webservice, is by far the fastest solution, I'd say.
Upvotes: 0