This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Hello, how do I get data from nrf mesh network by using many smartphones?

Hi, teams.

I checked the operation of nrf mesh network. (mesh sensor example, and light switch example)

It works well. Thank you!

By the way, I have a question.

If I want to see the data of each phone  by using many smartphones, how can I do that?

(Now I set the publish address to 0x0001 which is unicast address of provisioner.)

I want to make system that many people can see the data together by using their smartphones.

 

Thank you, teams.

Sincerely yours,

Minsu Kim from South Korea.

Parents
  • Hi Minsu, 

    Currently our nRF Mesh app is acting as a provisioner. It's not made as a normal mesh node. So you may need to modify the app to work as a mesh node. 

    In our implementation of the mesh network we also didn't design it so that multiple smart phone can connect to a proxy node (GATT Proxy protocol). We only supports one phone to connect to a proxy node at a time. So if you want to have multiple smart phone to connect to the network you would need multiple proxy nodes. You can modify the proxy firmware to support multiple connection simultaneously. It should be feasible. 

    However, depends on your application, I would suggest to create your own proprietary proxy protocol. This mean your device act as a normal mesh node and a normal BLE peripheral, allowing multiple connection from different phones at the same time. You can just modify our co-exist example in the SDK to support multiple connections. Doing that you don't need to develop your mesh app instead you can just make a normal BLE app. 

    Could you give more information on what data you will handle on the phone and how the phone interact with the mesh network ? 

Reply
  • Hi Minsu, 

    Currently our nRF Mesh app is acting as a provisioner. It's not made as a normal mesh node. So you may need to modify the app to work as a mesh node. 

    In our implementation of the mesh network we also didn't design it so that multiple smart phone can connect to a proxy node (GATT Proxy protocol). We only supports one phone to connect to a proxy node at a time. So if you want to have multiple smart phone to connect to the network you would need multiple proxy nodes. You can modify the proxy firmware to support multiple connection simultaneously. It should be feasible. 

    However, depends on your application, I would suggest to create your own proprietary proxy protocol. This mean your device act as a normal mesh node and a normal BLE peripheral, allowing multiple connection from different phones at the same time. You can just modify our co-exist example in the SDK to support multiple connections. Doing that you don't need to develop your mesh app instead you can just make a normal BLE app. 

    Could you give more information on what data you will handle on the phone and how the phone interact with the mesh network ? 

Children
  • Hello, Hung!

    Thank you for your answer.

    Could you give more information on what data you will handle on the phone and how the phone interact with the mesh network ? 

    We want to make this system that many users can see the data from every nodes at the same time. (a little bit difference is okay.)

    Many nodes send measured data, and see the data by using many smartphones at the same time.

    Is it possible to make this system by modifying the proxy firmware?

    Also, I have some questions about your answer.

    So if you want to have multiple smart phone to connect to the network you would need multiple proxy nodes.

    I knew that proxy node and smartphone communicates each other through GATT bearer.

    You mean that there are two ways

    .................

    I will update this reply!

    <update: 05/07/21 (MM/DD/YY)>

  • Hi Minsu, 
    For your application when you don't want to use multiple proxy nodes, I think you have two option: 

    - Modify the Proxy node so that it support multiple mobile phones, each phone connects with GATT Proxy bearer.

    - Modify a normal node so that it support BLE. Each phone connect to the node using BLE. You can merge a mesh node with the multilink example for this purpose. You can also think of using only advertising to broadcast data, so it's unlimited how many phone can receive the data. 

    It's up to you to decide. Option 1 may need some more work on both side the nRF52 and on the Phones, but the GATT proxy protocol is standard, not proprietary.  Option 2 may be easier, but the protocol is proprietary (but it's easier to customize). 

  • Ohhh, thank you!

    I got it. I will find and do it.

    Could you give me more information how to use multiple proxy nodes with multiple smartphones?

    I'm so curious about it.

    Thank you so much.

  • Hi Minsu, 
    What I meant was to just let one phone connect to one proxy node. So if you need to allow 5 phones connect to the network you would need 5 proxy nodes. 
    But this still require you to modify the nRF Mesh app because now they all claim address 0x0001 as the unicast address. 

  • Hi, Hung.

    Thank you for your reply Slight smile

    I understood what you mean.

    Could I ask one more thing?

    I saw below post and did it.


    https://devzone.nordicsemi.com/f/nordic-q-a/55410/ble-mesh-connection-from-different-devices

    I saw this post, and tried to control server nodes by 2 or 3 smartphones. (Export and Import)

    Control is possible by each smartphones.

    But I want to see the update the state of each app (smartphones) like led state of each node.

    The state doesn't update when I set the 'Publish address' of nodes as 'all nodes(0xFFFF)' or 'all proxies(0xFFFC)'.

    However, when I set the 'Publish address' as 'Unicast address of smartphone', the led state updates!

    Why don't publication address 'all nodes' and 'all proxies' work as I thought?

    Do I need to revise the led switch server source code?

    If not, is it possible to make it work by using nrf mesh app?


    Thank you.

    Sincerely yours,

    Minsu Kim.

Related