Due to some exams and assignments this week, unfortunately I didn't get much of a chance to work on the system. I'm going to try and get some pictures up of the unit and its functionality tomorrow, however.
Next on the plans is checking the system's Bluetooth capability. I'll start out small on this at first, as big steps can lead to big problems, and I'm not really familiar with working on Bluetooth devices. The Gumstix Bluetooth wiki specifically mentions how to connect to a Bluetooth GPS receiver, which will obviously be useful once I get the Bluetooth running and scanning stuff. The wiki also links to a freely available PDF of a chapter from the book Make Projects: Small Form Factor PCs, which seems to deal with the Gumstix's Bluetooth capabilities. If so, it'll be a must-read.
Apart from the Bluetooth, I'll have to check the cross-compilation capability for a C program more complex than "Hello World", and the C++ cross-compilation capability also, as I'm not sure whether our revision has the ability to run C++ out of the box (my gut feeling says no). I believe we'll be using C for controlling the servos (although this isn't set in stone), but it may be beneficial to use C++ for some of the other aspects of the system's development. If C++ isn't present on our revision, I'd imagine that putting a newer buildroot on the system will solve the problem, which I'd be more than willing to do if it made anyone's life easier.
It also seems that we need no longer set up a WIFI repeater on the Gumstix system, as Donal has located one that communicates with a base-station unit located near the router providing the WIFI. Now all we need to do is take the weight of the repeater into consideration when calculating the overall weight of the system. This will take some of the work off the Gumstix set-up and maintenance, and gets rid of the problem of the Wifistix not being able to act as an access point. So that's one hurdle overcome!
To end this post on a good note - we've received the go-ahead to order a (suitably sized) blimp for the project! Obviously, excellent news, as the blimp is essentially the raison d'être of our project.
Thursday, February 28, 2008
Monday, February 25, 2008
04 Buildroot
As mentioned, my first buildroot download was less than successful. This was more than partially my fault as I set about downloading the buildroot package before reading the entire buildroot wiki page, and some supplementary articles, all of which mentioned that the latest version of buildroot (which is downloaded by default if a revision is not specified) may not be stable. Great.
Since it was mentioned that running the makefile supplied with buildroot takes rather a long time, I killed the latest version in its tracks, and set about downloading the version corresponding to the Gumstix system's version - I figure that, to begin anyway, I might as well try and use the given version and only upgrade if it's needed.
This package seems to have not downloaded properly, probably due to me not cleaning out the folder of half-built files before running the new makefile, so I cleared out everything and started afresh.
Keeping with the buildroot wiki, I did the following in order:
1161 being the buildroot version currently on the Gumstix. Then it was just a case of running the makefile.
Since I'm not planning on replacing the file system - not yet anyway - I went straight to the programming wiki page, and whipped up a c "hello world" to cross-compile. I copied this sample makefile, which seems a bit confusing and will need some deciphering, and compiled my program. A small scp later, and our Gumstix system was greeting the world.
Since it was mentioned that running the makefile supplied with buildroot takes rather a long time, I killed the latest version in its tracks, and set about downloading the version corresponding to the Gumstix system's version - I figure that, to begin anyway, I might as well try and use the given version and only upgrade if it's needed.
This package seems to have not downloaded properly, probably due to me not cleaning out the folder of half-built files before running the new makefile, so I cleared out everything and started afresh.
Keeping with the buildroot wiki, I did the following in order:
Step 0:
svn co -r 1161 http://svn.gumstix.com/gumstix-buildroot/trunk gumstix-buildroot
1161 being the buildroot version currently on the Gumstix. Then it was just a case of running the makefile.
Step 1:
cd gumstix-buildroot
make defconfig
make
Since I'm not planning on replacing the file system - not yet anyway - I went straight to the programming wiki page, and whipped up a c "hello world" to cross-compile. I copied this sample makefile, which seems a bit confusing and will need some deciphering, and compiled my program. A small scp later, and our Gumstix system was greeting the world.
03 Wireless Woes - Part II
Having connected the Gumstix to the router, I decided to try getting a static IP working on the system. Thankfully, the hard part of connecting was over, as a brief look at the Gumstix Tutorial gave me the information I needed. Again editing the /etc/network/interfaces file, I commented out:
and replaced it with
which was obvious enough. After this I just added values for the static IP I wanted, the netmask, and the gateway, and everything was up and running as expected, excellent!
Well, not quite.
Somewhere along the line, I've no idea where, I'd picked up a new wireless network on the block: one with the exact same name as my current one, but in ad-hoc form. Puzzled, I instantly assumed the Gumstix was responsible; it is, after all, the newest system, and one with which I've no experience - perhaps I'd inadvertantly set up an ad-hoc network. Unplugging the Gumstix, however, did not seem to affect the network.
Next, my thoughts turned to dad's laptop. Perhaps, in his need to get online, he'd inadvertantly set up an ad-hoc network! This turned out to be a red herring too.
At this stage I was becoming rather annoyed: my minor success with the Gumstix was being tainted by a tough, unruly ad-hoc network that refused to die. Maybe someone outside was trying to trick us into connecting to this network instead of our own for some reason? It seems not; no unmarked vans parked across the street.
Turning off all computers in the house also failed to solve the problem...initially. Then, as quickly and mysteriously as the network had appeared, it was gone!
Numerous "iwlist mwlan0 scanning" calls on the Gumstix (every five-ten minutes for the past hour) turned up nothing except my own, trusty router.
Very odd, indeed, but probably something of my own doing.
So, after all of this drama, the Gumstix is up and running on my own router, with encryption and a static IP. I may attempt to cross-compile something tonight, as the buildroot seems to have completed successfully this time, but all this ad-hoc chasing has worn me out.
iface mwlan0 inet dhcp
and replaced it with
iface mwlan0 inet static
which was obvious enough. After this I just added values for the static IP I wanted, the netmask, and the gateway, and everything was up and running as expected, excellent!
Well, not quite.
Somewhere along the line, I've no idea where, I'd picked up a new wireless network on the block: one with the exact same name as my current one, but in ad-hoc form. Puzzled, I instantly assumed the Gumstix was responsible; it is, after all, the newest system, and one with which I've no experience - perhaps I'd inadvertantly set up an ad-hoc network. Unplugging the Gumstix, however, did not seem to affect the network.
Next, my thoughts turned to dad's laptop. Perhaps, in his need to get online, he'd inadvertantly set up an ad-hoc network! This turned out to be a red herring too.
At this stage I was becoming rather annoyed: my minor success with the Gumstix was being tainted by a tough, unruly ad-hoc network that refused to die. Maybe someone outside was trying to trick us into connecting to this network instead of our own for some reason? It seems not; no unmarked vans parked across the street.
Turning off all computers in the house also failed to solve the problem...initially. Then, as quickly and mysteriously as the network had appeared, it was gone!
Numerous "iwlist mwlan0 scanning" calls on the Gumstix (every five-ten minutes for the past hour) turned up nothing except my own, trusty router.
Very odd, indeed, but probably something of my own doing.
So, after all of this drama, the Gumstix is up and running on my own router, with encryption and a static IP. I may attempt to cross-compile something tonight, as the buildroot seems to have completed successfully this time, but all this ad-hoc chasing has worn me out.
02 Wireless Woes - Part I
In keeping with posting all aspects of my learning, this post will deal with my experience in setting up the Gumstix for use with my home router, along with some very odd issues along the way.
The day we received the Gumstix system, I wasn't present during the demonstration. I was informed, however, that the system was up and running on the college wireless network, with a computer connection via serial, within moments, and was scanning Bluetooth devices nearby with equal ease - excellent, I thought to myself.
That night when I arrived home, I attempted to get the system working with my home router, optimistic that it would work right off. Of course it didn't.
I'll hold up my hands and admit that I was being foolish in thinking I could plug it in and all would be well, obviously there would be some issues with WEP keys and the rest. So, just to ensure that I could get wireless working at all, I turned off my router's encryption for a few minutes and, low and behold, the Gumstix picked it up and connected. I SSHed in, messed about for a minute to make sure all was well, and then exited.
So ended my first foray into Gumstix wireless.
Yesterday, having downloaded buildroot on my laptop's Ubuntu, I decided to get a simple "hello world" cross compiled, to put onto the Gumstix, to make sure all was well. Once again, I disabled the router's encryption, and fired up the Gumstix; everything working again. However, it turns out that the buildroot download was not successful and my little program failed to compile, so I set about downloading buildroot again, and turned off the Gumstix for the night. Unfortunately, I forgot to reset the router's encryption. Not that big a problem, as long as some unscrupulous individual doesn't notice, but it seems to have lead, indirectly at least, to some rather annoying issues, as will be described in part II.
The following morning my dad mentioned, in passing, that the wireless wasn't working, so I reset the router's encryption and set about getting the Gumstix working on it. A bit of searching through Nabble's Gumstix forum lead to this post. Given this information, I commented out this given line in /etc/network/interfaces:
and replaced it with:
as was advised in the above linked post. It worked like a charm, and I was up and running on my router. God bless Dave Hylands, I can see his (many) posts helping me more than this one time.
Next up was getting a static IP working on the system.
The day we received the Gumstix system, I wasn't present during the demonstration. I was informed, however, that the system was up and running on the college wireless network, with a computer connection via serial, within moments, and was scanning Bluetooth devices nearby with equal ease - excellent, I thought to myself.
That night when I arrived home, I attempted to get the system working with my home router, optimistic that it would work right off. Of course it didn't.
I'll hold up my hands and admit that I was being foolish in thinking I could plug it in and all would be well, obviously there would be some issues with WEP keys and the rest. So, just to ensure that I could get wireless working at all, I turned off my router's encryption for a few minutes and, low and behold, the Gumstix picked it up and connected. I SSHed in, messed about for a minute to make sure all was well, and then exited.
So ended my first foray into Gumstix wireless.
Yesterday, having downloaded buildroot on my laptop's Ubuntu, I decided to get a simple "hello world" cross compiled, to put onto the Gumstix, to make sure all was well. Once again, I disabled the router's encryption, and fired up the Gumstix; everything working again. However, it turns out that the buildroot download was not successful and my little program failed to compile, so I set about downloading buildroot again, and turned off the Gumstix for the night. Unfortunately, I forgot to reset the router's encryption. Not that big a problem, as long as some unscrupulous individual doesn't notice, but it seems to have lead, indirectly at least, to some rather annoying issues, as will be described in part II.
The following morning my dad mentioned, in passing, that the wireless wasn't working, so I reset the router's encryption and set about getting the Gumstix working on it. A bit of searching through Nabble's Gumstix forum lead to this post. Given this information, I commented out this given line in /etc/network/interfaces:
pre-up /sbin/iwconfig $IFACE essid any txpower 100mW
and replaced it with:
pre-up /sbin/iwconfig $IFACE key XXXXXXX key open essid "My_Network" txpower 100mW
as was advised in the above linked post. It worked like a charm, and I was up and running on my router. God bless Dave Hylands, I can see his (many) posts helping me more than this one time.
Next up was getting a static IP working on the system.
Wednesday, February 20, 2008
01 Team and Project Background
As mentioned, the reason I'm using a Gumstix computer is because I am currently undertaking a project with three others; Dónal, John and Semir, with the aid of a teaching assistant, Graham.
Our project proposes to use a small, lightweight blimp to carry a Gumstix computer equipped with a Wifi repeater and GPS system. The Wifi repeater will enable the provision of wireless connectivity to areas in which setting up a fixed wireless network would not be feasible, while the GPS system, coupled with attached motors, will enable us to control the blimp's movements and set destinations for the blimp to travel to.
We must demonstrate a fully functioning system before the college will supply us with a blimp, so it is imperative that we set up the system as soon as possible, and create a simulation to show that the motors, GPS and Wifi repeater function as expected. A document containing the details of the simuation system is currently in progress.
Our project proposes to use a small, lightweight blimp to carry a Gumstix computer equipped with a Wifi repeater and GPS system. The Wifi repeater will enable the provision of wireless connectivity to areas in which setting up a fixed wireless network would not be feasible, while the GPS system, coupled with attached motors, will enable us to control the blimp's movements and set destinations for the blimp to travel to.
We must demonstrate a fully functioning system before the college will supply us with a blimp, so it is imperative that we set up the system as soon as possible, and create a simulation to show that the motors, GPS and Wifi repeater function as expected. A document containing the details of the simuation system is currently in progress.
00 In the beginning...
To begin, a short introduction: I am Cillian Murphy, a third year Computer Science & Economics student in University College Dublin.
This blog will chart my learning, progress, achievements, and failures in managing a Gumstix computer system, which was provided to us for our team's current software engineering project - more on the team and project later.
This will not be a foolproof tutorial in how to set up a Gumstix system, as I will chart all failures as well as successes. Where possible, I will endeavour to post any methods I use to solve problems I encounter, and will try to refrain from posting failures without a solution, or an idea of how to solve them - hopefully to avoid misleading anyone who might stumble across this blog and take it step-by-step!
So, let's get started...
EDIT: As per a request from a course lecturer, anything particularly interesting in our setup (bluetooth GPS system, I'm looking at you) will likely be posted to this wiki
This blog will chart my learning, progress, achievements, and failures in managing a Gumstix computer system, which was provided to us for our team's current software engineering project - more on the team and project later.
This will not be a foolproof tutorial in how to set up a Gumstix system, as I will chart all failures as well as successes. Where possible, I will endeavour to post any methods I use to solve problems I encounter, and will try to refrain from posting failures without a solution, or an idea of how to solve them - hopefully to avoid misleading anyone who might stumble across this blog and take it step-by-step!
So, let's get started...
EDIT: As per a request from a course lecturer, anything particularly interesting in our setup (bluetooth GPS system, I'm looking at you) will likely be posted to this wiki
Subscribe to:
Posts (Atom)