September 21, 2003

Dumping Geo RDF from Garmin GPS units

Having connected my GPS unit to my laptop, it was time to dump the data off into a usable RDF model.

There's a useful RDF Interest Group Geo namespace for describing simple lat/long/alt properties of points, so using
PyGarmin I wrote some code to pull off the waypoints and tracklogs and produce a model like this.

Posted by Matt Biddulph at 07:41 PM | Comments (6) | TrackBack

The PL2303 serial-USB adapter and Linux

A short note to fill in for something I couldn't find via google on getting a PL2303-based serial-USB adapter to work with linux...

Recently I was trying to connect a Garmin Geko 201 GPS unit to my laptop on a 2.4 series linux kernel using a no-brand generic USB serial port cable bought from Maplin.

I encountered the problem described in this post to linux-kernel: the device would work once after boot, then oops the kernel when it was closed. To use it again, I'd have to reboot.

The solution, in my case, was to recompile my kernel (or change my choice of loaded kernel modules) to use the usb-uhci.o module as my UHCI controller, instead of the "alternative (JE)" driver that I had been using.

Posted by Matt Biddulph at 06:47 PM | Comments (4) | TrackBack

September 07, 2003

XML TV Listings in RDF

In preparation for a TiVoBot that I'm planning to write as a wrapper for scheduling digital WinTV recordings, I've been looking at TV listings data produced by tools from the XMLTV project. I started out using the XML directly and storing it using Berkeley DB XML but soon found (like most of my projects) that I'd be happier if the data was expressed as an RDF model.

The current XMLTV DTD turns out to be pretty RDF-friendly in its structure. This XML example looks very similar as RDF (graph). The major changes I made in the translation were in assigning URIs to channels and programme categories, using identifiers such as http://xmlns.com/2003/rdftv/channel#bbc3.bbc.co.uk and http://xmlns.com/2003/rdftv/category/ananova#News/CurrentAffair, and giving the tv data a namespace under http://xmlns.com. The conversion is performed by some XSLT.

Taking a complete TV feed as RDF, I can now write query code using Redland and Python to print out details of all films on TV this week.

Posted by Matt Biddulph at 05:18 PM | Comments (4) | TrackBack