Re: [Bacnet-developers] Multi device support using the gateway demo
Brought to you by:
skarg
|
From: Steve K. <st...@ka...> - 2018-08-13 18:03:47
|
Hi Derek, To add to what Edward stated: the gateway example in the open source stack was contributed long before BACnet had standardized what a virtual network gateway could and could not do and has not been updated to meet the current requirements. See Addenda 135-2012al: http://www.bacnet.org/Addenda/Add-135-2012al.pdf A gateway can also use the "all gateway objects in a single device" model and doesn't have to implement the virtual network. I use this technique in many gateway products and hotel number the objects from devices behind the gateway (i.e. hotel floor 1 room 1 = room 101, so device 1 property 1 = object 101 or some other such number scheme). Best Regards, Steve On Mon, Aug 13, 2018 at 11:37 AM, Edward Hague <ed...@ba...> wrote: > Derek > > You are on the right track. Be aware that the stack can support multiple > datalinks, but as it stands, only one at a time. > The gateway model is sufficient to "pretend" that the multiple virtual > devices are on a virtual network with a Network Number behind a virtual > router sufficiently well to pass e.g. BTL with this approach. > However, to do so, you will need to add an Application Entity to the > virtual router to respond to a "Who-Is" and present a Device Object. > Also you will need to allow the user to configure the Virtual Network's > Network Number. > And you will not be able to support NAT with this approach. To support NAT > you will need to add a fully implemented Virtual Router. But this is a > corner case, but will be needed to support e.g. VPNs that filter broadcasts > (most of them). _This_ is not trivial. > Ed > > > On Sat, Aug 11, 2018 at 6:47 AM, Derek Noffke <de...@pu...> > wrote: > >> I have been looking at the gateway code to see how it can be used to >> support multiple device objects. >> It seems that the incoming requests are passed down to the usual single >> device request handlers such as ai.c for example. >> >> The code in ai.c can then be changed to first query the target device ID >> via a call to Routed_Device_Object_Instance_Number() to select which >> device the ai object_instance belongs to. >> >> >> >> 1) Am I correct so far? >> >> 2) Is there more that needs to be addressed? >> >> >> >> Regards, >> >> >> >> Derek >> >> >> >> >> >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> BACnet-developers mailing list >> BAC...@li... >> https://lists.sourceforge.net/lists/listinfo/bacnet-developers >> >> > > > -- > > > > > *Edward Hague*(650) 924 1395 > *BACnet Interoperability Testing Services, Inc* > 809 B Cuesta Drive, Suite 2180 > Mountain View, CA 94040-3667 > www.bac-test.com > ed...@ba... > > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > BACnet-developers mailing list > BAC...@li... > https://lists.sourceforge.net/lists/listinfo/bacnet-developers > > |