Researchers from Japan have created a Bluetooth Low Energy Emulator for testing devices. Their paper, BluMoon: Bluetooth Low Energy Emulator for Software Testing BLE emulator called BluMoon for testing software systems using BLE (pdf), explains how it can be difficult to test how receiving Bluetooth devices’ behave when encountering other Bluetooth devices with varying signal level and interference.
The signal level and interference vary change depending on the position of the sender and receiver. They also vary depending on the surrounding environment. The signal level (RSS) is affected by reflection, shielding, and diffraction by surrounding objects, walls and the ground. Instead, testing requires known signal level and interference values.
The paper describes a software-implemented BLE controller, BluMoon, that calculates the received signal strength for each frame and imitates radio interference. The emulator replaces the controller with the HCI as the boundary.
BluMoon performs BLE communication emulation frame by frame and is implemented on Linux using the BlueZ Bluetooth stack.