Detecting presence with Moteinos

Started by Felix, December 01, 2014, 10:40:36 PM

Felix

This is somewhat related ... someone contacted me a few days ago asking if Moteino could be used to detect when people enter/exit a room (he needed to replace a RFID system that was getting expensive). I can think of a possibility using RSSI triangulation but that gets complicated. Other than that I can't find a way to detect presence in a certain location using only the transceivers. Adding GPS is of course overkill and too expensive. Anyone have other ideas?

TomWS

Quote from: Felix on December 01, 2014, 10:40:36 PM
This is somewhat related ... someone contacted me a few days ago asking if Moteino could be used to detect when people enter/exit a room (he needed to replace a RFID system that was getting expensive). I can think of a possibility using RSSI triangulation but that gets complicated. Other than that I can't find a way to detect presence in a certain location using only the transceivers. Adding GPS is of course overkill and too expensive. Anyone have other ideas?
It might be worthwhile moving this to a new thread as it might be an interesting conversation in its own right, but the first 'solution' that comes to mind is using BLE (Bluetooth Low Energy), not Moteinos, for this.  Virtually all cellphones would provide the client side for free (the person walking into the room) and RSSI would tell you how close they are.  Authentication could be easily handled as well, at least, from the point of view of the phone being authenticated (someone could access the room with a stolen phone).

Felix

I think the person was trying to make sure he accounts for all people entering and exiting the room. So maybe this was some kind of badge detection with RFID before and was hoping for a cheaper/better solution. I wonder if all the people have BLE in their pocket and if all would allow their BLE to be registered.

TomWS

Anyone carrying a cellphone made in the last 3 years has BLE 'in their pocket', the question is, would they load the app that talks to the room BLE server?  The server itself could easily keep track of a moderate list of authorized clients (SWAG at 100 or so), but going beyond this or tying into a company database would require some moderate amount of work. 

I wouldn't be surprised to see this appear as a product in the near future, if it doesn't exist already.  Certainly an Apple based iBeacon type of system would be easy if all your employees had only iPhones  :P

By the way, the RFDuino dev kit is reasonably inexpensive, works fairly well, and ties into an Arduino IDE fairly easily.

TomWS

Quote from: TomWS on December 02, 2014, 09:17:07 AM
<...snip>
By the way, the RFDuino dev kit is reasonably inexpensive, works fairly well, and ties into an Arduino IDE fairly easily.
One additional observation:

The Achilles heel of the RFDuino is the severely limited number of I/O on the module.  HOWEVER, if you treated the radio module in a way similar to the RFM69 mounted on a Moteino board (without the RFM69, of course), then you'd have a decently powerful and useful BLE server...
You'd have to scope the cost of this vs a BlueGiga or something like that...

Richard

You need not pair with a client to detect presence.  Both WiFi and Bluetooth have MAC addresses that are detectable just by listening passively.  Using triangulation, you should be able to provide location within an area.  Most phones have WiFi even if they don't have Bluetooth, and neither is commonly turned off.
The question becomes whether the libraries provided by these radios expose enough detail to support doing this.
Cheers,
Richard

Felix

The libraries are usually barebones and provide basic functionality to do comm, things like triangulation can be added in secondary libs. I have no experience with triangulation and have no idea how accurate it can be. The person was wanting to know if a person entered/exited through a door, so it's a pretty localized point. With triangulation I think the signal strength is essential and in a highly variable environment where there could be no people or 100 people in a room, I imagine the signal can vary vastly and hence I tend to believe that will not be the best way to do this.