6LoWPAN with Android/iOS Mobile devices


I'm trying to create a local network between an nrf51-DK and a mobile phone, android or iOS. The main goal is to be able to get TCP/IP connection between the nrf5x device and the mobile phone using Bluetooth and just the software provided by default by the phone, so NO application will be installed in the phone. For example I should be able to access an http server running in the device from the mobile phone using an IP address.

I've tried some examples from the IoT SDK, and the BLE connection is successful, however the interface never goes up according to the output of the nrf51-DK board.

(from CoAP examples of the IoT SDK)

LED 1	      LED 2	
Blinking	Off	         Device advertising as BLE peripheral.
On	      Blinking	 BLE link established, IPv6 interface down.
Off	         On	         BLE link established, IPv6 interface up.
On	         On	         Assertion failure in the application.

Does IOs/Android need to implement something in their side or I'm missing something

Is there any option to create a TCP/IP connection between the nodes?

I know that using IPv4 and making the mobile a hot spot I can get an IP address from the mobile DHCP server but I would like to avoid the mobile to become a hotspot.

Thanks in advance

  • The IPSP and 6LoWPAN libraries in the IoT SDK supports node role. The IoT SoftDevice supports Connection Oriented Channels with the Credit Based Flow Control Mode, which is needed for transport of IPv6 packets. This SoftDevice can take a GAP peripheral role.

    The Android/iOS device must then be in the router role which means it must support Connection Oriented Channels with the Credit Based Flow Control Mode and that it can take a GAP central role. As far as I know this is not supported by Android/iOS.

    In addition they would need to support the IPSP profile and 6LoWPAN, which as far as I know, they don't.

  • Hi @petter Thanks for your answer, I did some googling on it, and if this article is right:


    They (apple) did implement bluetooth 4.2 and therefor should support 6lowpan and IPSP from iPhone 6. so if they implemented Bluetooth 4.2 and that included those protocols the problem could be what you pointed too?

    • Router role
    • GAP central role


  • Not really, but I understand why the last paragraph in the link confuses you.

    Connection Oriented Channels with the Credit Based Flow Control Mode is not a mandatory feature for 4.2.

    IPSP and 6LoWPAN isn't even part of the spec, IPSP is a profile.

  • Thanks

    I understand now that ble 4.1 or higher is a necessary for 6LowPAN but doesn't imply its implementation. tools.ietf.org/.../rfc7668

    "Bluetooth SIG has also published the Internet Protocol Support Profile (IPSP) [IPSP], which includes the Internet Protocol Support Service (IPSS). The IPSP enables discovery of IP-enabled devices and establishment of a link-layer connection for transporting IPv6 packets. IPv6 over Bluetooth LE is ///dependent/// on both Bluetooth 4.1 and IPSP 1.0 or more recent versions of either specification to provide necessary capabilities."

    sad, it would have saved my neck :)

    Any alternative?

  • I'm not sure what your use case is, so it is a bit difficult to come up with alternatives. Maybe you can elaborate and explain a bit more?