bluecove-emu is additional module for BlueCove to simulate Bluetooth stack.
bluecove-emu is a pure Java implementation of JSR-82 without Bluetooth hardware. Fully tested using TCK JSR-82 TCK test results
bluecove-emu requires Java 5 Standard Edition and uses RMI for interprocess communication.
N.B. This is experimental module and have no monitoring GUI. Another module bluecove-emu-gui is in developement. Help us make it.
The diagram below shows the architecture used by this module
Start local bluetooth air simulator server
java -cp bluecove-2.1.1-SNAPSHOT.jar;bluecove-emu-2.1.1-SNAPSHOT.jar com.intel.bluetooth.emu.EmuServer
Start jsr-82 application that connects to air simulator server
java -Dbluecove.stack=emulator -cp bluecove-2.1.1-SNAPSHOT.jar;bluecove-emu-2.1.1-SNAPSHOT.jar;yourApp.jar org.your.app.Main
Start MIDP jsr-82 application that connects to air simulator server
java -Dbluecove.stack=emulator -cp microemulator.jar;bluecove-2.1.1-SNAPSHOT.jar;bluecove-emu-2.1.1-SNAPSHOT.jar org.microemu.app.Main btApp.jad
Emulator has been designed to be used during unit test to help in automation of tests for JSR-82 applications.
For unit tests air simulator server can be started as in process server. EmulatorTestsHelper.startInProcessServer()
Documentation for BlueCove API that enables the use of Multiple Adapters and Bluetooth Stacks in parallel in the same JVM can be found here.
Complete JUnit test example can be found here ExampleTest
Emulator Configuration properties:
This is the resource file 'bluecove.emulator.properties' loaded by air simulator server. Defines devices address and names assignment. It also can define LocalDevice properties returned to the client application.