BluKit™ Workbench App version 2 marks are major milestone release! Improving on a solid 1.0 release is always a challenge but we did just that in version 2. In version 2, we strived to add features that would improve the Bluetooth development experience of software developers. To say this release is developer focused would be an understatement.
API Contracts between Client and Server Teams
Very often in software development teams, both the client facing software and the server side software are written in parallel as the product owner works to push out new App features. This of course requires coordination between the client and server teams, it adds release cycle pressure, and of course testing pressure. This is all too familiar to seasoned software developers! How does the client team write software to interface with the server when the server API is not published, tested, or even finished? A contract or Application Programming Interface (aka API) between the server side and client side software must be ironed out first to avoid delays, bugs, and other problems. Once the API is agreed upon, only then can both client and server software teams work successfully in parallel.
Bluetooth Peripheral as an API Contract
How does this relate to App support of Bluetooth peripherals? Just as client and server software development teams must work in parallel, so also must software developers building Bluetooth support into their apps. In this scenario, most often the client side is the App and the server side is the physical Bluetooth hardware. So, both teams must agree upon what data will be read and what data will be written between the App and the physical Bluetooth hardware (aka peripheral). When is the data available to be read and when is the data able to be written. All of this formality makes up the API contract between the app and hardware teams.
Virtual Peripherals
Ok, so how does all this client / server API contract discussion relate to version 2 of BlueKit Workbench? So glad you asked! At the forefront of features introduced in version 2, is an exciting new software developer feature: Virtual Peripherals! What is a virtual peripheral? Essentially it behaviors like a real physical peripheral but it is not physical. It is the representation of a physical peripheral, but in software. In other words, a Virtual Peripheral encapsulates the data that will be shared between the App and the Peripheral. In BluKit Workbench App version 2, a Virtual Peripheral can be created by recording data from a real Bluetooth Peripheral. After recording the data, it can be exported as a Virtual Peripheral. The following Bluetooth peripheral data can be recorded in real time, and exported to a JSON file:
- Peripheral
- Services
- Characteristics
- Descriptors
- Advertisement Data
- RSSI Signals
- Characteristic Notify/Indicate values as Data
The exported JSON Bluetooth peripheral data can be inspected, and even modified! Import the valid JSON file into BluKit Workbench. The new “Virtual Peripheral” appears as another discovered Bluetooth peripheral. Inspect, Connect, and interact with the Virtual Peripheral just like a real peripheral! In this way, the application software developer (client side) working to interface with a real physical Bluetooth peripheral can begin work even though the physical Bluetooth peripheral may not be available or ready for App connections.
BluKit Workbench – Apple App Store
BluKit Workbench App is available in the Apple App Store. Learn how it can accelerate your software development efforts with Bluetooth integration: https://apps.apple.com/us/app/blukit-workbench/id6747599806

