Inquiry Regarding Reading DIS from a Central Device Using nRF Connect SDK

Hello,

I am reaching out to inquire if there is an existing sample program within the nRF Connect SDK that demonstrates how to read the Device Information Service (DIS) from a central device.

If such a sample exists, could you please provide details or guidance on how to implement the reading process?

Parents
  • Hello,

    how to read the Device Information Service (DIS) from a central device.

    Just to make sure, you want to read the DIS from the central in your peripheral application?

    We don't have any samples doing this exactly, but the process will be similar to how it would be done in a central, reading the DIS from a peripheral device. 

    Unfortunately, I couldn't find any samples (centrals) reading the device information service either, so I recommend that you just look at any of the central samples, and how they do service discovery. What you need to do is to look for the DIS UUID in the discovery callback. 

    So if you look at the discovery_complete() callback in the central_uart, this will trigger once for every service it discovers. So in the central_uart sample, it will check if the returned service is the Nordic UART Service, and set the correct handles for this. If the UUID is not the Nordic UART service, it will just ignore this service. Start by printing the UUID, and you should see the BT_UUID_DIS_VAL (0x180a) in one of the callbacks. 

    If you want to do the same for a peripheral application, reading the DIS on a central, the process is the same. You need to do a service discovery after you have connected, and find the handles for the DIS, and then read those characteristics. 

    Best regards,

    Edvin

  • Dear Edvin,

    Thank you for your response.

    I am currently developing a central device. I would like to clarify that my goal is to read the DIS information from a peripheral device using a central device. In the nRF5 SDK, I was able to use the dis_client implementation, which had existing processing, and I was able to display the DIS information simply by using it. I was hoping for a similar process to be available in the nRF Connect SDK as well.

    I will refer to the central_uart sample as suggested and implement the reading process accordingly.

    Thank you for your guidance and assistance.

    Best regards,

    Shun

  • Hello Shun,

    Yes. I also found the dis client implementation in a couple of the nRF5 SDK samples when writing my previous answer, but it doesn't look like there is any existing implementation either in the zephyr part or nrf part of the nRF Connect SDK, unfortunately. 

    But if you are familiar with the process in the nRF5 SDK, then at least you can look there at the steps required in order to read the DIS in NCS.

    Best regards,

    Edvin

Reply
  • Hello Shun,

    Yes. I also found the dis client implementation in a couple of the nRF5 SDK samples when writing my previous answer, but it doesn't look like there is any existing implementation either in the zephyr part or nrf part of the nRF Connect SDK, unfortunately. 

    But if you are familiar with the process in the nRF5 SDK, then at least you can look there at the steps required in order to read the DIS in NCS.

    Best regards,

    Edvin

Children
No Data
Related