| ... | @@ -4,9 +4,9 @@ |
... | @@ -4,9 +4,9 @@ |
|
|
|
|
|
|
|
## Definiciones:
|
|
## Definiciones:
|
|
|
|
|
|
|
|
### Tipos de Nodos BLE Mesh.
|
|
### Tipos de Nodos BLE Mesh. (Ver Ref: [1])
|
|
|
|
|
|
|
|
- Aprovisionador: Este papel lo lleva a cabo un dispositivo Android o iOS mediante la aplicación nRF Mesh proporcionada por Nordic Semiconductor [9].Se encarga de conectarse a cada uno de los nodos de la red mediante una conexión BLE y de configurarlos de tal forma que todos ellos pertenezcan a la misma red Mesh. También adjudica automáticamente una dirección dentro de la red a cada nodo y permite configurar a qué servidor o grupo de servidores se va a dirigir cada instancia del cliente. En el caso de dirigirse a un grupo, debemos crearlo desde la propia aplicación y suscribir a los nodos que se desee.
|
|
- Aprovisionador: Este papel lo lleva a cabo un dispositivo Android o iOS mediante la aplicación nRF Mesh proporcionada por Nordic Semiconductor. Se encarga de conectarse a cada uno de los nodos de la red mediante una conexión BLE y de configurarlos de tal forma que todos ellos pertenezcan a la misma red Mesh. También adjudica automáticamente una dirección dentro de la red a cada nodo y permite configurar a qué servidor o grupo de servidores se va a dirigir cada instancia del cliente. En el caso de dirigirse a un grupo, debemos crearlo desde la propia aplicación y suscribir a los nodos que se desee.
|
|
|
|
|
|
|
|
- Cliente Para actuar como cliente se utiliza una de las placas Nordic Thingy:52 de Nordic, convenientemente programada. Será el encargado de hacer peticiones al servidor (dispositivo a localizar) o a un grupo deservidores (cuando se busca un conjunto) para conocer el estado de sus baterías. Según el estado de lasbaterías el cliente les responderá con un nivel de alerta más alto o más bajo.
|
|
- Cliente Para actuar como cliente se utiliza una de las placas Nordic Thingy:52 de Nordic, convenientemente programada. Será el encargado de hacer peticiones al servidor (dispositivo a localizar) o a un grupo deservidores (cuando se busca un conjunto) para conocer el estado de sus baterías. Según el estado de lasbaterías el cliente les responderá con un nivel de alerta más alto o más bajo.
|
|
|
|
|
|
| ... | @@ -16,15 +16,17 @@ |
... | @@ -16,15 +16,17 @@ |
|
|
|
|
|
|
|
- Servidor-Proxy Tiene el mismo comportamiento que los servidores pero a su vez incorpora un servicio de Bluetooth Low Energy que utilizará para ir enviando notificaciones a la aplicación Sniffer con el contenido de los paquetes de la red, que es capaz de capturar.
|
|
- Servidor-Proxy Tiene el mismo comportamiento que los servidores pero a su vez incorpora un servicio de Bluetooth Low Energy que utilizará para ir enviando notificaciones a la aplicación Sniffer con el contenido de los paquetes de la red, que es capaz de capturar.
|
|
|
|
|
|
|
|
### Segger Embedded Studio.
|
|
### Segger Embedded Studio. (Ver Ref: [1])
|
|
|
|
|
|
|
|
Para la programación de cada uno de los diferentes nodos se ha utilizado el entorno de desarrollo Segger Embedded Studio [10], junto con los kits de desarrollo software nRF5 SDK [11] y nRF5 SDKpara Mesh [12].Además de la pila de protocolos Bluetooth Low Energy y Bluetooth Mesh, los cuatro tipos de nodosimplementa el modelo: Simple-Thingy Server. Dicho modelo ha sido implementado por Nordic Semiconductor.La implementación de un modelo personalizado para las placas nRF52 se lleva a cabo siguiendo lospasos aconsejados por el propio fabricante:
|
|
Para la programación de cada uno de los diferentes nodos se ha utilizado el entorno de desarrollo Segger Embedded Studio, junto con los kits de desarrollo software nRF5 SDK y nRF5 SDK para Mesh. Además de la pila de protocolos Bluetooth Low Energy y Bluetooth Mesh, los diferentes tipos de nodos implementan el modelo: Simple-Thingy Server. Dicho modelo ha sido implementado por Nordic Semiconductor.
|
|
|
|
|
|
|
|
Siguiendo la Ref: [1], si se desea crear un modelo personalizado para las placas nRF52, se debería lleva a cabo siguiendo los pasos aconsejados por el propio fabricante:
|
|
|
|
|
|
|
|
1. Definición de todos los tipos de mensajes descritos en la especificación de Bluetooth Mesh paraese modelo. Cada uno de ellos tiene asociado un código diferenciador llamado opcode que sirve para poder identificarlos.
|
|
1. Definición de todos los tipos de mensajes descritos en la especificación de Bluetooth Mesh paraese modelo. Cada uno de ellos tiene asociado un código diferenciador llamado opcode que sirve para poder identificarlos.
|
|
|
|
|
|
|
|
2. Creación de las estructuras para almacenar el contenido de cada uno de los mensajes definidos previamente.
|
|
2. Creación de las estructuras para almacenar el contenido de cada uno de los mensajes definidos previamente.
|
|
|
|
|
|
|
|
3. En la parte del servidor se crea una estructura que contenga un callback para cada tipo demensaje que pueda recibir. Será en estas funciones dónde se defina el comportamiento del servidoral recibir las peticiones del cliente. También es necesario un método que nos permita respondera estas peticiones con el tipo de mensaje correspondiente. Por último, necesitamos juntar todo elmodelo en una función de inicialización.
|
|
3. En la parte del servidor se crea una estructura que contenga un callback para cada tipo de mensaje que pueda recibir. Será en estas funciones dónde se defina el comportamiento del servidoral recibir las peticiones del cliente. También es necesario un método que nos permita responderá estas peticiones con el tipo de mensaje correspondiente. Por último, necesitamos juntar todo elmodelo en una función de inicialización.
|
|
|
|
|
|
|
|
4. En el lado del cliente se sigue un proceso similar en el que se crean funciones para enviar los posibles tipos de mensajes. Por otra parte, se definen un handler por cada opcode existente en elmodelo para así poder procesar los mensajes recibidos correctamente. Finalmente también hay quecrear una función para inicializar el modelo en el cliente.
|
|
4. En el lado del cliente se sigue un proceso similar en el que se crean funciones para enviar los posibles tipos de mensajes. Por otra parte, se definen un handler por cada opcode existente en elmodelo para así poder procesar los mensajes recibidos correctamente. Finalmente también hay quecrear una función para inicializar el modelo en el cliente.
|
|
|
|
|
|
| ... | @@ -38,6 +40,6 @@ Todos los proyectos siguen una estructura muy similar en la que se inicializan l |
... | @@ -38,6 +40,6 @@ Todos los proyectos siguen una estructura muy similar en la que se inicializan l |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Links de interés y referencias:
|
|
## Referencias:
|
|
|
|
|
|
|
|
1. [Trabajo de fin de grado: Diseño, implementación y análisis de una red Mesh Bluetooth Low Energy Universidad de Vigo.](http://castor.det.uvigo.es:8080/xmlui/bitstream/handle/123456789/354/TFG\%20Marta\%20Rivadulla\%20Galdo.pdf?sequence=1&isAllowed=y) |
|
1. [Trabajo de fin de grado: Diseño, implementación y análisis de una red Mesh Bluetooth Low Energy Universidad de Vigo.](http://castor.det.uvigo.es:8080/xmlui/bitstream/handle/123456789/354/TFG\%20Marta\%20Rivadulla\%20Galdo.pdf?sequence=1&isAllowed=y) |
|
|
|
\ No newline at end of file |