Using Arduino with BACnet boards over RS-485

I am needing to use an Arduino board that has RS-485 compatibility that can communicate with a non Arduino device that uses BACnet. I am planning on having the communicate over RS-485 to send and receive data. I know how to connect two Arduino boards over Serial to communicate with each other, but not two different devices. Would the way to send point data be more or less the same, where the master device sends a value over and the slave device uses that as the event trigger to pass a value point back, or will this have to be set up differently. The BACnet device will be acting as the master device for this.

I mostly only need to get the value of a multistate variable from the BACnet device for these tests. Any help or ideas would be appreciated.

What does the BACnet protocol manual say? It should describe the message formats and how slave devices react to those messages including message validation (i.e checksums etc). It should include details of baud rate, parity, stop bits etc. It will probably also include details such as the time limit in which the slave device has to respond to a message.

I am not sure what manual you are referring to. I am going to be using 76800 Baud rate.
The main thing I am trying to figure out is the only communication I am familiar with Arduinos is the i2c bus, but they all use the same language within the Arduino ide. The device I am going to be connecting to is a Delta controller using Control Basic. I know the format to communicate BACnet controllers to each other, but not when the devices use completely different languages.

According to BACnet website, you can order a copy of the BACnet Standards from them. That should describe the protocol if you don't already know about it.

The programming language that is used to write the software does not have to be the same for every device on a network. As long as all devices adhere to the network specifications, you can write one in C, another in C++, another in Java, another in Python etc.

Ah that manual. I thought you may have been talking about something else. I have read the manual, and know how to set up the device side of things. What I am wanting to know, is how to pass variable data back and forth. So the Delta controller has a Multistate variable that simulates an RTU mode: Off, Cooling, Heating etc. I want to pull what value that variable is to send to the Arduino to control a variety of devices that I have set up to simulate a FPB with 2 stages of heat. The part that I am trying to figure out is how to get the point to the arduino, I don't know how I would tell the Delta controller to send that point data over. With normal BACnet devices it's as simple as referencing the point in a program that is apart of the chain, however I don't have a way to set up points like on Arduino as far as I know, since everything is handled directly in the program. Unless I am missing something entirely.

I've never used BACnet so I can't offer any more guidance. However, there seems to be some discussions on here about it:

That may be what I need, thank you very much for this!

Actually, maybe not. The first one theorizes how to connect them, but that is form 2010, there are devices that can directly communicate on RS-485 which is the MS/TP Standard, and the other uses Modbus, which is what I am trying to avoid using at the moment.
I guess the best question for now would be: Is there a way to set up data points as objects, similarly to how it is done in standard BACnet devices, in an Arduino based controller without it be taxing on memory?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.