Bluetooth Commander Pro app allows you to define commands and send them to multiple connected SPP (Serial Port Profile) or BLE (Bluetooth Low Energy / Bluetooth 4.0) devices simultaneously. A remote device could be an Arduino board, phone, PC, or any other device with a Bluetooth module(HC-06, etc..) or another device with a Bluetooth terminal. The app can also listen for incoming messages and display them in HEX, string, or decimal format.
Looking for beta testers for upcoming features.
Commands could be defined in a string format or as an array of bytes (in hexadecimal format) with additional options, such as including a new line at the end of the string or selecting the endian mode (ordering of bytes). Periodical sending of user-created commands is possible. Just add a command and specify sending period in milliseconds.
The application can also listen to incoming transmissions and display incoming messages in various forms – you can choose between string, hexadecimal, or decimal format. All settings and user-defined commands are saved/loaded each time application is closed/opened.
SHORT USER GUIDE
Connecting to a classic Bluetooth device
The device must be first paired with your phone. Click ‘Connect’ and select a device from the list of paired devices. Since the app listens for incoming connections, you can initialize connections from a remote device. In such cases, the app will show the remote device name as “Incoming connection”
Connecting to BLE device
An Integrated BLE scanner will search for nearby devices. Select a device and services and characteristics will be retrieved. Select one characteristic which will be used as RX+TX characteristic. In the current app version connection to only one BLE device is supported. However, you can be connected to a BLE device and multiple classic Bluetooth devices simultaneously.
To create a new command, click on the “empty” item at the end of the list of commands and select the type of command – HEX or string.
Command name – for a user to identify specific command. If the field is left empty default name is used
Value 0x(hexadecimal) – hexadecimal value (array of bytes) that represents a command. The prefix “0x” is already included.
Least significant byte first – check this checkbox to send the least significant byte of command first. Otherwise, the most significant byte will be sent first.
String – String representing text form of command
Include a new line character at the end of the string – If checked, a new line character (“n”, 0x0A) will be appended at the end of the string
Send periodically[ms] – check this checkbox if you want your command to be sent periodically. Specify period in milliseconds and after adding it to list of commands, simply click on it, and sending with predefined period will begin. Click on the command again to stop transmission.
Commands are displayed in a list. You can send it to connected devices by clicking on a respective item. Use a long click to edit or remove the command. Commands are sent to all connected devices.
To scan for BLE devices, the app needs permission ACCESS_COARSE_LOCATION. The reason is (from Google developer guide): LE Beacons are often associated with the location. To use BluetoothLeScanner, you must request the user’s permission by declaring either the ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission in your app’s manifest file. Without these permissions, scans won’t return any results.