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…
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.
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?
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.
I understand now that ble 4.1 or higher is a necessary for 6LowPAN but doesn't imply its implementation.
"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 :)
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?