h1

RC Car Display

August 18, 2009

A friend of mine’s recently got into RC vehicles, we were running his monster truck the other day after he’d just upgraded its motor and we were trying to estimate the speed of the thing, turns out it’s quite difficult when you’re looking at a scale model screaming around a car park. This set off a chain of thoughts for me, I’d already considered using microprocessors in RC stuff but I hadn’t yet figured out how – then it came to me, why not a bad-ass monitor screen which clips onto your transmitter,  or can hang from your neck, which provides realtime stats wirelessly?

I got to thinking, how could I do this without breaking the bank? What other features could I add? Here’s my thought process, I hope to build this at some point, but I have no vehicles to install it in, and it’d cost too much for something I won’t actually use, so for now it’s a concept. Take it and do with it as you will, I’d like to see what people can come up with.

First off, we need to collect stats. What kind of stats? Well, temperatures would be nice, both battery temps and motor temps, so thermistors are a good start there. Speed would be a definite nicety, perhaps an accelerometer or GPS unit. From there, how about motor speed, or wheel speed? RPMs can be measured with opto-interrupters, much like the kind in computer mice, and that could be installed on an axle or motor spindle. Frequencies are important in RC racing, so maybe it’d be nice to have your current frequency displayed to make it nice and easy to remember in case of conflicts between vehicles. I also considered measuring g-force, but I’m not sure how worthwhile that is in the case of RC cars, but certainly doable. If you have a helicopter or a plane, how about altitude information? A GPS unit could be useful there too. Direction is handy too, and the position of the vehicle in movement, especially for flying vehicles, so a GPS and accelerometers might come in handy.

Next up, how to display all this information. I considered cheap serial text-based LCD displays but that’d require some way of sending the information through the air. How about bluetooth serial for easy display on a phone? Maybe, but does it have enough of a range? I can’t yet program for phones either, so that’s a problem. I considered video, especially having found the TellyMate, wireless video is pretty easy to do.  Then I remembered the video my friend recorded by placing his phone on the car and recording a video of the car zipping around the car park… how about a small camera recording the view from the car and a circuit to overlay the important information as text? That’d be awesome, right? I started looking around, turns out there’s a few ways to do that very thing using AVRs, so if you take a composite signal from a small “spy” camera and feed it through one of these AVR on-screen display projects, you can have the very thing I wanted. Add a small second microprocessor to that for collecting the inputs above, feed that data via serial to the AVR which overlays it on the video, then send it over the air as video. Nice and simple, and not too pricey. How do I receive it? Well, if it’s transmitted using a video sender, it probably has a composite output, where can I find a cheap, decent, relatively large screen with a composite input? …PS1 screen. Got it.

I think it’s possible to do this in less than £100/$160. Sure, it’s not super cheap, but for what you get at the end of it and the process of building it, I think that’s a worthwhile price. Will I make it? Who knows. I’d really like to, but again, I have no vehicle to mount it on, and £100 is not something I want to spend on a project that I won’t personally use, but I’ve spewed my ideas here because I know that someone, somewhere, will be interested.

h1

Alternateeev

August 3, 2009

I enjoy old and alternative OSs and I love emulation, so I had to mix and mash ‘em up with my little old eee 701. Who doesn’t want an Amiga laptop? An Acorn netbook? An Atari notebook? Exactly, so I decided to see how many classic or unusual OSs I could fit, and reasonably configure to be comfortable and functional, on my eee.

Come on over and see how it happens at http://alternateeev.wordpress.com/. All screenshots are full screen 800×480 images from an actual eee running each OS in as close as I can get to the eee’s native resolution, they’re exactly how they look on the machine in person.

If you have anything specific you’d like me to add to posts (for example what application availability is like, or how to configure a certain emulator) then drop ideas in the comments and I’ll see if I can’t cover things in a little more detail.

h1

Bonus Post

July 20, 2009

Now, I don’t usually drop a post this scant, but I had to post this picture:

Looks so much cooler than the screenshots, right? I think so. As you were…

Edit: Tweaked my eee’s XP install so it automatically logs in to a new account which has IcyEwe as the default shell instead of Explorer, now the machine boots right to the tracking app when you turn it on. Awesome!

h1

GPS Tracking via SMS

July 19, 2009

I planned this way back when I was messing with GPS and SMS stuff before, but now I’ve actually done it. Kinda showed myself up a little, though, I wrote it (mostly) from scratch and it took me a matter of hours. Last time I tried to base it on other GPS/GSM modem code I’d written and it failed miserably – all hail threads.

Basically what this app does is tracks a laptop (currently, I *may* port it to a phone or two, if I learn how) and sends the co-ordinates to you via SMS upon request. Simple, really. The code is almost release-worthy, actually, so this time I just might drop a RAR for people to mess with. Needs a little tidying up and some better commenting, but it seems like something which might be useful, I dunno.

I did have an idea, though, while writing this. I thought about how to interpret the latitude and longitude and how to turn that into a street name or local landmark, but there doesn’t appear to be an easy way to do that. Next I considered I’d need some kind of database or map… or map, that was it, why not somehow pump the co-ordinates into TomTom or some other GPS app for realtime tracking? I already know how to simulate a GPS unit, right? There are several issues/points to this, but I’ll try to run through them quickly…

1) Handheld realtime tracking would be like, totally excellent, dude. Phone, perhaps?
How to get the data in, though? Via SMS is too slow and expensive so a data connection would be preferable. I think a GPS simulator with the ability to feed data in through TCP would be a good start, though I don’t do any Windows Mobile stuff (the only platform I have a real device for) yet. More than possible, though, if you throw in a virtual serial cable too.

2) How to get the data from the tracker?
Well, at present the app only spits out data via SMS, but again I think mobile data would work (for low resolution tracking, it doesn’t have to be super fast/low latency).
Maybe costly, though, and signal issues may crop up depending on where the tracker ends up.

3) This is a Windows app.
Right now, it’s a Windows app. Yes, desktop Windows. The kind which usually runs on a laptop which has a battery life of about 3 hours and is about as inconspicuous as an elephant shaped tank firing luminous paintballs from its metallic trunk. Could be crammed into a portable device, though, as long as it has a GSM modem (or HSDPA modem, better for data) and GPS of some description. Would need retooling for Windows Mobile (and certainly for any Linux platform – I may or may not ever get around to learning Python, we shall see).

4) I lost my train of thought, but I think I covered everything.

That’s about that for now, hopefully I can clean up the code and dump it somewhere for folks to play with. My track record here is not spectacular, so don’t get your hopes up, but we shall see.

h1

Online TV Station: Take II

July 9, 2009

So my last post was about an app I was trying to bash together to make some kind of basic (primative, even) online TV station. While essentially just a video player with a playlist so far, with a few useful extras like lower thirds and graphics, it sort of does the job. Sort of. It’s missing some really vital stuff, like the ability to stream the video it’s playing straight out to a server. Even so, I’ve had a couple of requests to write up a rough outline of how I’m accomplishing my tests now and how I have done so in the past… so let’s take a trip back in time, maybe a couple of years… *wobbly lines, fog effect*

Way back when IPTV and independant media was having its boom, I decided I wanted in, I wanted some of that action. The idea of running a radio or TV station has always interested me, from the very moment I conceived that it might be possible, and right now seemed to be as good a time as any as independent media online had never been easier. Throw my interests in tech into the mix along with a selection of awesome shows guys in their basements were pumping out and the lack of decent tech content on TV, I knew I had to try and combine them all. I tried to make an app which simulated a set top box much like a satellite or cable box, but that failed miserably, I just wasn’t good enough at coding then, I really had no idea. I had to find another route, I did a few tests, played with some hardware and some software and I threw together what I saw at the time as being a very good idea. Not great quality by today’s standards, but from what I saw of what other people were doing, I thought it was right up there, the kind of stuff you see people do months or years later and thing “yeah, I did that!”.

Anyway, basically my setup was a graphics card with TV out acting as a second monitor, a hacked up selection of cables and converters switching the graphics card’s S-Video out to a composite signal so I could feed it back into my capture card. This was my video. The audio was simply the audio I was hearing from my speakers captured via Windows’ own mixer. Not spectacular, but it worked. For on screen graphics such as audio show slides I set the wallpaper on that second monitor to images showing the channel and/or show name, along with extra information like track titles for music and suchlike. Not technically spectacular, but it was functional and it did what I needed. I ran a few reasonably popular (considering my test audience) shows, and then it sort of fizzled out.

Fast forward to now, the IPTV Archive has inspired me yet again. No longer does my ageing capture card work, it’s just simply too old to have a functioning driver for Windows Vista or Windows 7 64bit. Shame, but that’s how it goes, it’s an ancient card and I couldn’t expect it to be supported. Anyway, that’s a problem, because it means my old method won’t work. Not only that, but I want the outcome to be a bit more useful, a bit more professional in appearance (even if the methods used are far from it). I want more than a few static slides on my desktop, I want full flowing video with lower thirds, idents, playlists, custom crap out the wazoo. Think Tricaster, but much much much much much much lower budget. Oh, and maybe without the cheesy transitions. So that was my target. Did I manage to hit it? Well, sort of, but it’s a work in progress. I’m still using my desktop, that hasn’t changed, but this time instead of using my TV out I’m using a free app to capture it. I can set the region of my desktop to capture, so that’ll be the output of my video player app. Just dandy. Now though, I can’t capture my audio the same way I used to either. I got around that by having 2 sound cards which I just so happened to have installed already. Audio out of one, into the other, captured from the line-in and also played back to me as it happens. Again, not high tech or perfect by any means, but I’m cheap and I like to work with what I have available. The captured desktop video and the line-in audio is pumped out to Ustream with Flash Media Encoder (both also free).

Am I done? Well, no. While I won’t be able to run this setup for any reasonable length of time due to my machines being turned off at night (or whenever I’m not in front of them, that’s more accurate) and my limited bandwidth, I’d definitely like to improve the arrangement. I doubt that I’ll be able to make a fully fledged streaming server app, though it would be nice, because I’m just not that good at heavy duty coding. I like simple, I like functional in as little time as possible but I don’t mind the lack of extras. Still, I have lots of room for improvement and hopefully that’ll come with time. I could set up a dedicated box but this setup barely works on my main desktop, it’s very resource intensive between the flash encoding and the video capture. Using Flash Media Encoder rather than the regular Ustream streaming stuff definitely improved resource usage but probably not enough. If I can somehow swing it I’d love to be able to turn this into a proper, distributable system which people could use to run their own TV station, if only to allow someone with better machines and pipes than mine to accomplish what I’m struggling to do. I know there are alternative methods, I don’t have to write my own app for instance, but I’d like to because I know a custom app could be a whole lot more appropriate than VLC or WinAmp, they’re just not designed for this kind of stuff. My app is a little buggy right now, I have to admit, it will crash if you play a format it doesn’t like and silly things like that, but I’m using DirectShow at the moment and it seems a little sketchy, I just need to get around to adding error handling and all that fun stuff. Another issue with DirectShow is I can’t find a way to easily draw over it (which I need for on screen graphics) so I have to use some hacky workaround which makes my life harder when it comes to capturing the whole thing. Maybe I’ll switch to some other method, I don’t know yet, we’ll see. Other options might be an embedded Windows Media Player window or a VLC ActiveX control. The whole thing’s still very much an alpha-level proof of concept right now though, as often is the case with my projects, I like to see if I can make it happen then clean up afterwards if I’m still interested.

Anyway, that’s a rough outline, hope it’s answered some questions people had, if not feel free to drop me any further questions in the comments and I’ll see if I can’t give you some kind of useful response. Catch you all next time, thanks for reading.

h1

(On A) Roll VT!

July 3, 2009

So between myself and a few other guys (yo Famicoman, Shinmaryuu), the idea of an IPTV station has been batted around. This would be a sort of online TV station consisting of old IPTV shows. Before I attempted to make something akin to a set top box type app (think cable/satellite box software) and that didn’t really get any further than testing menus. This time around I’m reformatting it a bit, and I’m messing with the idea of an app which could run a TV station from a collection of video files (idents, shows, whatever) and overlay simple graphics (lower thirds and such). Now, I’m not sure if this’ll ever get anywhere and I don’t know if it’ll ever be useful to the point of release so I won’t promise anything, but I just thought I’d mention I’m doing it. Maybe someone could do it better than me and this post will be inspiration, I dunno, but here’s a couple of pics anyway:

The purpose of the app would be to take a playlist of videos, a playlist of idents (or ads, if required – I know, I know, I don’t like them either…) and lower thirds (with the ability to time them according to a video, perhaps?) and basically assemble a TV station out of them. My original thought was to have it pump that all out into a virtual capture device for easy piping out to Stickam, Ustream, Justin.tv or just about any other webcam streaming site but it turns out that’s quite difficult. You could use a 3rd party app to do that bit for you, but it’s kludgey and really not particularly professional. Still, we shall see what happens, I think it’s a good idea, maybe it could go somewhere.

As you can see, it’s not very advanced and still very very buggy (see the extra crap above/below the widescreen Diggnation video?) but I’ll probably just tweak it until it either does something useful or I get bored and give up.

h1

Progress, kinda.

June 20, 2009

Small update on the GSM/HSDPA/modem app thing front, a couple of pics and an idea for potential development… First off, the pics:

Above: Raw control:
Added the ability to control the modem directly using AT commands if the app doesn’t have a button for a particular feature. Also added a Rescan button to manually scan for networks (it’s the “Scanning…” button just above the network list, it’s currently scanning).

Above: Wikipedia:
Experimental Wikipedia searching for networks, so if you want to know more about the network you’re connected to or about to connect to, right click it and click the Wikipedia option and your browser should provide you with all you need to know.

A couple of new features, then, and a few bugs fixed (the network connection notification always showed the signal strength as poor) and a few not fixed yet (not all network/status info is parsed sometimes, I think it has something to do with the order of the serial data). Slightly more interesting, though, is an idea I had to make technical use of this stuff, and that’s the idea of a GPS-enabled GSM signal mapper. Basically, you fire up an app and walk/drive around and let the app log network info and signal strength along with GPS data so you know where the signal strength is strong, weak or just plain not there. Think of it like NetStumbler for GSM networks. Whether I’ll ever get around to adding that (or more likely, creating a whole new app for it, since this one’s already pretty cluttered) I don’t know but it’s definitely something I could think about for a future use of what I’ve learned here.

h1

3… 2… 1… and we’re back.

June 19, 2009

I know, I know, I haven’t posted in ages, I’ve been rotating projects as I often do so blogs took a bit of a back seat for a while. Anyhow, that’s largely irrelevant, ‘cos I’m back with a new project!

So first off, just as an intro, who’s ever used a 3G modem by some random Chinese company they never heard of before? Right, and how many of you looked at the software it came with and thought “I’ve seen 5 year olds do better than this with Super Shareware Button Maker 4.2 and Visual Basic 3″? Uh-huh. Well, me too, and I thought it was about time I tried to better those dodgy diallers, so I broke out the HSDPA modem and pulled up the compiler.

Turns out, it’s actually not that hard to talk to the modem, but there’s a lot of control data to be flung back and forth and it’s not necessarily labelled either, so for example when you ask the modem who its creator was, it doesn’t mess about, it just spits the data at you. Here’s how that works out in real life:

Me:

“Q1: Sent that SMS yet?

Q2: Can you dial this number for me: 01234 567890?

Q3: So who made you, anyway?”

Modem:

“A1: Sure, I sent it a few seconds ago.

A2: I certainly can dial that number, just a moment… Huawei”

Sure, so now I know that the SMS has been sent, and I know that the number is being dialled, except the answer to question 2 had garbage on the end and it didn’t even bother to answer question 3… except it did, it just didn’t bother telling me that the “garbage” on the end of question 2 was actually question 3’s answer. So that’s a whole ton of fun to deal with right there.

Anyway, so eventually I got the hang of enough of this stuff to make the app send and receive SMSs via my not-so-verbose modem friend, and that’s a great start. How do I use it as a modem? I haven’t got that far yet.

Here’s some pictures before I segue off this topic a bit and explain where I might go next, in order of chronological development:

Above: First attempt:

Signal meter and operator name.

Above: Enhanced version:

Connection popup, some basic design and a couple of technical details about the connection.

Above: Further improvement:

More info and the beginnings of manual network selection.

Above: SMS:

Basic SMS sending/receiving. The cow pattern on the left is where your own number is, the one on the balloon popup is the number received SMSs are from.

So that’s what I’m working on right now. What’s next? Well, as you’ve probably seen (or will see, now I’ve mentioned it), I did some GPS stuff at some point and really rather wanted to build some kind of J2ME app to combine a phone with bluetooth and a bluetooth GPS to make a basic GPS tracker. Now, the flaw in that plan was the fact that I don’t know, and probably won’t ever know, any Java but now I know I can control my GPS and my modem from my own applications I can pick up the idea again. Granted, a laptop isn’t the best piece of tiny stealth kit in the world, but it’s more just to see if I can than some secret corporate espionage mission.

To further that, if I ever get around to playing with microcontrollers and stuff, it turns out that all of these devices are actually mostly serial based, they just have an interface tacked on the end so we’re not still using 25pin serial ports. USB to serial, Bluetooth to serial, they all use ‘em. This is an advantage, though, because it means you can (relatively) easily interface them with a homebrew electronics project. Given a good battery, a half decent hobbyist development board and a selection of electronics I’m pretty confident that it’d be possible to make a self-contained GPS tracker with SMS capability for not that much money. Throw in a couple more dongles and whatnot, you could end up with a Bluetooth-discovering GPS tracker with the ability to sniff RFID cards. In my head this is all simple, in real life it may not be, but it all makes sense to me. If it’s got serial, you can use it.

In the meantime though I’ll just have to stick with Windows on an x86/64, Visual Basic, a couple of USB ports and a Bluetooth dongle. Far from useless though, just not stealthily portable. Keep an eye out for my (undoubtably large and indiscrete) future posts on the topic!

h1

Bored of all those tech-lite shows?

April 26, 2009

Well then, while I’m sucking hard at updating my blogs, here’s a show I recently came across to keep you all entertained.

Fat Man and Circuit Girl is not, as the name might suggest, a comical caped pair fresh from their cartoon adventures against the evil Jockman bent on making the world completely and utterly stupi…

…wait, wasn’t I doing something…?

Oh right, yeah, the show… basically it’s a nerdy hacking brainstorm session in video form, it’s what you always wanted from a hacking show, it’s what you and I do on a daily basis to solve our little problems and overcome random challenges we come across. Even (and especially) if they don’t need to be solved or overcome. Anyway, there’s a little something for everyone from electrified brass horns, a bookcase door and a funky music-recording floppy drive to unicycle gears, C64s and FPGAs, kinds of wonderful other stuff, far too much to list here. A plethora of concepts and DIY devices fresh from the minds and workshops of George and Jeri (Fat Man and Circuit Girl respectively) to inspire and light a fire under every curious DIYer, modder, hacker or bored nerd the world over. Enough of my babbling, I fail at describing shows… besides, you’ve got some episodes to catch up on. Get to it!

h1

I For One…

April 13, 2009

…welcome our new blog syndication overlords. Welcome to cmdline.tv one and all. If you’re there now then hi, if you’re not then go take a looksee, ‘cos not only does it include my random technical ramblings it also includes blogs from all over the uh… well, from a bunch of people I know who are almost as cool as I am pretty cool too. A veritable tossed salad of ideas and scribblings from great minds I’m sure you’ll all enjoy along with the random crap you know and love from The Moonlit Code. Bon voyage technologique!