| ... | ... | @@ -4,9 +4,9 @@ |
|
|
|
|
|
|
|
## 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.
|
|
|
|
|
| ... | ... | @@ -16,20 +16,21 @@ |
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
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 sirvepara poder identificarlos.
|
|
|
|
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:
|
|
|
|
|
|
|
|
2. Creación de las estructuras para almacenar el contenido de cada uno de los mensajes definidospreviamente.
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
2. Creación de las estructuras para almacenar el contenido de cada uno de los mensajes definidos previamente.
|
|
|
|
|
|
|
|
4. En el lado del cliente se sigue un proceso similar en el que se crean funciones para enviar losposibles 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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Todos los proyectos siguen una estructura muy similar en la que se inicializan la pila de Bluetooth LowEnergy, los parámetros de conexión y la pila de Bluetooth Mesh. Es en esta última donde se inicializan los distintos modelos según el rol que cada nodo va a desempeñar dentro de la red. Por último, se compruebasi el nodo ha sido ya aprovisionado y si no esperará hasta que se incorpore a la red para poder llevar acabo su función principal.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Todos los proyectos siguen una estructura muy similar en la que se inicializan la pila de Bluetooth Low Energy, los parámetros de conexión y la pila de Bluetooth Mesh. Es en esta última donde se inicializan los distintos modelos según el rol que cada nodo va a desempeñar dentro de la red. Por último, se compruebasi el nodo ha sido ya aprovisionado y si no esperará hasta que se incorpore a la red para poder llevar acabo su función principal.
|
|
|
|
|
|
|
|
|
|
|
|
|
| ... | ... | @@ -38,6 +39,7 @@ 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) |
|
|
\ No newline at end of file |