What is BT-Sim?
BT-Sim is a software emulator of BlueTooth hardware. That means, if you have a program
that interacts directly with some BlueTooth hardware (serial dongle, etc.), you can
redirect that communication to this BlueTooth simulator. BT-Sim will then act as if it
was real BlueTooth hardware.
Why would I use BT-Sim instead of real hardware?
There are different reasons:
- You do not need to buy (additional) hardware
- You can intercept the communication
- You can easily test large numbers of (virtual) BlueTooth devices
- You could extend the simulator to test BlueTooth features that are not supported
by hardware currently available
- It should be possible to automate the testing of software that you develop
Are there other solutions for testing?
Whizoo.com sells a BlueTooth developer kit for the PalmOS Simulator (see the links section).
It appears that there is a software bluetooth simulator available with Bluez (again see the
What are the drawbacks of using BT-Sim?
BT-Sim has been designed to be a complementary tools and will not completely replace other means
of testing your BlueTooth project. In particular, BT-Sim cannot, and probably will never be able
- simulate the timing of operations
- simulate accurately the radio environment
- simulate accurately a particular BlueTooth hardware implementation
Why did you write BT-Sim in Java?
The main reason I wrote BT-Sim in Java is simply that I know Java best, which
reduces tremendously the development effort for me. The other reason is that
Java programs are much more portable. With recent Windows installation it should
be possible for anyone to just download BT-Sim as a jar-file and double-click on it.
No further steps, not even for me as the developer. That means I don't have to test
compatibility on different platforms, I don't have to provide different binaries, etc.
How can I contribute to the BT-Sim project?
Obviously, if you are a Java programmer, you can help with adding features, debugging,
documenting code, etc.
Otherwise you could write documentation. But what I need most is testing and feedback
about bugs, missing features, etc. So don't hesitate to send me all comments you might
have. My e-mail address is:
urs DOT hunkeler AT gmail DOT com.