A simple Android app to debug Bluetooth connections: 1. Connect to any Bluetooth device, 2. Display incoming raw data, 3. Send raw data to the Bluetooth device. You can confirm successful pairing, monitor incoming raw data and see exactly what is being transmitted from the Bluetooth device.
At the moment, testing the app is not possible without connecting to a real bluetooth device that broadcasts ascii data when connected. Even when you have such a device at hand, testing is not very convenient: you have to switch on the bluetooth device, and you probably have to recharge its battery too from time to time.
It would be great to have a fake / dummy / virtual device for testing the app:
it should show up in the device list like any regular bluetooth device
it should emit some preset data and emits some preset data. See a sample at the bottom. After the end of the sample is reached, the dummy device should automatically restart from the beginning, repeat forever as long as "connected"
probably a new level of abstraction will be needed in the implementation to represent the concept of a device, that may be a real bluetooth device, or it may be a dummy. In other words, the code that manages bluetooth connections specifically should not have knowledge of a dummy device, for good separation of responsibilities
the dummy device should behave just like a regular bluetooth device: the code that connects to bluetooth devices and reads data from them should not have to be aware that it's not a real device
the dummy device should not appear in the list by default. There should be an option in the settings screen to control whether the device is there or not. Developers can switch it on and keep it on for themselves
include the possiblity of adding different types of dummy devices in the future. At the minimum, another dummy device sending binary data instead of ASCII will be extremely useful
At the moment, testing the app is not possible without connecting to a real bluetooth device that broadcasts ascii data when connected. Even when you have such a device at hand, testing is not very convenient: you have to switch on the bluetooth device, and you probably have to recharge its battery too from time to time.
It would be great to have a fake / dummy / virtual device for testing the app:
Example data set to use by the dummy device: