Wireless technology plays a major part in the Internet of Things (IoT) but deploying this technology can involve a good bit of programming. Applications must address a range of issues including features like secure over-the-air (OTA) updates.
In this Q&A, Silicon Labs’ senior product manager for Xpress devices Parker Dorris discusses some of the questions that come up when talking about the programming burden of wireless applications.
We’re targeting Bluetooth Low Energy-enabled sensors, smartphone-controlled smart home devices, white goods, and machine-to-machine applications, especially those requiring the additional option of phone configuration and connectivity. We’re already seeing an extremely diverse mix of applications evaluating and developing with these zero-programming IoT solutions, and the common theme in these designs is a need for wireless connectivity without the steep learning curve. The wireless component just works, which enables companies to focus resources on the aspects of a design that will make the product innovative and successful
in the market.
The goal of our Wireless Xpress portfolio is to lower the barriers of entry for IoT end node design by providing easy to use hardware and software solutions that require zero-programming. These Wireless Xpress module products are all about enablement in a few key respects.
First, because a developer is interfacing with Wireless Xpress through a high-level network coprocessor (NCP)-style interface called the Xpress command API, and communicating with a device that takes on as much responsibility for wireless connection and communication as possible, developers don’t have to become Bluetooth or Wi-Fi experts to get to market quickly.
While you don’t have to write code for these module devices, we expose configurable parameters to tweak performance features. Developers don’t have to learn the intricacies of stack APIs and getting a module to some configured state; they just set a variable. This command API feature helps developers avoid some of the more common challenge points that can snag developers new to a wireless protocol.
Wireless Xpress takes advantage of Silicon Labs’ Gecko OS, an intuitive, simple-to-use IoT operating system. Wireless Xpress devices also focus on enablement in the sense that because the device handles wireless-related responsibilities so comprehensively with the Gecko OS firmware running under the hood, developers don’t have to choose an MCU that will be able to handle low-level wireless maintenance, or granular monitoring through a lower-level NCP protocol. Developers can choose the MCU that’s right for their application, rather than choosing the MCU that’s right for their NCP.
We’ve launched Bluetooth Xpress modules in PCB module and system-in-package (SiP) module options, called BGX13P and BGX13S, respectively. We also offer two zero-programming Wi-Fi Xpress modules, the AMW007 and AMW037.
For Bluetooth Xpress, we’ve launched the Xpress framework for both iOS and Android. Developing mobile apps can sometimes be a challenge for product developers, and developing a BLE-connected app is its own specialized skillset. With the Xpress framework, we abstract low-level mobile OS core Bluetooth APIs behind a few easy-to-use APIs.
This is really helpful to developers for two reasons. First, the Xpress framework handles all the Bluetooth-specific scanning and discovery, interrogation, connection and GATT table communication. For instance, to scan, you call startScan, and the framework delivers a list of discovered devices. To connect, you call connectToDevice, and the framework handles the rest.
Second, the framework looks largely the same for both iOS and Android, unifying an interface that really works quite differently between the two OSes. So if a developer learns to connect to Bluetooth Xpress in iOS, those same function calls are going to work identically in Android. For Wi-Fi Xpress, we’re offering a web app that is served by a Wi-Fi Xpress device and provides a RESTful API to control the module and access a file system.
One great thing about these module products is that the Xpress command API is human-readable, and so developers can evaluate the product and fully exercise features with a simple terminal program running on a PC.
We’ve launched two evaluation kits, the Wireless Xpress BGX13P kit and the AMW007-E04 kit, each offering a serial to USB bridge so access to the board looks like a COM port. For developers that want a more context-rich evaluation experience and a graphical interface, we offer the Xpress Configurator tool in Silicon Labs’ Simplicity Studio development environment. Xpress Configurator logically groups different configurable parameters, validates configurable settings, and displays documentation for each parameter. All of this configuration results in one or more Xpress commands getting sent to the Wireless Xpress module through a terminal interface built into the tool.
Developers have access to network management and mapping tools. The tools provide a high-level view of the system. The network analyzer tracks wireless node activity in real time proving insights for debugging and system optimization.
For Bluetooth Xpress, we offer over the air (OTA) support through the Xpress framework. If Silicon Labs releases a firmware update to Bluetooth Xpress, this signed, encrypted update can be pulled from our cloud with a single framework API. Wi-Fi Xpress products can access the cloud directly to receive firmware updates. Developers can also use this built-in cloud connectivity to perform device health checks in the field and retrieve other key, application specific metrics as well.