Decoding RDS and TMC
Since the beginning of this year, my partners at vianovis have licensed teleatlas vector-maps and are busy creating pixel-maps for general use; compatible to zoomify and therefore maptech.
Now that i have access to real street maps, i opened my drawer and pulled out an old project of mine: decoding RDS (Radio Data System) and TMC (Traffic Message Channel, = close-to-realtime traffic info) messages from FM transmissions. I had developed this as part of my car-pc project mp3redux as a C++ library on linux, running on a industry pc with custom hardware.

I rechecked my old code and made it work on some logged data. The decoded binary messages were written to a sqlite database, then read by a amfphp service, partially decoded to text and handed over to a flex client for display. Doing some kind of time-lapse simulation, i could see traffic-messages pop in on the map.

This was quite nice for a quick hack, but i want more
:
- decoding messages and storing them in a database
- have clients access a centralized database and let them display all (relevant) traffic info
- have changes propagated to the clients by push
- have a small embeddable client (in flex and AIR)
- have some people use that service
- be able to offer that for all of germany (and who knows …)
Right now, i have converted my c++ library to use a sqlite database for message storage and Location Code and Event Code Lists. This does work very well and small and fast. It even decodes all of my logfiles without segfault.
Next steps:
- find a way to grab a live rds data stream without a dedicated, full grown computer
- implement message livetime properly
- find a messaging remoting server (BlazeDS???)
- create a decent client
Update: please check the demo.
Leave a Reply