Programming on Bluetooth module - ios

Now I have a Bluetooth module which support SPP, I want it to support BLE 4.0. Can I program on it? How can I start? In fact I want it to connect to iOS app, but I don't want to be included in MFI, that's the only solution I figured out.

You can connect bluetooth module to jailbroken iOS device without MFI program membership.
I used this BT stack library to establish BT connection

If I understand the question right you have a module which supports SPP and you want it to support BLE? I don't believe that is possible. The serial port profile is not part of the BLE spec. I am guessing you have a BT 2.0 module.
You need to have a module that supports BLE or is running the BLE stack before you can connect to it to begin with. To use the module you have now, you need MFI to connect to an iPhone over SPP.
In summary, the two options you have are:
Keep the module you have (BT 2.0), join the MFI program or jailbreak to use SPP
Get a BLE module and use CoreBluetooth without the need to join the MFI

Related

Xcode 9 - Bluetooth module HC-06

I am currently attempting to code for an iOS application on XCode and am currently having some issues.
Our group is connecting LED lights through a microcontroller and we need our iOS application to connect to the HC-06 Bluetooth module in order to control the LED lights on and off.
I only need to worry about the iOS side of the code not the microcontroller. I was just wondering how would I go about coding this on Xcode to send either a '1' or a '0' through Bluetooth to signal either 'on' or 'off' to the microcontroller?
You can't use HC-06 BT or any Bluetooth 2.0 module because Apple uses MFi license Program
You can use HM-10 BT module to control your microcontroller via Bluetooth Low Energy.
You can read about BLE technology this.

Bluetooth 3.0 connection on IOS using IAP2

Question: Given MFI certified IAP2 support for Bluetooth 3.0, how can one connect, search and pair from withing the application? What are the exact commands? An example would be best :)
Background:
We recently developed an ISO application that communicates an external HW device using Bluetooth 3.0 which as some of you know reuqires MFI (which we have)
One of the great drawbacks was the lack of the application to initiate the connection to the bluetooth device due to IOS limitations i.e. the user must manualy go to the iphone bluetooth settings and connect to the external HW device, unlike in adroid where given the external HW device Bluetooth name and assuming the user already paired the device the application can initiate the connection
After talking to the Bluetooth module manufacturer about this drawback he replied the BT module supports both IAP1 and IAP2 while one of the features of IAP2 was "Bluetooth connection", "searching" and even "paring" from within the application.
The probelm is that he couldn't tell us HOW? Hence the question above :)
Thank you &
Best Regards
Ran

Does CoreBluetooth implement Direct Test Mode?

I learned that the Bluetooth 4.0 specification states a Direct Test Mode for the RF PHY (Bluetooth Core Specification v4.1, Volume 6, Part F). I'm using a BLE112 module, and Bluegiga's API implements these testing commands as test_phy_end(), test_phy_rx() and test_phy_tx().
Does CoreBluetooth implement them somehow? If not, is there another way to access the Direct Test Mode in iOS?
Apparently no there is not.
I spoke with a colleague who develops BLE firmwares.
You have to connect physically to the BLE chip.
A way to do it, could be for example, to have a MFI device that you connect to the lightning/30-pin connectors, and connect it to the BLE chip. But I don't know if it exists, and you may have to do it yourself.

Arduino and iPhone connection with Bluetooth 3.0

I would like to build an app that requires bluetooth connection. The Bluetooth HC05 module is connected to Arduino. I want to know what framework (or other related things) that I need to build an app that can connect to this Bluetooth module.
Still have no idea how to start. Anyone could help?
Unfortunately the answer might be "you can't do that".
iOS only supports the following Bluetooth profiles: HFP, PBAP, A2DP, AVRCP, PAN, HID and MAP. None of those can be used inside an app to communicate to your Arduino.
For the useful profiles like Serial Port Profile (SPP) and all arbitrary bluetooth communication you have to add an authentication chip to your Arduino. Unfortunately you can't buy these chips unless you have a MFi membership. And you won't get into the MFi program unless you are a company with a concrete product (mass market scale) in mind.
Fortunately, we now have Bluetooth Low Energy. Bluetooth LE can easily be used in iOS apps, without all the MFi hassle. So you should get a Bluetooth 4.0 module for your Arduino.
The framework that is used for Bluetooth 4.0 communication is called CoreBluetooth. You will find documentation, sample code and WWDC videos in the iOS Developer Center. Start with the Core Bluetooth Programming Guide

Can CoreBluetooth framework pair and talk to a slave bluetooth 2.0 serial module?

I would like to write an app for iPhone 4s that can talk to a slave bluetooth 2.0 serial module such as the HC-06, BC417, or EGBT-046S. Is this possible? Can anyone provide some sample code?
No, CoreBluetooth is for Bluetooth Low Energy. The External Accessory Framework can be used for Classic Bluetooth connection. But to be able to open on a serial link from the iPhone, you need a peripheral that complies with the Made For iPhone (MFi) program, and you need to be an MFi member to be able to buy one. Look at this question for more info: What's needed to use the Apple Accessory Protocol?

Resources