How can I make an application on pc as a bluetooth low energy device? - core-bluetooth

I try to make an app on iPhone which can receive date from ble device.
I've read the api from Apple.
But I want to send this data from PC with ble dongle.
There are some samples for receiving data from ble device.
But I need to make the pc simulate ble device.
Is that possible? And if it is, how can I do taht?

If you own a Mac(, considering that you are making an iPhone app), you can create a OS X project that provides GATT and GAP with CoreBluetooth. See the sample code CoreBluetooth: Health Thermometer. Note that the sample code serves as a Central, however, you need to implement a Peripheral with a CBPeripheralManager instance and other delegates.
In your Mac OS X app, you need to provide a characteristic with CBCharacteristicPropertyIndicate or CBCharacteristicPropertyNotify.
In your iPhone app, you need to set this characteristic notifying.

Related

Getting Phone Number from PN532 NFC

I am using a raspberry pi hooked up to an PN532 NFC to print out the following information from an Android phone.
I was wondering if there is any way to also obtain the phone's number using NFC?
I am getting the impression that NFC does not allow this type of information to be present without third party tool, but I wanted to be certain whether or not this is impossible just using a PN532?
Thanks
Most mobile are primary designed as a NFC reader/writer for an end user OR as an emulated payment card in a secure section of the OS.
iOS has limited NFC support compared to Android.
For device to device communication you either need NFC Peer to Peer which iOS does not support and Android is dropping support for.
OR
You need one device to emulate a NFC card and one to be a reader/writer and iOS does not support Card emulation for anything but the OS payment App, where as Android does support card emulation.
This leaves the only common ground as the PN532 emulating a card which it can do and the mobile phone writing it's phone number to an emulated card.
The next hurdle iOS and Android don't natively broadcaster the sensitive info of their mobile number out via NFC, therefore you would have to write an App for that IF you app had permission and was able to read the phone number from the device (I'm note sure that is possible and is the subject of another question) but failing that you could just ask the user to enter in their phone number.
So overall, it might be possible to write various apps and the right software for the Raspberry Pi but a lot of work and require users to launch apps to transfer a mobile number.

How can i imitate DJI's Lightbridge system

I would like to know all of Lightbridge, Phantom 4 Pro, Inspiron 2's controller and drones communication method.
I have many drones from DJI including Phantom 4 Pro, Inspire 2, and Matrice 100.
I want to create a Lightbridge system that is mounted inside the controller through PC programming.
Because the DJI drones I purchased connect the mobile device and the controller with USB cable, and the controller and the drone communicate with the Lightbridge, so the controller must be in the middle of the communication system, but I just want to control the drones directly through my PC.
As a result, how can I imitate the Lightbridge system to communicate with my PC, control (takeoff,landing etc.) , and capture live images.
So I'd like to know about the Lightbridge that helps.
Lightbride is a proprietary protocol. That means we (I work at DJI) do not disclose or document the details of its implementation.
On another hand, removing the remote controller would mean you create/provide your own transmitter which add quite a lot of complexity.
The best way for you to control the aircraft from the PC at this point is to write a mobile app as a bridge and control the app through your PC.
Now, this can be done in a wired manner:
You could write an Android app with the mobile SDK on a device with ethernet such as Odroid and chain it all together.

Bluetooth MIDI - Windows

I am trying to connect a Bluetooth Low Energy enabled MIDI hardware to wirelessly send data to a Windows PC and get it to detect as a MIDI device in Windows. Currently, the device is able to pair with my Windows 10 laptop and I am able to read the incoming data off of it.
The same hardware is configured and working fine as a wireless MIDI device on Mac and iOS devices(which natively supports MIDI over Bluetooth). I am trying to get this feature implemented on Windows(which doesn't support MIDI over Bluetooth, although it was promised in Windows 10).
The device, when is paired, is showing up in the 'Bluetooth devices' section in device manager, I am trying to make this device showing up as a MIDI device in 'Sound, video and game controllers' section.
Any help/resources somebody can provide to help me crack this problem is highly appreciated.
Following is my current thought process to implement this.
Pair the device and read the data off of it. (Already implemented)
Create a virtual MIDI port. (Don't know how to implement this, I am currently checking out rtpMIDI)
Send the MIDI data which was read from the BLE device to the virtual MIDI port. (Still don't know how to implement this)
Any suggestions/comments on the above thought process as I am absolutely new to Windows Driver Development.

Pair Macbook with sensor device over Bluetooth LE

For the needs of a university project I have to connect my Macbook Air to a Bluetooth LE device (an air pollution sensor). When looking for nearby devices my Mac cannot find this sensor device and probably the reason is that it uses Bluetooth LE.
Do you know what kind of drivers or special framework do I need to connect to this device using Bluetooth LE?
You won't be able to find BLE devices in your Bluetooth device search. In order to find the devices you are going to have write code in objective C using the CoreBluetooth framework. Also you need to make sure your Air supports BLE. I believe the early ones don't.

iOS and Android bluetooth connection differences

Just curious to understand why iOS devices connect to sphero directly but an app needs to do it in Android?
Well that's what I guess is happening because sphero will keep flashing in identity colours in Android until an app completes a connection.
To add: to use the option that keeps the sphero alive on the charger while connected to the client, then IOS would not need an app running but Android would. Well the Android app could have a service running to keep a connection open with sphero.
But ideally a consistent behaviour would be better.
Kasuku, you're correct in your post, but you also need to consider that the operating systems that you are comparing are completely different. For example, in Android it is possible to directly access the bluetooth adapter and "manually" connect to a bonded device. In iOS, this functionality is abstracted out from the developer.
To address BTLE:
No, as of right now Sphero currently does not support BTLE hardware.
OK ... as usual this tag seems to be dead so I post my finding anyway:
Bluetooth hardware that wanted to connect to IOS, but were not following one of the standard profiles (e.g. headsets), need to conform to Apple's proprietary MFI (Made for IOS) protocol. So the connection is established by the IOS system and then it allows apps to access this connection.
But now newer IOS devices support Bluetooth LE so the MFI restriction no longer applies. I think Sphero2B is going to use this. Current Sphero hardware probably doesn't support BT LE. My next question is ... does sphero hardware support BT LE? ... but I'm not going to ask on this forum:)
Android on the other hand allows apps to negotiate the connections to paired devices.
Here's a link with more info:
Some blog

Resources