These days, more and more devices are equipped with wireless connectivity. Everything from keyboards to keyfobs, from lightbulbs to clothing, wants to talk to your smartphone or computer. And many of those things do so using a technology called Bluetooth® Low Energy, or Bluetooth LE. The technology has become more and more prevalent; by some estimates, there are nearly 4 billion Bluetooth LE devices out there in the world.
Synapse has worked on numerous projects involving Bluetooth LE, both from the hardware/firmware and mobile application perspectives. We’ve often found the need to have a simple way for our test engineering team to speak to devices separately from the actual application. How do you test a device to know that it works properly separate from the mobile application, after all?
There are various tools already out there for smartphones which allow you to examine Bluetooth LE enabled devices and interact with the Bluetooth LE services they present to the world, and our developers and test engineers were often making use of them. But all of those tools required writing up raw bits of information in hexadecimal form and sending them to the devices—a painful process on most smartphones. And further, there was no convenient tool for doing the same sort of exploration and testing on desktop or laptop machines.
Enter BlueSee™, our in-house Bluetooth LE debugging toolkit.
BlueSee provides not only the same capability to explore the Bluetooth LE enabled world around you as the existing mobile tools—viewing all devices that are advertising, filtering those scan results, connecting to them, and interacting with them—but it provides a scripting interface, which allows you to define easy interactions. This allows our test engineers to write scripts to help them automate testing various bits of functionality, and to use these scripts either on mobile devices or on their laptop computers.
In its out-of-box form, BlueSee provides scripts for several common Bluetooth LE services: device information, time/date, battery level, heart rate, and so on. Anything that BlueSee doesn’t recognize, all the available characteristics will be presented to the user in a raw form for reading, writing, and subscription.
But where we’ve found this tool helped our process is when we extend it with custom project-specific scripts.
Previously, if the only way to exercise the device was manually through writing characteristics, often the testing was done with the final application; this meant that if something went wrong, the test engineer had no visibility into whether it was something wrong in the firmware on the device, or something wrong in the end-user application itself. By using BlueSee, testing of the two halves can be decoupled, and issues are found much more readily.
This has already proven useful to several Synapse projects, where test engineers were able to use BlueSee and some device-specific test scripts.
Scripting BlueSee is done through the use of the Lua scripting language, and through the use of ‘widgets’ which can be added to ‘panels’ representing each Bluetooth LE service. For instance, imagine you had a Bluetooth LE enabled porch light, branded a PORCH SHIELD, where you could set a color, or ask it to blink messages in Morse code.
The service panel for this hypothetical lightbulb is defined in Lua, and built out of widgets. BlueSee provides a library of interactive widgets for scripters to use: labels, buttons, option-pickers, dividers, and similar. When a user connects to the lightbulb, they can use these widgets to interact with it. If we want to set the light to Synapse red and blink our company name, we could do so:
And one of the most powerful parts of this tool is that the same script can be used on the iOS mobile version of the application, providing precisely the same test functionality.
BlueSee has helped immeasurably with streamlining testing of devices here at Synapse, and we’re eager to let others benefit from the same tools. As such, the macOS and iOS versions of BlueSee are being released into the App Store right now, for use by anyone who might find them useful. Information about the application, as well as sample scripts and a link to the support forums, can be found at https://www.synapse.com/bluesee.
It’s our hope you’ll find this tool just as helpful to your own workflow as we have!
Over the last six years, we’ve made an effort to build diversity, equity, and inclusion into the fabric of our organization. From the beginning, we’ve taken an iterative approach, revisiting our initiatives, processes, and policies to make improvements over time, multiple times. Now that we’ve made significant progress, we want to share insights that we hope will help you make positive change at your own organization.
Consumers are seeking out Natural User Interfaces (NUIs)—technology that can be controlled by whatever method is most convenient in that moment, therefore blending seamlessly into our surroundings. Today’s smart devices attempt to achieve this by combining physical control interfaces with layers of digital innovation, from voice commands and gesture recognition to gaze tracking and machine vision. But is this a guaranteed improvement? Not without deliberate design.
The largest carriers and equipment vendors have much to gain from the deployment of 5G, and they're prepared to weather the long roll out. However, for innovative businesses that see 5G as an opportunity to disrupt their own industry, yet lack the capitalization or patience of those firms, Alex Sutton offers some key considerations for designing transformative 5G systems in the face of rollout uncertainty.
Synapse is a product development firm. We work with the best companies in the world to drive innovation and introduce cutting-edge devices that positively impact our lives. Fueled by a desire to solve complex engineering challenges, we develop products that transform brands and accelerate advances in technology.