Bluetooth and delphi , how? - delphi

I want to send a file to a device (phone) using bluetooth nothing fancy. But i don't know where to start should i find a driver? Maybe one of you guys worked with bluetooth before and can give me a starting point.

I hacked some bluetooth support into Indy (because you can only(?) read/write bluetooth via sockets: Bluetooth Programming with Windows Sockets) a month ago.
See my post on the indy forum for the code:
Indy Bluetooth support
We use it here for reading a bluetooth barcode scanner (both master and slave mode), with auto connect etc (maybe I need to update the posted code for master support, please let me know if you need it)

I haven't worked with it before but I'd start on MSDN
The article explains how to use windows sockets to connect to Bluetooth devices.
There's probably wrappers for these methods. I'll add some more information after I've looked into it

Related

Communicating using Core Bluetooth

I am new to Objective c and I want to send simple strings from an iPhone to an arduino an vice versa with Bluetooth. I have read apples information about Core Bluetooth, but I am having trouble understanding it. As I said, all I need the iPhone to do is: 1) connect to the BLE device of the arduino. 2) Send instructions (in the form of strings) 3)get a response from the arduino when the instructions have been carried out, so that the next set of instructions can be sent. I would be very happy if somebody is able to help me with this project
Thanks
You should follow the wwdc presentation on core bluetooth.
You should probably start here
I suggest operate your device with YMSCoreBluetooth.
The basic step to operation bluetooth device is:
Search all nearby device by blue tooth scan, you will find all nearby device.
Stop your scan. Connect one of the devices found in response.
Discover all services on the device.
Discover all character in service found by service discover action.
Write your content into character found in 4.
You can read character value from device.
YMSCoreBluetooth let you write your logic in one code block instead of separate delegate.

How to communicate with OBD II using bluetooth or wifi using iphone

I like to create a simple application for iOS, which read data from car through ODB II Wifi/bluetooth device and display in iPhone screen. But i don't know where to start. Please somebody help me to achieve below results.
I have both Bluetooth and wifi dongle.
Step 1 : Pair the bluetooth or Wifi dongle and iPhone.
Step 2 : Read the details through dongles
Please refer any tutorial or sample code which i can understand easily. I want to understand the these process in-depth and want to code by myself. So please help.
Thanks in advance.
As David mentioned, on iOS you can use WiFi OBD interface only. Standard Bluetooth (not BTLE) will not work. Bluetooth devices should be approved by Apple to be able to transfer data to/from iOS. AFAIK there is no such a OBD's.
Probably your OBD dongle is based on ELM327 chip. Good starting point is this doc. Read it carefully. This is everything what you need. Interesting things starts at page 7.
On iOS you should open TCP connection with your OBD IP address(for example using NSInputStream, NSOutputStream), then configure OBD using AT commands. Rest is described in section "Talking to the Vehicle" (page 30) in ELM link. Enjoy reading :)
If you need more help- just ask.

How to broadcast bluetooth service in ios using corebluetooth?

If I want to have my iOS device act as a "server" and broadcast its bluetooth services to other iOS devices, how would I use the core-bluetooth framework (or any other iOS framework) to implement this? So far, all I've seen from the corebluetooth framework is how to write the client-side of things. (Scanning, connecting to existing bluetooth services)
You can make use of the OSX sample project called DNSSDObjects. The core classes (three of them) work just fine under iOS. The code requires a few small changes to work with Bluetooth (as-is they only work with WiFi). See my answer to another question for the required code changes.
Basically you use whatever code you need to setup your server and begin accepting socket connections. You then use the DNSSDRegistration class to advertise your server via Bonjour.
The other two classes, DNSSDBrowser and DNSSDService can be used by iOS client code to find the server, or any app or program that can find Bonjour services will also be able to find your server.
There are two great WWDC video that show how to act as either the client or the server using an appropriate iOS device. They can be found here, you're looking for sessions 703 and 705.
Downloads of the source that they use can be found here. You'll need a developer account (free works) to login and view/download.

Provide geolocation data to iOS from Windows

I'd like to use a computer using Windows 7 to provide data to an iOS device. I guess there is no way to do that by Wifi so I'd like to simulate a bluetooth GPS device on my Windows 7 computer so that the iOS device would connect to it.
My question is, what kind of data should I sent ? Can I directly send NMEA frames or should I implement another Apple protocol ? Where can I find specification on those protocol in iOS ?
The idea is to make geolocation data to be available to the whole system. Maybe by "simulating" a bluetooth external GPS receiver using a software that I would develop on Windows. So what kind of data should my Windows software send by bluetooth to iOS ? And how can it be detected by iOS as an external GPS receiver ?
Thanks.
I recommend to use bonjour.
It's a auto-connecting protocol which finds other "player" in the same subnet (lets say same "WiFi".
Theres a windows sdk written in C:
https://developer.apple.com/opensource/
How you do submit the data is up to you. You might create a JSON payload out of your GPS Data. You can also create a binary format and compress it with libz (zip) before sending it to your iOS Device through bonjour.
You can also set up a web server and a web service on your PC and simple connect to it through local network (WiFi) from your device. I think this requires the least work from both server and client side. Which format do you use (JSON, fractions of NMEA, something else) is really up to you since you will have to code both server and client side. For JSON and XML however there are a lot of free frameworks and even some SDK support on both client (iOS) and server (php, asp, servlets, etc) side.

Iphone as a start button

I would like to develop an (personal) iphone app to use the iPhone as a controller for a small device such as a fan or for example a light bulb. Does anyone know if there is some kind of controllable iphone-dock to use for something like this. And are there some kind of methods to use with such a dock? For example the fan just needs a variable voltage for different rpm.
Thanks in advance,
EAAccessory requires that you become a Apple hardware partner, which is very expensive and not easy (this is why you only see large companies releasing hardware accessories for iOS devices).
There's a few ways around this. The easiest way is to have your app send OSC signals over WIFI to an OSC server. I've set this up before using TouchOSC on the iPhone and an Arduino connected to my desktop via USB. It's not hard at all, but it requires that you have an Arduino connected to a computer; it's not ideal.
Alternatively you can use audio output to send commands over the line output in the iPhone's dock connector, effectively turning the iPhone into a software modem.
Good luck and if you get this figured out, post the code on github. :-D
EAAccessory framework might not be what you want because of the requirement for you to have the license and hardware. You could better implement some sort of small webserver that runs an arduino or something similar. check this out for an example of that. on the arduino, you could just have a 5v relay to control the switch of whatever device and have the other pins of the relay connected to a hot (or cold depending on the relay state) standard 120v plug so you can plug anything into it. here is a good project for arduino controlled relay
for direct serial control, you could do something like this but it would require being jailbroken. i think for a personal app, doing it via wifi would be the best way unless you jailbreak and install the full bluetooth stack where you do not need EAAccessory stuff
Check out EAAccessory Framework. Used to handle external devices.
You could try using an ultrasound detector attached to your device, and playing an audio file at the appropriate frequency etc. on the iPhone.

Resources