Getting started with Mesh

Ubudu mesh technology enables regular mobile devices (like smartphones, tablets) to exchange messages with devices which are not in direct proximity and would not be able to connect otherwise.

Messages sent over the mesh network are encrypted and can only be understood by the devices in the network and particularly the receiver. Given that a whole network of beacons can be set up to communicate and pass messages from and to the Bluetooth enabled mobile device.

It is important to note that a Mesh uBeacon still behaves as a regular uBeacon.

How it works

Setup

A network of devices is created by setting two values in each of the beacon:

  • Network Id: This value needs to be shared between all devices which should belong to the same network - It is a UUID value like 969FB06C-43DA-41B6-B3DF-B49691F65FD2 which can be generated by various tools available online and on PC's. The network ID value should be kept secret since if it is known by a third party it can be used to decrypt messages exchanged in the mesh network.
  • Device Id: This value identifies the device in a network and should be unique for each device. The address is a hexadecimal value and has to be in <0x0001, 0x7FFF> range which corresponds to <1,32767> as in regular numbers.

The values can be set up using the Manager app.

Keep in mind that if you want to enable users to exchange messages with mesh network your nodes need to be connectable. Since the beacon is always connectable it is highly advised that a connection password is used to allow non-authenticated devices to connect and send mesh messages but not to reconfigure the device itself.

To set it up manually use our uBeacon manager app or edit the settings online in the Manager backoffice and later apply the online settings with Manager app.

The following steps illustrate the manual process:

1. Connect

Press the connectable button on the device and connect to the beacon you want to configure.
After connecting you will be presented with the beacon settings summary view:

enable_mesh-step_1.png

2. Enter manual edit mode

Tap the icon in the upper right corner which will show the following options on the screen:

enable_mesh-step_2.png

Choose "Manual edit". Use "Apply cloud settings" if you already enabled UART via the manager web interface and want to apply the settings onto the beacon.

3. Go into "Mesh settings"

enable_mesh-step_3.png

4. Go into "Mesh settings register"

enable_mesh-step_4.PNG

5. Go into "Mesh settings register"

Set the following options to on: "Mesh always enabled", "Allow non authenticated connections", "Always connectable". For details regarding each value refer to the "Mesh settings register" section in this article.

Since the beacon is always connectable it is highly advised that a connection password is used to allow non-authenticated devices to connect and send mesh messages but not to reconfigure the device itself.

enable_mesh-step_5.PNG

Sending messages

The process of communication between a node and a mobile device is quite complex and that is why we prepared libraries for Android and iOS to simplify the whole process

For more details on each of them please refer to the iOS Mesh SDK or Android Mesh SDK GitHub repositories.

Mesh settings register

Mesh settings register consists of different options which allow to set up mesh to different requirements.

  • Mesh always enabled - Sets the mesh to always be on and send/receive messages.
  • Allow non authenticated connections - Allows non authenticated users to connect and be able to send and receive mesh messages without the need to authenticate first. This option is useful when password protection has been set up for a beacon - which is highly recommended if a beacon is set to always connectable.
  • Always connectable - Forces the beacon to always accept new connections. It is not a default setting for a beacon so if you want to enable anyone to connect and send messages this option has to be enabled.
  • Enable mesh window - Enabling mesh window will allow mesh to activate once per day for a given amount of time. This setting will apply only when mesh is not always enabled.
    • On hour - Sets the hour when mesh will start working.
    • On time - Time which the mesh should be enabled for

Extending mesh

uBeacon Mesh combined with UART enables a set of really powerful features giving the possibility to connect Bluetooth enabled smartphones to communicate with internet via uBeacons connected to PC's or different devices like Raspberry Pi.

Mesh limitations

Keep in mind that mesh is based on Bluetooth Low Energy and so on it has similar limitations. Mesh is not a solution for sending media files (movies / images). Keep mesh messages as short as possible and do not send longer messages than 16 bytes.