Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Assistance needed w/ Serial Connections
#1
Hi! I posted a question on QBCafe and Dr_Davenstein directed me here (and specifically, to a user named Plasma, but any help is appreciated!). Here's what I've got going on:

Equipment:
Five 486 notebooks running MSDOS6.
3 serial splitters, and 4 serial cables.

Mission: One notebook will have the master program. Four will have slave programs. Whenever a slave needs to execute something, it has to request permission from the master, and the master sends back all the data the slave would need.

Preferred: The master needs to be able to handle the 4 slaves simultaneously.

Conundrum: Is it possible to set up a "network" like this? Can I use a split serial connection to connect 4 slaves to one master? Can QB4.5 handle 4 different data streams over one serial port?

Experience: With COM and serial communications, none at all.

Well, let me know if you think this is possible, and thank you all for any help!
Doug
Reply
#2
No. There are two reasons why this won't work. The first reason is that you have to use "null-modem" serial cables for PC-PC connections. This is easy to fix; just buy null-modem serial cables, or get some null-modem adapters.

The second reason is that you can't split a serial cable and have multiple devices connected and operating at the same time. Unfortunately, there is no easy fix for this. You might be able to get away with splitting the connection if you were using parallel ("laplink") cables, but it would require a bit of work, and you'd have to write custom software to control it.

If your notebooks have two serial ports, you could make a token-ring network. (Each notebook is connected to two other notebooks to form a "circle" network.)

I'm guessing your notebooks don't have ethernet adapters?
Reply
#3
Hi Plasma, thanks for the reply!

Okay, I can easily get nullmodem cables.
http://www.sfcable.com/Merchant2/merchan...ry_Code=30

Will a standard RS-232 signal splitter cable function with nullmodem cables?
http://www.sfcable.com/Merchant2/merchan...ode=serial

As for number 2, the biggie. The laptops do not have dual serial ports nor ethernet (they are Compaq Contura 410c's, 486dx2/50's).

How about a workaround such as this? Each slave notebook transmits an identifier, the first byte of the request is an integer (from 1 to 4) identifying itself. The Master gets the request, and sends out the data with the same identifier. IE Slave 1 sends "1NeedsDatabase" or somesuch, Master sends back "1HerestheDatabase" so slaves 2-4 ignore it.

Maybe I'm not explaining this right, because what I typed sounds odd Smile Basically, it's a fake two-way connection. The Master sends out one chunk of data over it's nullmodel cable, which gets split, and all the slaves receive the same data, but some slaves ignore it because the data's identifier does not correspond with the slave's own.

Is a workaround like this even possible? In the slightest? I've got a pile of laptops and rs-232 signal splitters, and I'm poised to order the null-modem cables. I *need* to get these laptops to communicate somehow!

Again, thanks for all the help!!
Doug
Reply
#4
Quote:How about a workaround such as this? Each slave notebook transmits an identifier, the first byte of the request is an integer (from 1 to 4) identifying itself. The Master gets the request, and sends out the data with the same identifier. IE Slave 1 sends "1NeedsDatabase" or somesuch, Master sends back "1HerestheDatabase" so slaves 2-4 ignore it.
What you are looking for is a Client-Server architecture. What you just described is basically how a lan works. Actually what used to happen when we didnt have switched networks. BTW you didnt answer his question. Does you notebook have ethernet cards? or can you somehow get them for these notebooks?
Reply
#5
Quote:
judgedoug Wrote:How about a workaround such as this? Each slave notebook transmits an identifier, the first byte of the request is an integer (from 1 to 4) identifying itself. The Master gets the request, and sends out the data with the same identifier. IE Slave 1 sends "1NeedsDatabase" or somesuch, Master sends back "1HerestheDatabase" so slaves 2-4 ignore it.
What you are looking for is a Client-Server architecture. What you just described is basically how a lan works. Actually what used to happen when we didnt have switched networks. BTW you didnt answer his question. Does you notebook have ethernet cards? or can you somehow get them for these notebooks?

Hi! No, no ethernet cards, and I'm trying to do this as cheaply as possible (hence, 486 notebooks Smile )

Basically,
Code:
MASTER
      |        <- db9 null modem cable
      |          
    /   \      <- rs-232 signal splitter (y)
   /     \        
  / \   / \    <- 2x rs-232 signal splitter (y)
  | |   | |      
  | |   | |    <- 4x db9 null modem cable
S1 S2 S3 S4

Data travels downstream from Master to All Slaves. Individual Slave data travels upstream and only to Master.

Basically, "tricking" QuickBasic into thinking there's only one null modem direct connection between just 2 PC's.

If you guys think there's a chance it will work, I'll order null modem cables right away.
Doug
Reply
#6
As I said before, you can't split a serial cable and have multiple devices connected and operating at the same time(aka "multidropping"). This is a limitation of RS232. You need RS422 or RS485. Unfortunately, RS422 and RS485 adapters are rather expensive (at least $50 each).

If you laptops have a serial and a parallel port, your cheapest option would be to make a token-ring network using alternating serial/parallel connections. (Using null-modem serial cables --- and laplink parallel cables ===)

Code:
Master
     /
    /
Slave1       Slave4
\\             //
  \\           //
Slave2-----Slave3

Unfortunately, since you have an odd number of computers, you can't have a complete ring...once the token gets to Slave4, it will have to be sent backwards to the Master. So your network will be twice as slow.

It's quite a hack, but it should work. What exactly are you using this for?
Reply
#7
Hi Plasma,

The purpose of the Master / 4 Slave set up is for a Mechwarrior pen & paper RPG (set in the Battletech universe of 3028) that I am planning to run. Each player has their own "Noteputer" with simple programs for messaging and for accessing the Comstar Databases. So if the player wants to look up information on a planet in the Federated Suns, they'll "access" the Comstar uplink (request permission from the Master, and the Master sends the data to the slave that requested it). The Master, for myself as the GM, handles all the requests (and can deny them, for instance, if the "wireless access" to the Comstar Database is inhibited by an ECM in-game or somesuch). I don't mind it being really slow, as that's the way the background is for Battletech at that point in time -- no one can reproduce the advanced technology and it's decaying. Very dirty high tech. That's why I went for 486's and serial cables in the first place. It would actually be preferable if text transferred as slow as a 1200 baud modem Smile

I do have a total of 6 laptops at my disposal. The 6th, however, has a bad screen and no HDD, but it can boot to floppy and run a simple data-transfer program to complete a token-ring network.

How difficult do you think it would be to set up such a network?

As I said, I have _no_ experience in any sort of extra-computer communications programming. That's the hard part. Designing and programming the interface for the slaves and the Master is no problem.
Doug
Reply
#8
Having a complete token-ring will make things a little easier. The serial connections should be easy, since QB has built-in support for them. The parallel connections will require a bit more work, because you'll have to do everything yourself.

I'd be glad to help with the serial/parallel programming, but I only have access to one computer at the moment. If you're willing to wait about five weeks, I can help you when I return home.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)