Indoor Positioning System with iBeacons

80

Transcript of Indoor Positioning System with iBeacons

Page 1: Indoor Positioning System with iBeacons
Page 2: Indoor Positioning System with iBeacons
Page 3: Indoor Positioning System with iBeacons
Page 4: Indoor Positioning System with iBeacons

Encontremos otro uso práctico a los Beac…. digo..., Terminales de

proximidad

Page 5: Indoor Positioning System with iBeacons

Pero que??

Page 6: Indoor Positioning System with iBeacons

A ya se!!

Indoor localization!

Page 7: Indoor Positioning System with iBeacons
Page 8: Indoor Positioning System with iBeacons

Creo que todo hemos tenido el problema del supermercado!

Page 9: Indoor Positioning System with iBeacons

Pero como lo solucionamos con

Beacons?, si Beacons lo dije!

Page 10: Indoor Positioning System with iBeacons

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

Page 11: Indoor Positioning System with iBeacons

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

Page 12: Indoor Positioning System with iBeacons

Pero primero que todo.!

Que se un ?

Page 13: Indoor Positioning System with iBeacons

Es simplemente un dispositivo que da una señal de radio !

Page 14: Indoor Positioning System with iBeacons

De esta señal podemos obtener esta información:Broadcasting PowerRSSI Measured Power

Page 15: Indoor Positioning System with iBeacons

Broadcasting PowerEl 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

Page 16: Indoor Positioning System with iBeacons

RSSIEs la fuerza de la senal del visto por el dispositivo.

Entre mas distancia aya entre el dispositivo y el mas grande el RSSI

Page 17: Indoor Positioning System with iBeacons

RSSISe utiliza para estimar la distancia que hay entre el dispositivo y la terminal…

Page 18: Indoor Positioning System with iBeacons

Measured PowerViene 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

Page 19: Indoor Positioning System with iBeacons

Ahora que ya sabemos que contiene nuestros

Continuemos!

Page 20: Indoor Positioning System with iBeacons

Lo primero es estudiar un super!

Page 21: Indoor Positioning System with iBeacons

Mi version de super! El Christophmark!

Page 22: Indoor Positioning System with iBeacons

Como lo mapeariamos con Terminales?

Page 23: Indoor Positioning System with iBeacons
Page 24: Indoor Positioning System with iBeacons

Con este mapeo podemos crear rutas, rutas de movimiento.

Page 25: Indoor Positioning System with iBeacons
Page 26: Indoor Positioning System with iBeacons

Pero que podemos usar para representar esta relaciones?

Page 27: Indoor Positioning System with iBeacons

Grafos

Page 28: Indoor Positioning System with iBeacons

GrafosConsiste en una serie de nodos(Nodes)Unidos por conexiones llamadas arcos (archs)

Actualmente son muy utilizados para muchos tipos de problemas

Page 29: Indoor Positioning System with iBeacons

La internet, redes computacionales!Redes SocialesMapeo de carreterasDating sitesSitios de compra(Amazon)Etc, todo utiliza grafos

Page 30: Indoor Positioning System with iBeacons

Son especialmente buenos para encontrar cosas como el camino más corto (Shortest Path) entre N puntos.

Page 31: Indoor Positioning System with iBeacons

DijkstraEdsger W. DijkstraCientifico Holandes En 1972 recibió el premio Turing por sus contribuciones

Page 32: Indoor Positioning System with iBeacons

DijkstraDesarrolló un algoritmo para encontrar el Shortest Path en grafos con peso

Page 33: Indoor Positioning System with iBeacons

Quien lo quiere explicar??

Page 34: Indoor Positioning System with iBeacons

Encontremos el shortest path de A a Z

Page 35: Indoor Positioning System with iBeacons

Lo primero es poner el costo de todos los vértices que no son el de Origen a infinito y el costo de A a 0

Page 36: Indoor Positioning System with iBeacons

Despues buscamos cual es el siguiente vertice que tiene un costo menor y lo guardamos en nuestro Path.

Page 37: Indoor Positioning System with iBeacons

Despues de que seleccionamos el menor , actualizamos todos los demás vértices.

Page 38: Indoor Positioning System with iBeacons

Y repetimos!

Page 39: Indoor Positioning System with iBeacons
Page 40: Indoor Positioning System with iBeacons
Page 41: Indoor Positioning System with iBeacons
Page 42: Indoor Positioning System with iBeacons
Page 43: Indoor Positioning System with iBeacons

GraphsPodemos representar grafos de muchas maneras

-Arboles binarios-Hash Tables-Diccionarios, etc

Page 44: Indoor Positioning System with iBeacons
Page 45: Indoor Positioning System with iBeacons

Que es Neo4jNeo4j 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

Page 46: Indoor Positioning System with iBeacons
Page 47: Indoor Positioning System with iBeacons

Editor

Page 48: Indoor Positioning System with iBeacons

Conceptos básicos del editorCreemos un grafo de amigos en NEO4j

Page 49: Indoor Positioning System with iBeacons

1.Agreguemos un nodo2.Pongamos Emil en nombre3.Y es de Suecia

Page 50: Indoor Positioning System with iBeacons

Podemos agrupar nodos por medio de “Labels”En nuetro ejemplo todos los nodos Persona seran anaranjados

Page 51: Indoor Positioning System with iBeacons

Podemos agregar N nodos

Page 52: Indoor Positioning System with iBeacons

Y relacionarlos entre si

Page 53: Indoor Positioning System with iBeacons

RelacionesLas relaciones tienen una direccionLas relaciones tienen un tipoLas relaciones forman patrones de datos

Page 54: Indoor Positioning System with iBeacons

Propiedades entre relaciones

Page 55: Indoor Positioning System with iBeacons

Cypher

Page 56: Indoor Positioning System with iBeacons

CypherCypher 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 cosasEs simple pero bien poderosoDeclarativo, describe que encontrar no como encontrarlo

Page 57: Indoor Positioning System with iBeacons

CreateCREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99 })

CREATE clause to create data() parenthesis to indicate a nodeee:Person a variable 'ee' and label 'Person' for the

new node{} brackets to add properties to the node

Page 58: Indoor Positioning System with iBeacons

MatchMATCH (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 resultsee.name = "Emil" compares name property to the value "Emil"RETURN clause used to request particular results

Page 59: Indoor Positioning System with iBeacons

MATCH (ee:Person) WHERE ee.name = "Emil"CREATE (js:Person { name: "Johan", from: "Sweden", learn: "surfing" }),(ir:Person { name: "Ian", from: "England", title: "author" }),(rvb:Person { name: "Rik", from: "Belgium", pet: "Orval" }),(ally:Person { name: "Allison", from: "California", hobby: "surfing" }),(ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS {rating: 5}]->(ir),(js)-[:KNOWS]->(ir),(js)-[:KNOWS]->(rvb),(ir)-[:KNOWS]->(js),(ir)-[:KNOWS]->(ally),(rvb)-[:KNOWS]->(ally)

Page 60: Indoor Positioning System with iBeacons

Encontremos los amigos de Emile

MATCH (ee:Person)-[:KNOWS]-(friends)WHERE ee.name = "Emil" RETURN ee, friends

Page 61: Indoor Positioning System with iBeacons

DEMO

Page 62: Indoor Positioning System with iBeacons
Page 63: Indoor Positioning System with iBeacons

Ahora que tenemos esto, como conectamos todo?

Page 64: Indoor Positioning System with iBeacons

Demo de WS en node

http://witt.herokuapp.com/shortestpath/from/22-1/to/22-16

Page 65: Indoor Positioning System with iBeacons

RecapitulemosPodemos crear relaciones entre terminales fácilmente

Podemos obtener rutas entre estas terminales

Debemos asociar terminales a puntos de interés por ejemplo:

Page 66: Indoor Positioning System with iBeacons

Demo Parse

Page 67: Indoor Positioning System with iBeacons

En conclusionPodemos 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

Page 68: Indoor Positioning System with iBeacons

Lo que falta! (No me dio tiempo)

El último paso es mostrar esta información

Page 69: Indoor Positioning System with iBeacons
Page 70: Indoor Positioning System with iBeacons

ProsAtaca 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

Page 71: Indoor Positioning System with iBeacons

ProsLa 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.

Page 72: Indoor Positioning System with iBeacons

ProsEs algo que esta por explotar!

Page 73: Indoor Positioning System with iBeacons

ConsLa 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

Page 74: Indoor Positioning System with iBeacons

Otras tecnologias

Page 76: Indoor Positioning System with iBeacons

Principal diferenciaEstas 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

Page 77: Indoor Positioning System with iBeacons

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.

Page 78: Indoor Positioning System with iBeacons

Con lo propuesto no sabemos facilmente donde exactamente esta el dispositivo y que direccion lleva

Comentarios??

Page 79: Indoor Positioning System with iBeacons

Nombre WHERE IS IT?

=

WITT

Page 80: Indoor Positioning System with iBeacons

Cuando le entramos?