Hi everyone! this is my first post here! hope to learn a few things!! i read the thread about students looking for easy answers to assignments! i understand the point. i am not like that. i am a member of other forums too and contribute what i can! on one forum im the 4th or 5th highest poster! so basically if i join a forum its to learn from it and i will read thru all of the forum threads, not just my one! ok anyway. . .

My name is Dean. im am in college studying electronic engineering and am currently doing work placement for my course. I am doing my co-op at with a major global company in ireland. on site there are testers for testing the companies products. each tester houses a server. the testers are mobile and can be moved around. they are often moved cos they can be configured to test several different products and often change location.

Each server has a numbered ID. and there are over 500 servers on site!!! and because they get moved regularly, tracking becomes an issue!! so iv been asked to think about coming up woth a method of tracking them as long as its not too expensive(altho iv no idea what they would consider expensive or not!)

heres what i have thought. firstly, hook up a PIC micro processor and zigbee module at each station to connect to each tester/server. when the server starts up the PIC would read the server number from serial and transmit it. the PIC for each station would have a station number ID. so via zigbee network array it would transmit the server ID along with its station location ID back to a main PIC in the lab. this would be interfaced to the PC with visual basic GUI. the GUI interface would display a grid of all the stations and when data is recieved it would display the server ID in the relevant grid. downside is it would need a PIC and zigbee module +board n parts for every tester!! but would be very useful. e.g. if there was any issues, hte operator presses a button on the board, this displays another GUI which would list options for reporting the issue, the operator clicks the right one and in the same way its sent back to the lab.

secondly i was thinkinof possibly doing something pretty mch the same as above, but with CANbus. but again there would be PIC, CANbus chips and other parts for every tester station but also there would be a mass of wiring! which is why i came up with the zigbee idea.

Iv used CANbus and Zigbee in college.

So then i was thinkin of maybe a way to do it thru the network. its this area iv not had any experience! each station has LAN network connections. i thought maybe if they were static IPs when the servers starts up it could check the IP address and report back thru the N/W to the lab comp. and based on the IP then the lab comp could work out where the server was located. I asked and they're dynamic IPs not static. so here is what i was thinkin. i dont know if this would be possible or how i would do it!

Server starts up and requests an IP. it is allocated one. because its dynamic, that IP could be anywhere on site! so it reports to the lab comp its server ID and IP. then maybe the lab comp could do some sort of magic and work out where physically that IP had been assigned. e.g. thru the network maybe it could "talk" to the network and find out what router assigned the IP address. then it could "ask" that router what LAN connection or hub was assigned that IP. then that information could be relayed back and used to locate the server based on a map of the available lan connections?

would this kind of thing be possible? tough to do? if it is possible im not even sure how to go about doing it! let alone the most effective!! e.g. could it be done wth command script? controlled from the lab comp via a Visual Basic GUI?

I'd appreciate any input/feedback as this kinda thing is not part of my experience! if i can get my head around this it im sure it would be an immense learning experience! and im sure i could apply the knowledge learned in future projects too!!

again any feedback is welcome!!
thanks and regards,
DeanM

Recommended Answers

All 9 Replies

Maybe I'm thinking too simple, but couldn't you just make a program/script that asks the tester to input his/her location whenever he logs on the server? You could store that input together with a timestamp and userid in a central database.

firstly thanks for the reply niek_e!! hmmm i think that could be an option!

the purpose for tracking is cos if there is issues with gear, the operator scans a barcode serial on the server and the system sends the information back to the lab computer. so they get a gear issue notice and the server number. the problem is that it hasnt been easy for them to easily locate the problem server.

im thinkin maybe if it was as simple as just typing in the location they would have surely thought of that by now? i dunno right now if theres any issue preventing that. other than maybe people could ignore it unless it was made a part of some of the existing programs etc and was needed to run, and editing existing programs might not be an option! i think what he is looking for is something that is less dependant on the user to provide the information.

but i do like the idea.

am i right in thinking the same thing could be achieved as i mentioned above, but by just getting the user to enter the location rather than tracking it from the IP?? it could even be possible to get barcodes for each station and then the protocol when reporting a gear issue the user scans the server, then scans the station barcode before logging the issue. only problem with that is each station is just empty space on the floor! then a tester is brought in and the product to be tested, so typing the location might be necessary unless sticking the barcode on the floor!! lol

p.s. sorry if my posts are too long and hard to read!!
Cheers!
DeanM

just thought of another possible downside to that solution. say the operators have a test to run on a product and the tester comes up with an issue, they might not even get to log in! or if they had logged in and then got the issue, chances are they would want to get the tests underway so they might move the tester with the issue to another location so that they can bring in a working tester. the idea i had would update the system so that when ever the testers are moved and ask for an IP, but i suppose that also has the downside that if it was moved out of the way as mentioned above, who's to say they'l bother connecting it up again!

What do you call a "location". Is that a workspace in a building? Or a building inside a complex, or a town, or.... ? I mean: how do you want to store the locationinfo? As a GPRS-coord, or as a name, or ..?

id say probably a name. like for example. . .

server_1
Location = station_1

that kinda thing i would say. its a workspace inside a building. a very big building!! its massive and theres different areas inside it. so it would be probably divided into area depending on the tests being done.

e.g. 2!
Server_1
Location = Area_1_Station_1

hope that makes sense!
thanks.

that kinda thing i would say. its a workspace inside a building. a very big building!! .

Ok. In that case, I like your Zigbee idea. But how are you going to identify where the Zigbee module is in the building? Does the user input a code or name into [...] that gets transmitted, or do you have any other ideas?

I suggest that the Zigbee modules send their data to a central-communication-server, which stores everything in a database. If you make a website and put it on the intranet of your company, the data would be available for all the PC's hooked up in the network! No need for installing extra programs on the PC's!

hmm that sounds good!!!

if i was using the zigbees and pics the pics would be preprogrammed with an address corresponding to the location.

i have to run now and catch a bus home so il reply in more detail (if i can) later! thanks for your help!!

Ok so it turns out they're planning on using some package, CMMS. but its really stupid how they're doin it. one of the other guys working here thinks its an awkward way of doin it aswel.

heres pretty much what he told me.
CMMS is a general package and has loads of things bundled into it. stuff to do with finances etc for example it can track servers but can show a history of where the server has been and as i said on the financial side it can show costs of runnin machinces and whats bein spent on em etc. lots of things! it can do a lot of stuff. BUT even tho they are thinkin of gettin that package in, they're still keepin most of the original software! the program they have for loggin gear issues etc is all bein kept and the package is only bein used minimally. . . to track servers.

the stupid part is, the CMMS package requires the information to be input, and then because the other program is still bein used. . . its data base hase to be updated aswel by CMMS anyway!! im not certain yet how its all workin out, i am emailing the guy that is reviewin the packages to see what the story is with alll of this! its a bit of a mess as far as i can see!!

also, the testers/servers "are the property of the maintenence team". its that team that sort out issues, configure for testing etc so they are their responsibility. i asked one of the guys is there any reason that the operators couldnt just submit a location when they log on. he said they wouldnt do it. the testers are the teams responsibility so its not up to them and that they wouldnt take that responsibility upon themselves cos it would mean they are responsible for keepin track of locations when the maintenence team are meant to be responsible. its all a bit messy and unorganised really!!

its all a bit messy and unorganised really!!

Welcome to the real world :) 90% of your future projects will have unclear requirements, colliding interests and will turn out very different from what you actually wanted to make. It's the constant battle between developers, users, CEO, martketing, sales etc etc.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.