How to detect presence of a smartphone in a room

Hello all,

Say I have one Arduino in each room of my house, how could I do to detect the current room my smartphone is in?

My idea is that I would like to automatically connect my smartphone to the Arduino in the current room, so that a different menu appear on my phone depending of the current room.

I though about bluetooth, and measuring latency to detect which Arduino is the closest, but I think this will fail if the Arduino (or at least the bluetooth module) is not in the center of the room and the smartphone is not close enough to it.

Any idea?

Your smartphone can emit an ultrasonic vibration from its speaker. The people cannot hear it, but an Arduino can be empowered to detect a 24000hz ultra sound.

If you’re using an Android phone, you could do something like have an RFID tag. I know passive tags are supported on most phones now. You may not quite get the effect you’re looking for, but it seems to me like the most practical.

My thinking is that you could network all of your arduinos to a web server, and the tags can just send you to a URL specific to that rooms controller. The nice thing about that is that you can then carry out actions when you’re away from the house too. So you can open and close curtains, turn on and off lights, etc.

The newest Android phones have IR blasters... All the Arduino would need to do is listen for IR from the smartphone, send a datagram to the webserver to identify your location in the house. With a custom Android program running, you could press the icon on the smartphone which would send out the IR which would then load the browser to your home URL. When the Arduino message is processed by the webserver, the server will refresh your browser with a new screen appropriate to current room.

NFC/RFID could be used too if you were willing to pass your phone by a reader ... You could clap your hands and have the Arduino process the echo signature for the room...

I like the idea of ultrasonics proposed earlier... Your pets may not. And, I am unsure if the smartphone speaker can muster ultrasonics.

Thanks for the interesting ideas :)

There are downsides for each methods (also, my phone doesn't have IR), so I will forget this project, I will just select the room manually, it will be faster to switch from a room to another, easier to code, less hardware, and most importantly much less error-prone.