Protocol and board recommendation for prop to prop project
erantze
Posts: 3
I have a cool but not too complicated project that requires different conference rooms to communicate to a central controller that also feeds a status panel. The general idea is this: there are 6 assigned people that can go into one of 6 different rooms. When a user goes into a room, he will press a dedicated button that will illuminate and notify the controller. The controller will read that the person is in the room and will illuminate the correct item in the status panel. When the user leaves the room, he will press the button again, the light will go out and the controller will turn off the corresponding light in the status panel.
Because of some additional IO requirements in the rooms, it makes sense to use a propeller board in each room. As such, I need a way to communicate from the prop controller to the prop in each of the rooms, and the room can be up to 50 feet away. Things need to be wired, so wireless is not an option.
My original idea was to use a developer board and go I2C using I2C drivers on each end, primarily because OBEX has drivers for I2C and it can interface with several devices with just a few IO pins. However, the PropStick has a much better form factor for this use and USB is already on board - can it be utilized in some way? I didn't see something obvious in the OBEX for this kind of use, so figured I would post it here and look for suggestions and recommendations. I would prefer to use existing boards rather than create my own, so was looking at the dev board, propstick, or even a quickstart.
So recommendations for protocols? Boards?
Thanks in advance.
-Red
Because of some additional IO requirements in the rooms, it makes sense to use a propeller board in each room. As such, I need a way to communicate from the prop controller to the prop in each of the rooms, and the room can be up to 50 feet away. Things need to be wired, so wireless is not an option.
My original idea was to use a developer board and go I2C using I2C drivers on each end, primarily because OBEX has drivers for I2C and it can interface with several devices with just a few IO pins. However, the PropStick has a much better form factor for this use and USB is already on board - can it be utilized in some way? I didn't see something obvious in the OBEX for this kind of use, so figured I would post it here and look for suggestions and recommendations. I would prefer to use existing boards rather than create my own, so was looking at the dev board, propstick, or even a quickstart.
So recommendations for protocols? Boards?
Thanks in advance.
-Red
Comments
Trying to drive a logic signal from room to room, even with open collector is going to be chancy at best.
RS-232 is good so is RS-485. One of JonnyMac's Spin Zone articles (there's a link in my index) covers using RS-485. I believe RS-485 as better noise tollerance, since it's a balanced signal, than RS-232 which is unbalanced.
Edit: I hadn't seen Mike's answer. I don't know enough to know which would be easier to use in your case, RS-232 or RS-485.
RS232 is good for 50 ft and two boards. I like Phil Pilgrim's original Propstick that has a 9 pin connector right on the end. Connecting two would be as single as a null modem serial cable (or Laplink cable) between the two propsticks.
But as soon as you mentioned 6 rooms I reckon RS485 is the way to go, widely used in industrial environments. It gives you the option to have simple local I/O in each room.
You could check whether JonnyMac (Jon Williams) has something suitable off the shelf for RS485 or CAN or LIN.
I have a simple RS485/Prop board designed to drive small 2x20 or 4x20 LCD, it has about 12GPIO which can be used with up to 4 onboard BCD switches for setting operating modes or addresses, with the leftover GPIO being spare.
You didn't mention why they can't be wireless (not that you need to). I would think this would be a lot easier to implement with wireless devices. Nordic nRF24L01+ modules sell for less than $2.50. You can plug then directly into a QuickStart board without any other hardware of connections (you power the module with a pair of IO pins). I've used these modules in my home and I can't find a place far enough away from each other that they can't communicate. You could even use some sort of message hopping protocol to extend the range of the devices by passing transmissions from one module to the next.
If you can use wireless, you might want to check out my panic button project (see second post of my index). If you're sticking with a wired solution, you might want to look at my serial port merger project (found in the same list in my index) to see how to use multiple serial lines with one Prop.
It is not as much that they cannot be wireless but because of the other requirements we need to run a wire for the DC power and, as such, running a few extra lines for communication makes sense. In fact,I can fit it all in standard CAT-5. Additionally, some of the walls are filled cement block and so who knows how well the reception would be.
That said, I am going to pick up a few of those Nordic units just to play with. Thanks.
"For long-distance communications between boxes or even between buildings"
http://www.mouser.com/Search/Refine.aspx?N=1323043&Keyword=P82B96&Ns=Pricing%7c0&FS=True