Now this is a mower

Filed under: trundle — jaydublu @ 5:55 pm

What trundle wants to be when it grows up

A little knowledge is a dangerous thing

Filed under: tinkering,trundle,ubuntu — jaydublu @ 1:32 pm

I like to think I know a little bit about most things surrounding the Internet, and whilst not claiming to be an expert I like to think I’m at least competent in most things I turn my hand to.

But every now and then I get caught out, and reminded how dangerous it can be to tinker with things you don’t fully understand – there are some people out there with far too much time on their hands.

As part of my Trundle project, I attempted to make a webserver running on the beast’s eventual operating system available to the public Internet – not for public consumption mind, but so I can see it when I’m out and about. Now I didn’t want to put the whole thing on a public IP address, just a little bit of it – and apart from anything else I’ve already got an externally available webserver on my Internet connection.

So my idea was to use mod_rewrite to proxy a set of urls to the internal server’s private IP address. I’m sure it’s something I’ve done before in other Apache instances, and it sounded feasible, but for once Ubuntu fought back a bit. Still, I felt I’d prevailed.

Now it turns out I’d opened up a vulnerability to someone, somewhere, to do something with my network. It was cunningly disguised in that the traffic wasn’t enough to be hugely obvious, but I was playing with awstats and got curious about some odd traffic.

It turns out I’d unintentionally configured my webserver to allow anyone to use it to proxy requests to anywhere else. Short of cloaking the eventual source (or destination?) of the traffic I can’t see what was gained – the requests seem mostly to have been for banners or clickthrus in flash game sites. I wasn’t hosting the files so nothing was gained in terms of bandwidth, and it doesn’t seem like a ddos attack.

Anyway, I’ve disabled the proxying functionality now, and checking the logs although I’m still getting the requests they now get a 403 response. I hope they’ll die out eventually, or will I have to get my fixed IP address changed do you think?

It Trundles!

Filed under: tinkering,trundle — jaydublu @ 4:16 pm

Success came about 4pm last night, when I finally managed to get my stripped down electric wheelchair not only moving forwards, but also backwards under control of the PIC microcontroller.

Today I took it for a walk around the garden on a log serial lead. Perhaps I should call it Fido?

You need to a flashplayer enabled browser to view this YouTube video

So what do we have? We start off with a small Visual C++ app which reads a standard PC joystick, and sends the values read as a string down COM1 serial port. A PIC24F 16 bit microcontroller mounted on an Explorer 16 demo board receives that data, does a quick calculation to turn speed and steering information into differential speed and direction data, and uses this to control the duty cycle of two PWM outputs and matching digital outputs for direction.

The PWM output for each wheel is fed into a 4QD VTX-40 motor controller – the direction signal is amplified by a transistor and fed in place of the reverse switch.

The rest is the original wheelchair – two 12V batteries feeding 24V to the controllers, and two geared 24V DC motors.

Next step – replace RS232 wired communications with ethernet, and get this going over wifi so the vehicle is literally wireless.

Trundle firmware almost ready

Filed under: tinkering,trundle — jaydublu @ 6:54 pm

A few weeks back I craked getting Visual C++ to read joystick data and send it down a serial stream. Today I’ve run first tests with the Explorer 16 board using the PIC24 device to receive and parse that data from one of the UARTs, apply a differential steering equation, then use the calculated value as the duty cycle of tow channels of PWM ready to be connected to the motor controllers.

So far, I’m on course to achieve my first goal of having a joystick connected to a PC controlling the wheelchair rather than the dedicated controller, hopefully in the first couple of weeks in January. All that’s stopping me now is wiring, mechanics, and whatever gremlins I’ve not anticipated.