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

Absolute beginner

Options
  • 22-07-2005 12:08pm
    #1
    Closed Accounts Posts: 6


    Hi, i was wondering if someone could help me out:

    Im designing a location based Pocket PC guide (for a project) and i've never programed in my life. Its based around 4 seperate landmarks within 1 sq mile. The guide will be a pocket PC and will use 4 seperate Bluetooth devices at each of the landmarks to send the appropriate Flash document (.swf) to the main PDA. The PDA is Windows Mobile 2003 based. Even if i got the structure/ steps i could get someone around here to help me.

    Im thinking that i'd have the Flash files on each of the bluetooth devices and the main guide PDA constantly searching for new Bluetooth devices, but in truth i haven't a clue. What programs would i need to develop, would i just need one on the main PDA or would i need one on the stationary bluetooth devices too.

    Like i said im an absolute beginner, any feeedback on this would be great. If i get some sort of structure on it i could get help and give it a go. a few minutes of your time versus a week (more) or so of mine, karma etc. Sound. Cheers. Really appreciate the help.


Comments

  • Registered Users Posts: 6,762 ✭✭✭WizZard


    Sheehan wrote:
    Im designing a location based Pocket PC guide (for a project)
    Interesting.
    Sheehan wrote:
    and i've never programed in my life.

    Could you not just start with Hello World??
    Sheehan wrote:
    Its based around 4 seperate landmarks within 1 sq mile. The guide will be a pocket PC and will use 4 seperate Bluetooth devices at each of the landmarks to send the appropriate Flash document (.swf) to the main PDA.
    WiFi would be better as it has a better range than bluetooth. Anyway, neither WiFi nor bluetooth have a range of 1/2 mile (I know it could be less but for all intents and purposes it's gonna be 0.5 of a mile).

    More info is needed, but if you've never programmed before I wouldn't get your hopes up about even starting this project, never mind completing it yourself.


  • Closed Accounts Posts: 1,010 ✭✭✭kasintahan


    Wifi can do up to 30km line of sight with directional antenna.

    A high site with an onmi directional antenna could probably do a 5km radius.

    Bluetooth would be lucky to do 250 meters.


  • Registered Users Posts: 7,276 ✭✭✭kenmc


    Why are you getting stuck to do this pretty complex project, having never programmed in your life. I think it's fair to say that it's not going to work for a veeerrrryyyyy llloooooonnnnnnnggg time. We go to college for years and spend years learning the art of programming, it's not just something you know how to do from birth.
    I mean when's the last time you just threw a house together? Or made a TV?
    I think you're in way over your depth.
    Sorry.


  • Moderators, Politics Moderators Posts: 39,776 Mod ✭✭✭✭Seth Brundle


    WizZard wrote:
    Anyway, neither WiFi nor bluetooth have a range of 1/2 mile (I know it could be less but for all intents and purposes it's gonna be 0.5 of a mile).
    kasintahan wrote:
    Bluetooth would be lucky to do 250 meters.
    http://www.popsci.com/popsci/how2/article/0,20967,714017,00.html (mind you Im not sure Id like to stand near it!!!)


  • Registered Users Posts: 6,762 ✭✭✭WizZard


    kasintahan wrote:
    Wifi can do up to 30km line of sight with directional antenna.

    A high site with an onmi directional antenna could probably do a 5km radius.
    Apologies. I meant with normal PCMCIA adapters and the like. i.e affordable for a project.
    I should have made that clearer.

    @kbannon
    Interesting! But I don't think I'd stand beside it either! ;)


  • Advertisement
  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    Sheehan wrote:
    Hi, i was wondering if someone could help me out:

    Im designing a location based Pocket PC guide (for a project) and i've never programed in my life. Its based around 4 seperate landmarks within 1 sq mile. The guide will be a pocket PC and will use 4 seperate Bluetooth devices at each of the landmarks to send the appropriate Flash document (.swf) to the main PDA. The PDA is Windows Mobile 2003 based. Even if i got the structure/ steps i could get someone around here to help me.

    Hmm, this sounds like a version of the Trinity DSG WAND project designed specifically to use wacky new technologies like Flash(?!) and WinCE200x.
    Rob.


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    kbannon wrote:
    http://www.popsci.com/popsci/how2/article/0,20967,714017,00.html (mind you Im not sure Id like to stand near it!!!)

    Bear in mind that this sort of thing is highly illegal, and if you try it in a populated area it WILL be noticed.

    Though I think the OP MAY be talking about going round manually with the bluetooth device, and collecting information. Am I right?

    Anyway, you're hugely out of your depth, by the look of things. Why did you get assigned to this project?


  • Closed Accounts Posts: 79 ✭✭zt


    I must confess that I am unfamiliar with bluetooth etc.

    If I read your mail correctly, you are planning to have 4 'beacons' that can serve a local map.

    I would suggest that the beacons should be simple HTTP servers. They simply serve an index.html page. I would consider using laptops with WI-FI cards/ad-hoc connecitity and a simple HTTP server (like Tomcat or similar).

    Each of these servers should have THE SAME name, IP address etc.

    Your client could be a web browser that attempts to open the named server/page. For example, http://localbeacon/index.html. Using auto-refresh on the page with some Javascript could be used to handle communication failure.

    As the user moves between beacons, the client will lose signal until it obtains a new signal. At this point the page will refresh with the new index.html from the nearest beacon.

    When you get the basics working, you should look at handling failures in communication (when the client is between beacons) and automatically refreshing the index page.

    The other posters are correct -- this is a hard project, but it can be simplified into neat building blocks and you can add complexity as you proceed.

    Best of luck.


  • Registered Users Posts: 6,762 ✭✭✭WizZard


    zt wrote:
    Each of these servers should have THE SAME name, IP address etc.
    How?


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    WizZard wrote:
    How?

    He's suggesting a system where the data collectors have the SAME IP addresses, and are not constantly connected; they're only connected when someone comes with a laptop. Now, quite WHY he's suggesting that they have the same IP address is beyond me.

    He's also making the assumption that there's a standard bluetooth IP stack.


  • Advertisement
  • Closed Accounts Posts: 79 ✭✭zt


    It is very common for web clients of various types to cache the name -> address mapping. I suggested the same IP address so this would not cause problems.
    rsynnott wrote:
    He's suggesting a system where the data collectors have the SAME IP addresses, and are not constantly connected; they're only connected when someone comes with a laptop. Now, quite WHY he's suggesting that they have the same IP address is beyond me.

    I clearly stated that I had no Bluetooth knowledge.
    rsynnott wrote:
    He's also making the assumption that there's a standard bluetooth IP stack.


  • Closed Accounts Posts: 79 ✭✭zt


    I'm assuming that these are standalone.
    WizZard wrote:
    How?


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    zt wrote:
    It is very common for web clients of various types to cache the name -> address mapping. I suggested the same IP address so this would not cause problems.

    You're suggesting using a DNS server somewhere, then? If not, then name resolution, if any, would be taken care of by the client's host file, and this is irrelevant.


  • Closed Accounts Posts: 79 ✭✭zt


    I would suggest that the servers (beacons) have simple fixed addresses/names.

    The client will attempt to connection to 'http://server'.

    My reason for the same IP address, is that when the client resolves 'server' the first time (using the hosts file); this IP address maybe cached.

    If each server/becaon has a different IP address, caching may cause the client to always connect to the original IP address lookup.


    rsynnott wrote:
    You're suggesting using a DNS server somewhere, then? If not, then name resolution, if any, would be taken care of by the client's host file, and this is irrelevant.


  • Closed Accounts Posts: 6 Sheehan


    Cheers for the replys, i know i am completly out of my depth but im still going to give it a try anyway. Just to clarify a little bit if i can. The project is based around 4 seperate landmarks with 4 seperate flash pages for each. Once the main PDA comes within range (Bluetooth- im told it's about ten metres) of one of the four devices placed beside each of the landmarks then the appropriate Flash page will be triggered. Appreciate the help. Thanks.


  • Registered Users Posts: 2,426 ✭✭✭ressem


    You're going to want some sort of server at each landmark presumably (assuming that you don't rig up some bluetooth over DSL bridge). This could be another PDA running an OBEX server.


    You've no experience with any language?
    at
    http://www.codeproject.com/ce/MbPocketOBEX.asp?df=100&forumid=32781&exp=0&select=928665
    there's a demo Obex-FTP client for pocket PC.

    In this months Dr Dobbs mag Jul 2005, there's an article about Bluetooth and OBEX in Java, with sample OBEX push client (runs on server, pushes vCard to PDA)

    Haven't tried either so just going on face value.


  • Closed Accounts Posts: 6 Sheehan


    Right i simplified it some more: got a bluetooth card for the laptop. It's already got wireless. Got my PDA w/ Windows 2003 OS and Bluetooth and wi-fi.
    I just need some way that when i walk up to the laptop with the PDA, the right page is automatically triggered on the PDA.[/U] Only need to do this once (not 4 seperate landmarks) to show that it can work. Embedded Visual C++? because i got the developers kit for this. IF someone can break this into steps (especially the start) i have some hope. Cheers for everything so far. appreciate it.


  • Registered Users Posts: 2,426 ✭✭✭ressem


    If this is going to be a long running project on these or other prog boards you need to try and break the problem into a simple but complete set of tasks for the system to deal with.

    Eg Best way to play a flash file on a PDA, triggered by its proximity to a landmark.
    My choice. User PDA will use bluetooth, attempting to detect any devices in range that offer an FTP service. (FTP because of common samples).
    On detection, Program on user pda will attempt to download 1 or more files from the device serving ftp.
    On download complete, Program on user PDA will try to display file using MS IE on PDA.

    2.
    Assumed Description:
    A user holding a PDA supplied by us. (So we can program a standard piece of software). With more experience you could program to cope with multiple stacks.


    Ok what make & model of PDA did you get?
    It matters as there are 2 competing stacks, the microsoft bluetooth stack and the WidComm stack (which is pretty common).

    As someone with no programming experience, you'd find one of the .Net languages easier than c++, I guess. And the .Net works easiest with the microsoft stack as usual.

    Ok. Take the following as a sample of c#.net code.

    Attempts to explain Extracts from
    http://www.gatefold.co.uk/obex/
    From the form1.cs in the zip download


    Uses Library from
    http://www.opennetcf.org/CategoryView.aspx?category=Home
        using OpenNETCF.Net.Bluetooth;
        using OpenNETCF.Net.Sockets;
    
    


    Making a search for neighbouring bluetooth devices using these libraries is just a matter of
        // Prepare 'storage area' for information on discovered devices
        BluetoothDeviceInfo[] bti; 
    
        BluetoothClient bc = new BluetoothClient(); 
    
        // Carry out the detection procedure. 20 tells the method to look for a max of 20 devices
        bti = bc.DiscoverDevices(20);
    

    After which bti will contain an array of device ids and device names detected (if any).

    Then you can attempt to open a connection to one of the devices
        client = new OpenNETCF.Net.Sockets.BluetoothClient();
    
        // Use 1 address extracted from bti
        endpoint = new OpenNETCF.Net.BluetoothEndPoint(btaddress, spguid);
    
    
    
        client.Connect(endpoint);
    
    

    To allow you to send and receive data over the stream,
        NetworkStream stream;
    
       // ...
        stream = client.GetStream();
    
    

    ...etc (time up)


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    I'd go with wireless rather then bluetooth. It is easier to reconnect and Bluetooth API kits tend to cost a lot of money.


  • Closed Accounts Posts: 6 Sheehan


    That is brilliant, sound out. btw Dell Axim X50 (has the wifi and bluetooth). Ye have no idea how much i appreciate the help. Cheers


  • Advertisement
  • Registered Users Posts: 2,426 ✭✭✭ressem


    D'oh. Dell Axims have Widcomm stack. So the above won't work.
    Isn't programming fun :)

    I'll look for a widcomm comparable with the above this eve (will probably be C++).

    In the meantime consider Hobbes alternative:
    if the 802.11 fans can point out suitable APIs and process for equivalent.
    1. Should the wifi devices be connected to the net, and/or a central server.
    Advantages: easier updates, logging.
    Disadvantages: always on internet access or connecting landmark devices might be unfeasibly expensive, depending on whether landmarks would be urban or rural.

    2. Included drivers, and zero network config will let the PDA discover a network automatically. You could use something like ZoneCD (linux bootable CD that uses a program called nocat to redirect outgoing web requests to a splash page) on a laptop to redirect any web access to a splash page containing the flash entry. http://www.publicip.net/zonecd/features.php

    3. Then simple software (more like a batch file) to write might just be on the PDA to ping for a network connection periodically, if found open web browser on the PDA.
    (Perhaps someone on the board wants to provide a listing using NDIS as a trigger rather than the inefficient and flawed ping polling)


  • Registered Users Posts: 2,426 ✭✭✭ressem


    Looks like 750 dollars for the widcom complient sdk from high point and supposedly more for widcom's version. (There is an evaluation version of the high point stack)
    http://www.high-point.com/

    Don't know yet whether this is academic project for learning purposes (which might rule out the wifi option), volunteer or commercial project so don't know whether this cost is acceptable, pda can be swapped or just go with wifi.

    Of course for less than 750 you might be able to get someone to write it for you on a google contract or whatever, if you gather enough info to put together a specification saying exactly what is needed.


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    If he's worried about SDK costs he can always use an open-source stack on a UNIXy system...


  • Closed Accounts Posts: 6 Sheehan


    It's an academic project in design, the programing is optional but kinda necessary in my case. It's more focused on the actual content of the pages and how the information is presented. (THIS IS ALL DONE) Though in my case i need a somewhat workable project. I just need to set it up for 1 or 2 of the landmarks to show that it can be done. I can exchange the PDA. What would you recommend instead? Budget of the exact same around €400 or so. Cheers for the advice so far.


Advertisement