Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Project Idea (Advice Needed)

  • 24-09-2002 12:46pm
    #1
    Moderators, Education Moderators Posts: 1,863 Mod ✭✭✭✭


    Not sure if this should go here, but it has questions with regards technological features of the system.

    The idea I have is a sound system for my dad(handicapped). He is in a wheelchair and I would like to set up a system in the house where he can be in a room that has a touchscreen and select music to be played in that room. Any member of the household will be able to do this, the idea being that multiple audio streams be played to different rooms in the house.

    The touchscreens in the room are not computers but connected to a central computer, this will require repeaters for the cables because there is a limit to the length of monitor and serial cables. There will be upto 4 touchscreens operating from various rooms throughout the house. I have made a list of the hardware I think I need:

    1. A PC with a capable CPU and sufficient RAM to be able to carry out running the JAVA program that I will write and be able to run 4 seperate MP3 streams.

    2. 2 dual head GFX cards.

    3. 4 Sound Line-Out's

    4. 4 serial interfaces (For the touch-screen)

    This is just a basic idea so far and I can see many holes and problems. Anybody have any advice or ideas for the way I should proceed ?

    Theoretical Solution A:

    I could have 4 seperate sessions of my java program running on the 4 seperate touchscreens but this would require 4 seperate control's of 4 mouse cursors, I don't know if this is possible.

    Theoretical Solution B:

    I could have the same program appear on every touch screen and when a user access's the touch screen an "In Use" icon appears to alert other users that someone is using the system and must wait till they complete their selection of music.

    This is one of the many problems I will face :)

    It is a project for college and also a project I would like to implement for my Dad because he loves his music.

    Thanks for any advice,

    Slaan.


Comments

  • Registered Users, Registered Users 2 Posts: 68,317 ✭✭✭✭seamus


    You could try to write the program as a server, whereby each screen touch is processed as a request, and so everyone could use it at the same time, ie the actual program displayed on the screen simply sends requests to the server program, and is not part of it at all. (Like a browser/web server interaction)

    Afaik, it is possible to have more than one mouse cursor at a time, but I wouldn't know where to start looking to find out :)

    Hate to be pointing out more problems :) but what happens if there is a sharing violation, ie if two people want to play the same piece of music at the same time? The only solution I could think of would be to copy a selected song to a temp dir before playing it. Of course this means a slight delay before every playing, and the need for a cleanup routine to delete old files from the temp dir.

    Otherwise, great idea. I'd have no idea how to even begin :D


  • Closed Accounts Posts: 423 ✭✭Dizz


    Emmmm here's a few initial thoughts on my part... Solution A would appear easier to get together as in B you have to deal with alot more synchronisation issues (tho could be interesting if developed using a distributed event system). Tho in thinking now soln.B is kinda a non-runner as if you implement your concurrency strategy at the server end correctly, having one user wait for another to finish won't happen. I presume we're talking a distributed application here, so rather than going with the repeater idea (gfx etc) why not use the idea of a server serving streams, touch screen comms etc out on TCP/IP to terminals. These would be cheap enough to pick up instead of forking out for dual heads, expensive lengths of video/serial cable. Pentium I 150's 64Mb RAM/ Ipaq would do the trick. Hell you could go the wireless route and strap a touchscreen on to your da's wheelchair! The Ipaq's would be ideal for this (pcmcia sleeve and a wifi card). Actually the ipaq idea seems more appealing to me now - all the hardware is in one small package - the important pieces being audio, and a touchscreen, but maybe the screen might be too small for your da. By using TCP makes things more scalable economical blah-dee-blah-blah. Granted it's for a college project, but I presume you have looked at a combo streaming servers like shoutcast (think the source is available for that) and winamp (V3's window scaling would make it ideal for touch screens)?

    Dizz

    BTW: I reckon this is best on Programming


  • Registered Users, Registered Users 2 Posts: 1,393 ✭✭✭Inspector Gadget


    I don't think the idea is feasible, for a few reasons:
    • 2xDualhead Graphics cards + 4xSound cards = Too many interrupts (probably) for one system.
    • You'll probably have to install four different sound cards and two different video cards (!) because the drivers may clash or get confused...
    • If you want to run, say, four copies of Winamp, you'll have to install four seperate copies (so I'm told) and point each one to a different physical output - apparently there are known cases of difficulties with multiple instances of Winamp on one system anyway. Also, your Java program will then have to control each one separately...
    • The serial link for the touch screen will probably have to be adapted from RS-232 to RS-485 (and back again) to cover any serious distances...
    • As PCs can only have one AGP card, you'll have to find a dual-head PCI video card... (perhaps you'll find a Matrox Millenium G550 Dualhead model, but I'd say that's it) anyway, how many monitors does Windows support these days? (I don't think Linux does multi-monitor setups yet, but I'm a little out of touch on that sort of thing)
    • Windows can only have one mouse pointer. Help screens that show another in use are simulated, AFAIK.
    • Four serial interfaces = PCI card with extra serial ports = extra interrupt + extra slot. I count seven cards (2 x video, 4 x audio, 1 x serial) so far...
    • Have you contemplated how much cabling this will generate? :eek:
    • etc. etc. ...

    If I were you, I'd toddle on over to Slim Devices Inc. (http://www.slimdevices.com/) and drop them an order for some of their SliMP3 players. Then, all you need to buy is a cheap hub and some Cat5 cable - much neater, much more effective... you can then use any old junkheap PC as your server and you've got a multi-room system complete with remote controls (each SliMP3 comes with a nice Sony remote) for a little over a grand...actually, you'll need a small amp and speakers for each SliMP3, so it'll be a little more than that, but it should be cheaper than four touchscreens anyway...

    Hope this helps,
    Gadget.
    P.S.> Have a look at http://www.diamondmm.com/audio/rio/rio_audiocenter.asp too...


  • Closed Accounts Posts: 437 ✭✭daveJAM


    I'd say the SliMP3 would be the best. But the remote might be a bit too fiddly. If it is then you could get one of those programmable remotes with the touchscreen. I think philips and sony make them. you can design your own layout on them.


  • Registered Users, Registered Users 2 Posts: 23,212 ✭✭✭✭Tom Dunne


    Don't know if you've considered this option - should be technically feasable, though it may be more expensive.

    In work here, we have numerous Windows Servers. Some of these are Win2k, a few WinNT. Windows 2000 has the ability to allow other (more basic) PC's to log in and get a full desktop on the local PC, even though it is a session on the remote PC. This gets around the need for numerous touch screens. I would assume that a cheap older PC (Pentium, even a 486) would do the job as Terminal Server can work fine over standard dial-up.

    So, here's what I'm thinking - four basic PC's, one Windows 2000 server (or even Windows NT Terminal Server edition). The server could transmit the audio streams over IP (as IrishDizz mentioned). The crappy PC's could have their own sound cards - you can pick up cheap sound cards for under 20 Euro. You are essentially setting up a Local Area network, with the whole client/server model. You write your java server and client code and Bobs your uncle. This would do away with the need for four sound cards/two dual head graphics cards in the one PC.

    What do you think?

    TD.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 1,393 ✭✭✭Inspector Gadget


    It occurs to me that I'd forgotten to ask whether your father would be capable of physically operating a remote control without great discomfort, Slaanesh, but if as someone suggested a touchscreen is the only viable option you could use something like a Philips Pronto (http://www.pronto.philips.com/) as a compact touchscreen he could either tote around with him or mount to the chair as required. As the SliMP3 players will all respond to the same remote only one is actually required, and a Pronto (particularly a monochrome model) is likely to run much longer between charges than, say, an iPaq, as well as being a hell of a lot cheaper (if not nearly as functional).

    As I'm posting anyway, can anyone give a ballpark figure for how much it would cost to buy all the MS product and licences required for Terminal Services for four client PCs? I'd be fascinated to see how much this costs.

    Gadget


  • Registered Users, Registered Users 2 Posts: 629 ✭✭✭str8_away


    You can divied this project into three main parts.
    1) Command i/o
    2) Command Process.
    3) Music out.

    For Command i/o:
    I am not sure what kind of toutch screen you are planning to use.
    But AFAIK they are not cheep.
    Why not use 4 cheep palms? You can use your main computer as server as tom dunne suggised set the whole system as a network.
    4 palms can run their own program as client and connect to main computer with cables/hubs or even wirseless.
    (you can wirte java program for palm quite easy, I assume you are a Java programmer)
    This will solve your problem of 4 input controls to one system.

    For Command Process:
    You can either have 4 program running on the main server at the same time.
    Each program is connect to one palm. This way you are letting OS to handel file sharing problem.
    As seamus pointed out.
    OR
    you can have 4 palms connected to one single program on the server.
    This way you have to handel file sharing but the whole system is more dynamic.
    You can add more palms to the system automaticly.

    For music out:
    Not sure how to setup a system with 4 different sound line-out.
    There might be a sound card out there that can do this.
    But to use 4 different sound cards at the same time, you will have some hardware config problem.

    Good luck on your project.
    Start as soon as you can because there is never enough time.


Advertisement