Go Down

Topic: Choosing a protocol for Home Automation over RS485 (Read 6 times) previous topic - next topic


Hi, I'm developing a home automation system for my home with many Arduino Pro Mini boards connected trough a rs485 bus. I need an application protocol running on top of rs485 that has some kind of addressing, an error correction and it's easy to use (I'm not an expert neither in electronics or communications).

By now I play with Modbus RTU protocol and the library for the Arduino (http://sites.google.com/site/jpmzometa/arduino-mbrt).

Is there something better than that? Maybe something that is made especially for the home automation scope, like BACnet, xAP, xPL? I need something that is already ported to Arduino.

Thanks in advance.


For error detection, I'd be inclined to use a credit allocation flow control mechanism.  Basically everything you send has a register/memory location and data to go with it.  The first device (sending the data) sends an 'S' for send, the register/memory location, and then the data.  The other device responds by sending 'A' for acknowledge, the register/memory address, and the data received.  If the received package is different, or if there is no response in a predefined time, resend the package.


You could also look into the "wire" library, as the I2C protocal is for a bus.


Thanks. I think Modbus RTU do right what you say.

However I would like to use something more user-friendly, something ASCII based with possibly automatic addressing (DHCP style). There would be great if there was a xAP or xPL over serial connection, but every implementation I see is for Ethernet. I would like to use a widely used protocol for Home Automation, so I could use a HA software for interfacing with my hardware.

Go Up