Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey, Delphi Android, Delphi IOS

Free Bluetooth Remote Control Vehicle App Source Code For Delphi XE5 Firemonkey On Android

| Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOS

Delphi XE5 Firemonkey Bluetooth Remote Control App | Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOSJim McKeeth from Embarcadero has made the source code available (on Github) for a remote control vehicle app that uses Bluetooth for communication available. The code is for Delphi XE5 and AppMethod and runs on Android and probably Windows. Should also work with Delphi XE6 Firemonkey with not many changes. If you are interested in the full Bluetooth interface in Object Pascal for the Android SDK you should check out the Object Pascal Android SDK Interface project on Github. There are interface files for android.bluetooth.BluetoothAdapter, android.bluetooth.BluetoothDevice, and android.bluetooth.BluetoothServerSocket among others. Check out the documentation for Bluetooth on Android here. The app does not make use of Bluetooth discovery (but you could add that yourself) and instead has the MAC address of each device hard coded into. The code makes use of the TJBluetoothAdapter interface to the Android SDK for talking to Bluetooth. Here is some sample code for connecting to the Bluetooth vehicle with the app:
uses
Androidapi.JNI.BluetoothAdapter, Android.JNI.Toast, System.SysUtils;

function DoConnect(MACAddress: String; out istream: JInputstream;
out ostream: JOutputStream): Boolean;
var
uid: JUUID;
targetMAC: string;
Adapter: JBluetoothAdapter;
remoteDevice: JBluetoothDevice;
Sock: JBluetoothSocket;
begin
uid := TJUUID.JavaClass.fromString
(stringtojstring('00001101-0000-1000-8000-00805F9B34FB'));
targetMAC := MACAddress;
Adapter := TJBluetoothAdapter.JavaClass.getDefaultAdapter;
remoteDevice := Adapter.getRemoteDevice(stringtojstring(targetMAC));
Toast('Connecting to ' + targetMAC);
Sock := remoteDevice.createRfcommSocketToServiceRecord(uid);
try
Sock.connect;
except
Toast('Could not create service record!');
Exit(False);
end;
if not Sock.isConnected then
begin
Toast('Failed to connect to ' + targetMAC + '! Try again...');
Exit(False);
end;
Toast('Connected!');
ostream := Sock.getOutputStream; // record io streams
istream := Sock.getInputStream;

// Application.ProcessMessages;

ostream.write(ord(255)); //
ostream.write(ord(255)); // get device id (nur Chitanda)
Sleep(200);
Result := True;
end;
Jim has a blog post and some videos up where the app is explained and demonstrated. You can check that out here. Find out more about the remote control vehicle and where to buy one here.

Or head over to Github and download the Delphi XE5 Firemonkey source code for the Bluetooth remote control car app.

Exit mobile version