Ambient bus arrival monitor from hacked Linksys WRT54GL
blog.jgc.org
blog.jgc.org
Unfortunately it makes me sad to see so nice ways of using the public transport data - and having it not available everywhere where I'd care.
In Cologne/DE I actually sent mails and calls to a bunch of contact addresses (both technical and marketing/customer service) and tried to get access to similar data for the bus and subway lines. They .. don't get it. Open data seems to be scary..
Well done, this project is technically interesting and looks decent enough to sit in a room that is partially controlled by my SO _and_ it's useful. Full points.
ps Great hack John!
That guy somehow figured out how to get the data for a lot of cities, Cologne being one of them. Maybe he knows how to get it.
Some of the techies behind those sites were kind enough to provide him with a url parameter so they know where the spike in traffic comes from.
In addition, all he got is the non-live data. In the article the live data from every bus station is used.
Here in the Netherlands lots of the tenders/contracts contain provisions for providing the data to "regional or national transport planning systems", which is a very vague stipulation, and it's still hard to get data providers to provide the data.
A great site for GTFS based data (maybe including your city?) is http://www.gtfs-data-exchange.com/. Use data from it and https://github.com/openplans/OpenTripPlanner/wiki/ to build a trip planner for your city in an hour.
http://groups.google.com/group/massdotdevelopers/msg/7cab0ae...
I never produced more than the one prototype. Maybe I should do a kickstarter to see how many people would want one.
It also occurs to me the extent to which software can squeeze every ounce of power and performance out of even old hardware, but requires time to evolve and optimize (the last 20% of performance/reliability requires 80% of the work, but makes a big difference). Hence, this 2004 router is better than any other router I've owned since then. And I'm not alone in that assessment, as positive reviews are still rolling in weekly [5][6].
In Bill Gate's day, 640k was enough for any good programmer. Eg, systems were hardware bound. But now that appears reversed, and in many cases systems don't reach the hardware's limits simply because the software isn't given enough time to evolve and optimize. By the time the software gets to, say, 80% of the hardware capability, the model is discontinued for a shiny new one, but with software that's starting over again on a new platform.
Thankfully that's not always the case, as with this router, or all of Apple's products for instance.
1. Tomato: http://www.polarcloud.com/tomato
2. Tomato speedmod: http://touristinparadise.blogspot.com/2008/04/linksys-wrt54g...
3. OpenWRT: http://openwrt.org/
4. DD-WRT: http://www.dd-wrt.com/
5. http://www.newegg.com/Product/Product.aspx?Item=N82E16833124...
6. http://www.amazon.com/Cisco-Linksys-WRT54GL-Wireless-G-Broad...
What I'm doing is similar to what you are (as far as I know, anyway, I'm pretty new to Lua), which is just opening and writing to the socket. I can get/send text, but I'm wondering if there's some other mysterious setting I need to change for it to work. Also, since this is serial over USB, I'm not sure if it's the same thing at all, actually...
The stty being used is the command line program. You can find it on any regular Unix box. It is used to set baud rate, stop bits and similar details, not to do the actual communication which should work just fine once the parameters have been set correctly.
In my Lua code, for example, I have to pause a bit every line, otherwise it hangs. I'm wondering if that's normal.
One could hide Raspberry Pi devices on the buses that are programmed to geolocate using Wi-Fi networks along the bus route and then opportunistically use any open Wi-Fi networks to upload their current position.
Maybe it could work by cheating (e.g. sending UDP packets to multiple common IPs of routers, like 192.168.{0,1,2,3}.1, without waiting for DHCP), but the auth frame exchange alone would probably take too much time.
[Edit] Direct link for North America http://www.nextbus.com/predictor/agencySelector.jsp
I've been very interested in mobile bus times, so I built better mobile sites for live bus times from:
Oxford - http://www.oxbus.co.uk
and
London - http://londonb.us
They both harvest live bus arrivals data from the relevant providers, then send it out based on the user's location - basically, it's a really quick and easy user experience when you're out and about and want to know how long until the next bus at a nearby stop.
Does Lua really have no way to put the current thread to sleep? does that busy loop affect the routers capabilities to route?
Imagine a display that is pre-configured with their router for your address. That definitely would get press coverage.
Maybe something like a beaglebone with half the MHz would be good.
I've been using TP-link 703n for projects - wifi, USB, Ethernet, and about 2x the storage of a wrt54gl. Different archtecture so half the packages under openwrt are missing.
- some lowcost TP-link wifi routers that can use openwrt / ddwrt like the one you used [1]
- a Buffalo router that seems to ship already with ddwrt, and of course you can upgrade it too to newer versions [2]
- the Miktrotik Routerboard devices, really lowcost but runs a modified linux os so I dont think they're ok for you (afaik you can just do some scripting) [3]
- many appliances that can run pfsense but are not so cheap[4]
I'm still tryin to understand, if I choose a wrt solution, what's best between openwrt and ddwrt (it seems there are sometimes problem with wifi not working etc..)
[1] http://www.tp-link.com/en/products/details/?model=TL-WR1043N...
[2] http://www.dd-wrt.com/wiki/index.php/Buffalo_WZR-HP-G300NH
[4] http://www.applianceshop.eu/index.php/firewalls/opnsense/opn...
What are you tying to build? You might try a routerstation (pretty buff for a router) or even PCEngines Alix (which is x86 geode based and has a LOT more ram and uses CF for storage.)
Example: http://www.ebay.com/itm/PC-Engines-Alix-2D2-Full-Kit-/280832...
Unfortunately, it appears that the Routerstation has been discontinued.
In case its not up...
FYI, I just received the following:
ERROR
The requested URL could not be retrieved
Sorry, we can't open the web page that you requested because the server hosting the web page might be unavailable.
Possible solutions:
- Try again later.
- Contact the web page administrator.
Error Code: 10005