This Bluetooth terminal app allows you to define commands and send them via Bluetooth to a paired device or BLE device. It is up to you how you interpret these commands on the remote device, which could be an Arduino board, phone, PC, or any other device with Bluetooth module or device with other Bluetooth terminal app. App can also listen for incoming messages and show them in log in HEX, string or decimal format.
HOW IT WORKS
Commands could be defined in a string format or as an array of bytes (in hexadecimal format) with some additional options, such as including new line at the end of the string or selecting endian mode (ordering of bytes during transmission). Periodical sending of user created command is possible. Just add a command and specify sending period in milliseconds.
Application can also listen to incoming transmission 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.
Connecting to SPP (classic bluetooth) devices
Device must be first paired with your phone. Click 'Connect' and select a device. Since app listens for incoming connections, you can initialize it from remote device. In such cases, app will show remote device name as "Incoming connection"
Connecting to BLE devices (only as device A)
Scan&Connect starts scanning for nearby BLE devices. If BLE device is found it is automatically connected. Retrieve list of all characteristics from device by clicking Read data. One characteristic from the list of retrieved characteristics can be used for receiving and transmission (one Rx+Tx characteristic), just click on characteristic which you want to use.
To create a new command, click on the "empty" item at the end of the list of commands and select type of command - HEX or string.
Command name - for user to identify specific command. If the field is left empty, default name is used.
Value 0x - hexadecimal value (array of bytes) that represent command. Only valid hexadecimal number is accepted (characters 0-9 and A-F, not case-sensitive). Prefix "0x" is already included.
Least significant byte first - check this checkbox to send least significant byte of a command first. Otherwise the most significant byte will be send first.
String - String representing text form of your command
Include new line character at the end of the string - If checked, new line character ("
", 0x0A) will be appended at the end of the string.
Send periodically[ms] - check this checkbox if you want your command to be send 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 command again to stop periodical transmission.
Custom icon - each command is further customisable by selecting its icon. All parameters, including icon are saved and can be changed later.
Commands are displayed in a list. You can send it to a connected device by clicking on respective item. Use long click to edit or remove command.
To scan for BLE devices, app need permission ACCESS_COARSE_LOCATION. The reason is (from Google developer guide): LE Beacons are often associated with location. In order 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.
Found a bug? Missing feature? Just email the developer. Your feedback is greatly appreciated.