Chris and I went down to london and spent the weekend at MASHED08!
It was basically a hacking event where web-hackers from around the country were mashing together various feeds, in particular the stuff from the BBC and Microsoft/Multimap.
We decided we wanted to try and do something a little different by building hardware that interacted with the internet. Here is what we ended up with…
It was the result of our 24-hour hack and an attempt to bring the all the web 2.0 “community” jazz in to the real world; a community based courier service 🙂
Packages have RFID tags. People have readers. You scan a package and using a web app set the destination (click on a map, type an address, whatever). You put the package down. Someone else picks it up and scans it. It connects to the internet (mobile phone network) to find out where it wants to go, and starts pulling you in that direction. No indication of where it is going, just the direction it wants to go. Walk for a while, but now you want to go in a different direction? Put it down and leave the next leg to someone else. Hitch hiking packages!
The Implementation: ARM + RFID + GPRS + GPS + COMPASS + PIEZO + WEBAPP!
You swipe an RFID tag of a package and the micro detects and reads the ID. It then reads the current location using the GPS module and packages that and the RFID id up in to an http request, made to our server over the internet using the GPRS module. The server looks up the package identified by the ID, looks where it is going and using the GPS co-ordinates we sent, calculates the direction you need to go (0-360 degrees, clockwise from north). The server replies to the http request with this direction. The micro then plays a note via the piezo sounder based on the difference between the angle it wants you to go, and the angle we work out from reading the compass on board. Highest pitch = the direction you want to go. A bit like a metal detector, but it’s the package pulling you in the direction.
At any point, someone with the map web front end can see where the packet is (the reader updates the location by continually sending that over the network too, so the ajaxy map keeps that up to date) and change where the package wants to go by clicking – this just updates the database and the next time the package checks which way to go, it’ll get told its new heading.
I kept a log as we developed it, so you can see more of what we did at http://packetnetwork.pbwiki.com/.
It was pretty hard work, great fun and lovely to chat to so many interesting people as they drifted by. We aim to be back next year!