Options for networking
T Chap
Posts: 4,223
Excluding wireless and X10, what are options for networking multiple boards that are all Propeller based? I need to build a working prototype of a minimum of 6 PCBs spread throughout an office building, that all are networked to a single computer. Internet access to each slave is the ultimate goal. The OSX or PC app has to be able to communicate bi-directionally with each slave board, there is some transfer of data, some reading of sensors, very light throughput. At the moment I just see the hub polling the slaves for status updates, and the slave signaling the hub on an alarm. There is some remote control of the remotes, just simple commands to do a few functions.
I could build a dedicated Propeller board just for the hub, all it would do is talk to the individual boards and to the GUI. The Prop hub to the GUI would be as simple as USB to serial. The question is how to best get from the hub to the slaves. Average cable lengths would be <300ft. Any suggestions from you guys would be appreciated.
The boards currently have 2 free pins. The boards use Ft232RL USB to serial UART for programming, although I don't suspect that length of cable for USB is workable.
Post Edited (TChapman) : 3/26/2007 5:24:37 AM GMT
I could build a dedicated Propeller board just for the hub, all it would do is talk to the individual boards and to the GUI. The Prop hub to the GUI would be as simple as USB to serial. The question is how to best get from the hub to the slaves. Average cable lengths would be <300ft. Any suggestions from you guys would be appreciated.
The boards currently have 2 free pins. The boards use Ft232RL USB to serial UART for programming, although I don't suspect that length of cable for USB is workable.
Post Edited (TChapman) : 3/26/2007 5:24:37 AM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
NerdMaster
For
Life
...or this http://microcontrollershop.com/product_info.php?products_id=1448·at $59
Do a search for Serial-to-Ethernet, there are a few options [noparse];)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,
Simon
BTW: I type as I'm thinking, so please don't take any offense at my writing style
www.norfolkhelicopterclub.co.uk
You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
Post Edited (simonl) : 3/26/2007 12:33:43 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
It's Only A Stupid Question If You Have Not Googled It First!!
The Digi part looks interesting, probably get one to test.
** Would a "Digi Connect Me" module, on either end of a cable, allow for serial to serial com with the ethernet simply acting as another form of RS232? This way, I can use USB on the master, and keep using the same serial protocol with minimal changes in the GUI The only difference would be, the GUI would have to talk to two things, serial and internet, in cases where internet access was required.
Post Edited (TChapman) : 3/27/2007 1:50:16 AM GMT
Another serial device server is the Tibbo DS202 www.tibbo.com/ds202.php
You can set up virtual comports on the host pc or set them up to be a virtual serial cable over ethernet (with 2 devices).
They are configurable too in a form of basic so you can make them do whatever you want.
I have used loads of these little babies as virtual com ports and so far they haven't let me down.
Price is good too!!
Regards,
Coley
Post Edited (Coley) : 3/26/2007 10:20:02 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
It's Only A Stupid Question If You Have Not Googled It First!!
Check out these links
http://forums.parallax.com/showthread.php?p=622242
http://forums.parallax.com/showthread.php?p=621862
http://forums.parallax.com/showthread.php?p=627949
Not sure how things are progressing now though. This combined with a serial object (e.g. Extended_FDSerial.spin) from the object exchange could be the start of a nice project for you. And then maybe we could all benefit from it !
or you could go the route of third party ethernet to serial devices ...
www.perle.com/products/serial-ethernet.shtml?source=google&group=WorldServers&campaign=serialethernet&gclid=CJKp14_jk4sCFQ0WEAodeT3NRA
or these from MOXA - they have embedded ethernet controllers with RS-232,RS-485,RS-422 and TTL options
www.moxa.com/product/Serial_to_Ethernet_Products.htm
Rgds,
Quattro
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
'Necessity is the mother of invention'
Post Edited (QuattroRS4) : 3/27/2007 1:42:13 AM GMT
If it makes your job a bit easier I have a unit that is suitable to act as a hub and electrically isolates the PC/USB from any nasties on the cable.
http://forums.parallax.com/showthread.php?p=636139
The only problem I can see is how are you going to program the nodes over the network? You could run RS-422 full-duplex with an enable on the node transmitters but you would still need a method for selecting a node for programming. This could be accomplished with a $1 PIC programmed to monitor the receive line for a unique string and then reset the node for programming etc.
Better still I think is just include firmware update code and serial number into the node when it is first manufactured and programmed individually. You could stuff it up with a bad update but that should be manageable. The new code would be placed into another section of the EEPROM and your bootloader (doesn't change) would check the integrity of the code and allow an override from the network.
Wouldn't the nodes be accessed from the internet via the PC anyway? They shouldn't need any web connectivity themselves, surely?
*Peter*
The idea of a single twisted pair is not doable if it requires true point to point wiring, it would be a logistical headache to wire a building where the pair had a start and an end at two points(no backtracking of wires), unless there was a hub that only looked like a star, where it was a true single twisted pair routed to and from each node.. This means lots of dual runs of wire, which is doable under the length requirements:
RS485 claimed range: 100 kbit/s at 1200 meters --more than enough speed and distance.
The only thing that needs web connectivity is the master terminal. The terminal simply monitors and controls the nodes, and inernet access is for rare cases of remote control and monitoring, via the terminal.
The best option for the nodes is embeded design, a 485 chipset, or, serial to ethernet mini-module i.e Digi Connect Me. The hub is up in the air. I could easily see that being a Propeller that looks at ~14 sets of Txd/Rxd lines off of whatever the method is. On the terminal, P30/31 just talk to the PC/MAC via USB2serial, no need for learning and hassling over http.
RS485 seems best(rather, simplest/cheapest/least curve), if the wire runs can tolerate a physical star, even though not electrically so.
"Programming the nodes" A lot of thought into that already. No solid answer yet. Individually is not a favorable solution!
With 2 EEPROMs on board, think you just download a new program to the 2nd, check it for errors, transfer EEPROM2 to EEPROM 1, check it for errors and reboot.
Post Edited (TChapman) : 3/27/2007 3:03:06 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
It's Only A Stupid Question If You Have Not Googled It First!!
Tracey Allen has a nice discussion and demo with a simple circuit in the Spin Code Examples: forums.parallax.com/forums/default.aspx?f=25&m=113109&p=1
Johnnyairplane cited: www.merl.com/reports/docs/TR2003-35.pdf, which is worth a look and posted some nice spin code examples in the forum "LED Input Devices"
Rich
Here is what I have been looking at:
www.i-fiberoptics.com/leds/IFOled.htm
Post Edited (TChapman) : 3/27/2007 5:00:48 AM GMT
Rich