Today I solved another problem that bugged me for a while. Namely, I wanted to run the free flight prediction runs automatically from cron. When I ran it from the commandline or a script, it worked well, but when I tried to run it directly or through the same script from cron, it always failed with the following message : “critical error : basic_string::_S_construct NULL not valid”
After a long time I did some paramotoring again. We swiss poeople have to leave the country to do so. Paramotoring is forbidden in only two countries in the world. One is North Korea, and guess which is the other…
But it looks promising that the new electric engines might get approved in Switzerland.
Anyway, it’s lots of fun for the autumn when the thermals start to disappear.
Last week I got my new phone. A Samsung Galaxy 9000 with Android 2.1 (soon 2.2). So, the Openmoko Freerunner was my main phone for less than a year. I tried many different distributions on it. Namely OM2008, SHR, Hackable, Android 1.5 but the one I like most is QtMoko. The freerunner is still the closest you can get to as true opensource phone. Albeit it offers some unique features not found in any other phone, the user experience is not quite the same as with a commercial phone. Some stuff still has to be done at the command line or editing configuration files. Other stuff you have to try 4 times before it succeeds.
Playing around with a pre installed Android is a really pleasant experience. It comes with lots of cool stuff that I didn’t expect from it.
People say, rooting the phone voids the warranty. So, I better make sure the device has no hardware defects prior to installing debian…. To be continued
With my flugbuch2 and flightpred projects I had a problem for a while in the debian packages. Namely the installation froze after restarting apache2, while the installation seemed to have succeeded as the websites were accessible. When I reloaded apache instead of restarting, the installation ran through but the websites could not be found.
After endless googling, I found that the debian gallery packages used to suffer the same problem and that it was fixed. So I examined the source. What triggered the problem is an apache installation that’s not properly configured. Namely, if your apache complains that it cannot resolve the fully qualified hostname upon startup, then restarting apache inside my old postinst script would fail the postinst script. It has something to do with debconf waiting on some open file descriptors.
To make it short: move the db_stop to just before the apache restart and that solves the problem.
After receiving personal messages on the arduino forum asking for the code for the Intersema pressure sensor, I paste my code here. It is based on the code from Hari Nair for the open source solar vario that I bought from him.
We’re back from our family holiday on the French atlantic coast. We were at the Dune du Pyla, europ’s biggest sand dune. It’s a big playground for children as well as adults hanging below a paraglider wing. Conditions were good on three days to fly on the big dune. So I trained touching the flat slope with the wing tip without hitting the sand myself. Levin did his first four hour kayak trip, of which he slept more than an hour.
I wasn’t so cut off from the internet for a long time…
Today I did important progress in another toy project. It’s name is receptiongreet and you can find out more on SourceForge.
Basic functionality was running today for the first time! The app starts up, reads all the face images provided in a sub directory and trains them. It then observes the area with the web cam, looking for faces. If it detects a face, it compares it to the trained ones. And if that leads to a match, it outputs a personalized greeting to the pc speakers.
So, from here on it’s polishing.
The plan was to build a mobile weather station with an arduino, two old windspeed sensors from the local paragliding school, a temperature sensor, a solar panel and an old cellphone.
As the first part I wanted to read the anemometers. I got them for a bargain from Touch&Go. Only I couldn’t figure out how to read them. It was no simple switch, so I suspected a hall effect sensor. From Flytec I got a schematic how to make the circuit. On the breadboard it worked immediately, but on the PCB, I got no readings. After a bit of measuring and thinking, I added two more resistors, to have the oscillating voltage pass the reference voltage.
Next, I started to calculate the wind direction from the two sensors for X and Y direction. Only then I realized that the windspeed alone is not enough. I would need a sign (+ or -) meaning if the wind blows from the front or back through the sensor. With only the speed I know only the angle but not which quadrant. And the quadrant is actually more important than the angle for me.
Ideas are welcome…
Finally I got my Spectrum Analyzer to work.
At first I was curious if I could use the display from an old Nokia cellphone I disassembled in conjunction with the Arduino. So I was looking for anything that could help me in doing so.
Then I stumbled across Miguel A. Vallejo’s Handheld 2.4GHz Spectrum Analyzer.
Putting it into a cellphone case would be too cool, but I don’t solder SMD, and I had an Arduino Nano lying around. So I ported the project to the Arduino platform. As the Arduino Nano operates at 5V and the display and the radio both at 3.3V, I had to use voltage dividers on the signal lines.
The CYWM6935 is kind of hard to get in Switzerland. Either you pay 3 or 4 times the regular price for the device or ridiculous shipping fees or both. I ended up ordering one from Farnell for CHF 48 including shipping.
The main problem I was chasing for a while resembled to the following: I made a voltage divider for the 3.3V to power the display and radio without considering the resistance of the circuits. So the driving voltage was too low for operation. Ha, out of training in designing electronics… In the end I’m using the 3.3V from the Arduino. I thought I read somewhere that it works only when powered from USB, but in my tests it works on battery as well.
Then I used the delay() function common in arduino instead of _delay_us() in Miguel’s code. Until I figured out the difference, It took about 30 seconds for a full sweep. Now it does about five sweeps a second.
Now, It works! I can see Bluetooth, Wifi and microwave oven radiation. The only drawback is that it doesnt always pick up very short transmissions like beakons.
Here is the source code for Arduino on github. Make sure to also look at the forks that improved my design.
It’s now also on the Arduino Playground.
Lately I learned that I was on the front page of a japanese paraglider magazine:
My ex boss visited his parents in law in Japan and brought me an issue. I was puzzled to learn that Japanese magazines are read from back to front.