Unable to provision by configuring asynchronous UART

I have starting working with UART. I see that there are two options for configuring it: UART_0_ASYNC and UART_0_INTERRUPT_DRIVEN. I want to use ASYNC option for my UART, but when I enable this option, the device is unable to be provisioned anymore. It means if I just enable this configuration in the chat example, it breaks the application for provision.

I also tried to initialize the UART only when the device is provisioned, but it has no effect. 

Parents Reply Children
  • Hey Ashish,

    The thing with provisioning examples is that we do not want to encourage you to make use an embedded device for it, due to its importance. If you take a look at the documentation for the Provisioner in the nRF5 SDK for Mesh it says: "The provisoner example is the default Bluetooth mesh network configurator. It works in a fixed, predefined way and can be used as the static provisioner with the following examples". The example is there for you to avoid spending a lot of time configuring just to try a few examples. However, it is not meant to be used in production, and is not very scalable. 

    I believe that is why we haven't included one in NCS. Though I do see how you could use one in this example.

    Regards,

    Elfving

  • Hi Elfving,

    I do understand the static configuration might not be a secure way. But then I want to know what will you suggest when we need to deploy few hundred of devices in a network. Should we use pre-provisioned device using app or a fixed embedded device?

  • Hello Ashish,

    Well the app is mainly made with developers in mind, so its understandable if it isnt the perfect fit for your use case. However, there is nothing wrong with creating your own app using our mesh libraries for Android and iOS, to automate that process in the same way our provisioner example does.

    When it comes to configuration there are some things that the unit could come equipped with from the factory, while there might be other things that could depend on the network and what role in the network the unit has. Ie. with switches and lights you would most often configure them considering they're in the same room, and to make them publish and subscribe to the room group, respectively.

    So in a way this all depends on your use-case. One would often want to maintain and make changes to the network at a later point, which would make using an embedded unit a worse choice and the smart phone, along with its ease of use a better option. But I guess it might be that you would want all of your units configured the same way, and have zero concerns about unauthorized units taking advantage of this.

    Instead of simply telling you not to use an embedded device for this I should rather say that Mesh is not designed with that case in mind.

    Regards,

    Elfving

Related