Este documento propone una solución para el problema de la localización indoor utilizando beacons (dispositivos Bluetooth de baja energía). La solución mapea los beacons y puntos de interés en un grafo, permitiendo calcular rutas entre dos puntos. Esto permitiría guiar a las personas en edificios grandes como centros comerciales mostrándoles la ruta más corta entre su ubicación y su destino.
8. Creo que todo hemos tenido el problema del
supermercado!
9. Pero como lo solucionamos
con Beacons?, si Beacons lo dije!
10. Necesitamos encontrar una manera de
utilizarlos para mapear y crear rutas
Para crear rutas las terminales deben de poder
estar conectados en un orden específico
Estas rutas deben de ser facil de navegar y
rápidas de encontrar
11. Deben de representar “Important Landmarks”
La solución debe de ser lo suficientemente
general para poder ser usada en el chino de
la esquina o en un mall gigante
14. De esta señal podemos obtener esta
información:
Broadcasting Power
RSSI
Measured Power
15. Broadcasting Power
El poder con el que el transmite su
senal.
Se puede modificar, y entre mas alto el poder
mas larga la distancia que la senal recorre
16. RSSI
Es la fuerza de la senal del visto por
el dispositivo.
Entre mas distancia aya entre el dispositivo y el
mas grande el RSSI
17. RSSI
Se utiliza para estimar la distancia que hay
entre el dispositivo y la terminal…
18. Measured Power
Viene calibrado de fábrica e indica cual es el
RSSI esperado a 1 Metro de distancia.
Convinado con el RSSI esto nos deja estimar la
distancia entre el dispositivo y el
19. Ahora que ya sabemos que contiene nuestros
Continuemos!
28. Grafos
Consiste en una serie de nodos(Nodes)
Unidos por conexiones llamadas arcos (archs)
Actualmente son muy utilizados para muchos
tipos de problemas
29. La internet, redes computacionales!
Redes Sociales
Mapeo de carreteras
Dating sites
Sitios de compra(Amazon)
Etc, todo utiliza grafos
30. Son especialmente buenos para encontrar cosas
como el camino más corto (Shortest Path) entre
N puntos.
45. Que es Neo4j
Neo4j is an open-source NoSQL graph
database implemented in Java and Scala
The source code and issue tracking are
available on GitHub
Lots of support
56. Cypher
Cypher es el lenguaje que se utiliza para hacer
queries a una base de datos de Neo4j (Como
el SQL para Oracle)
Similar a SQL en varias cosas
Es simple pero bien poderoso
Declarativo, describe que encontrar no como
encontrarlo
57. Create
CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99 })
CREATE clause to create data
() parenthesis to indicate a node
ee:Person a variable 'ee' and label 'Person' for the new
node
{} brackets to add properties to the node
58. Match
MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee;
MATCH clause to specify a pattern of nodes and relationships
(ee:Person) a single node pattern with label 'Person' which will assign matches
to the variable 'ee'
WHERE clause to constrain the results
ee.name = "Emil" compares name property to the value "Emil"
RETURN clause used to request particular results
64. Demo de WS en node
http://witt.herokuapp.com/shortestpath/from/22-1/to/22-16
65. Recapitulemos
Podemos crear relaciones entre terminales
fácilmente
Podemos obtener rutas entre estas terminales
Debemos asociar terminales a puntos de
interés por ejemplo:
67. En conclusion
Podemos saber donde se encuentra la persona
por medio de el beacon más cercano
Podemos saber donde la persona quiere ir por
medio de el beacon de destino
Podemos saber cual es la ruta que la persona
debe de tomar para llegar de la manera mas
rapida a su destino
68. Lo que falta! (No me dio tiempo)
El último paso es mostrar esta información
69.
70. Pros
Ataca un problema real de miles de personas
Para cualquier comercio esto seria un perk
bastante grande
Se puede mapear cualquier estructura con
esto, malles, supers, estadios, etc
La cantidad de beacons necesarios es
relativamente menor comparado a otras
soluciones
71. Pros
La relación entre los beacons y los puntos de
interés puede estar en cualquier lugar(Parse,
Mongo, Oracle, Access, etc)
Las relaciones y los paths de beacons se
encuentran centralizados en otra base de
datos
El mapeo de los beacons y sus mapas puede
estar en otro sistema independiente.
73. Cons
La tecnología es muy nueva y poco probada
Con beacons todo es una estimación, la señal
puede fallar, pueden haber paredes, techos,
personas que causen interferencia etc
Ocupa bluetooth e internet
Hay competencias en el mercado
76. Principal diferencia
Estas tecnologías usan triangulación para saber
donde se encuentra el dispositivo
Para esto debe de tener conexión a mínimo 3
beacons durante todo momento para funcionar
77. La idea propuesta solo necesita conexión a 1
Beacon para ser mostrado en el mapa.
Se mostrará la ruta en el mapa y la persona
debe de saber donde esta arriba, abajo derecha
izquierda basándose en su propia lógica(duh!) y
navegar la ruta mostrada en el mapa.
78. Con lo propuesto no sabemos facilmente donde
exactamente esta el dispositivo y que direccion
lleva
Comentarios??