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

multicast support for CoAP in nordic nrf51

Hi,

I am using Nordic nrf51 DK board with soft device s1xx-iot-prototype2_softdevice.hex and application program as CoAP server from nRF_IoT_Examples\0.8.0\coap\ipv6\server. with the above configuration, i am able to establish ble connection from linux system to nordic nrf51 and able to ping the ipv6 address. But, i am not able to verify CoAP protocol. I tried with IoTivity and with firefox plugin(CoPPER). I kept a debug using led4 (LEDS_INVERT(LED_FOUR)) in udp_input() function, but led4 state is not changed. To confirm the debug print, i added the same statement in icmp6_input(). If i ping from linux host, led4 is toggling.

The limitations section in nrf CoAP document(developer.nordicsemi.com/.../a00003.html), states that multicast support is not implemented. Please let me know if any one added this support to CoAP.

Thanks, Sandeep

  • I don't understand what multicast has to do with this, it seems you are trying to do unicast; between the nRF51 and Copper. Have you set up RADVD in Linux? Are you using a global IPv6 address or a local? Are you using a local prefix? FE80? You need a global prefix to send IPv6 packets between interfaces, for example BT0 and ETH0? Where are you running Copper?

  • Hi Petter, Multicast is needed for service discovery. IoTivity sends a multicast packet by default to "All CoAP Nodes" multicast address. Since, there is no multicast support in nordic nRF51 IoT SDK, i tried with unicast using firefox Copper plugin from linux host (to which nRF51 is paired) using link-local address and global address(with radvd enabled). But, this didn't work. Later, i tried with libcoap package, and this worked for me. I am able to communicate to nRF51 using CoAP protocol with unicast from linux host which is paired to nRF51. I am trying to understand IoTivity framework in detail whether multicast is mandatory.

    Thanks, Sandeep

Related