14

I'm trying to communicate between an iOS app and Raspberry Pi using Bluetooth. The Raspberry Pi is using a Python script for this purpose.

I was originally using the PyBluez library, however this does not support Bluetooth LE and thus can't be used with CoreBluetooth on iOS.
My next solution was to use the private BluetoothManager framework to communicate with the Pi, but this doesn't work on iOS 7.

I've researched a bit more and have seen suggestions for manually sending/receiving LE packets with PyBluez, but this seems incredibly complex and I really have no idea where to start.

So at the moment, I'm stuck. I need either:

  • A solution to communicate with a non-LE Bluetooth device via iOS, or
  • A solution for advertising and communicating as a LE device on the Raspberry Pi via Python
Community
  • 1
  • 1
ttarik
  • 3,824
  • 1
  • 32
  • 51
  • Ever find a solution? Looking to do something similar – Eric Jan 04 '14 at 04:30
  • @Eric I managed to get BluetoothManager working on iOS 7 (see my linked question), but I couldn't find any working code to connect to a device/service, so either it's very hidden or that's not actually a usable feature of the framework. In the end I decided to change my goal to communicate with my Mac, rather than an iOS device, so I just wrote a Python script to do that. – ttarik Jan 07 '14 at 03:48
  • @ev0lution hey any solution or get idea or suggestion same thing i want to do ....communicate with ios device with Raspberry Pi – Dhaval Bhadania Oct 01 '15 at 10:09
  • @Eric if you have any idea or suggestion of this topic please . – Dhaval Bhadania Oct 02 '15 at 04:40
  • @DhavalBhadania have you got any proper solution for your problem. If you have any idea or solution please suggest.. I also want to communicate with Pi device with iphone app in offline mode. Please suggest if you have any solution. – Ram S Nov 15 '16 at 11:51
  • @RamS not get yet !!! – Dhaval Bhadania Nov 15 '16 at 12:16

3 Answers3

1

One option is to buy a USB dongle with a BLE stack in it already.

We have used the Laird BL620-USB, flashed with BL600 firmware to operate as a BLE peripheral.

Having BLE stack in the dongle means it can be communicated with from the Raspberry Pi like a simple USB serial port, without using any linux Bluetooth stack.

BL600 includes the Nordic / Laird proprietary Virtual Serial Port Profile already, so you can achieve the simplicity similar to the classic Bluetooth SPP, even when communicating to an iOS device.

Laird will provide iOS and Android code to use the VSP on the mobile side.

Other BLE module makers probably do the same.

Mark Ch
  • 2,840
  • 1
  • 19
  • 31
0

Have you tried this?

By default, the Wheezy distribution comes without a Bluetooth stack. The bluez package is version 4.99, which has patchy support for Low Energy.

Keep in mind at the time of writing Bluetooth Low Energy (BLE) is not well supported by the standard Raspberry Pi distributions. Some work is required to get it working, as described in the link provided above.

gotnull
  • 26,454
  • 22
  • 137
  • 203
-1

NewAer has built a P2P messaging framework to share 500 Bytes (SDK 5) to 15K with certain devices. That being said, we can send 15K between iOS devices, or iOS and the Raspberry Pi 3. As Android gains further OS and hardware support for BLE, we expect to ad that higher file size as well, but at this time it is limited to 500 bytes between Android and iOS.