I'm writing an app for a museum tour. I'd like my app to know where the user is in the building, if the user is standing in a particular room, in front of a particular work, etc.
GPS doesn't work inside. (Using WiFi positioning could work, but I know Apple doesn't use Skyhook anymore, so I don't know where I would register my base stations.)
Since GPS won't work, it would seem like having a specialized device in a known location and having the app detect that device, could work. But based on my research, this doesn't look easy, either:
• There's no way to detect nearby WiFi base stations because Apple doesn't allow querying for base stations via public APIs.
• Finding a device via Bonjour only works if the devices are already on the same WiFi network. And the Guest's phone won't be on our WiFi network.
• GameKit...hmm...don't yet see an angle there.
Does anyone have ideas on how this could be implemented?
Thanks!
Here's an idea. Instead of having the phone find its location, set up multiple Bluetooth devices. Have a computer determine which Bluetooth devices can see the phone and what the signal strength is, then use that information to determine where the phone is.
Or you could just have BT devices at each of the exhibits and figure out which one is closest to the user.
Here's a ridiculous idea: set up speakers around the building emitting high pitched pings beyond audible range. Each speaker would emit a unique sound which can be identified and triangulated.
With enough DSP it just might work. I'd feel sorry for any dogs and cats and teenagers in the vicinity though.
Or you could try deploying your own GPS stations -- but I'm willing to bet that you'd get a visit from men in black trench coats arriving in an unmarked van.
I went to a museum where they used a different approach.
At each location, the phone user texted a code to a number, and received a text message.
Perhaps you could do something like that.