ubxlib: u-blox host library
Simplified developer experience for u-blox products and services
12 Jun 2023
Start prototyping right away
Just as a cook needs a recipe to make a tasty meal, a company may need a guide to set up and use IoT devices effectively. Think of it like following a recipe with step-by-step instructions to ensure a tasty dish. For example, to make Bolognese sauce, first, you chop onions, celery, and carrots. Then you put it in a pan, add minced meat, and fry it with olive oil. Once this is slightly cooked, add tomato sauce, a pinch of salt, and nutmeg. You can also add some wine, depending on your taste. Leave it cooking for an hour, and voilà.
In the same way, a company may need a straightforward guide to set up their IoT devices and make the most of the various modules they've integrated into their solutions. As ingredients can be combined to create different dishes, IoT devices can be merged in multiple ways to develop solutions for various industries. For example, a logistics company may use GNSS and cellular modules to track shipments, while a healthcare company may use Bluetooth modules to monitor patients' health.
However, just as too many ingredients can make a dish complicated and overwhelming, too many IoT modules can make the setup and use of devices complex and frustrating. That's why having a clear and concise guide to set up and use IoT devices can make all the difference.
Take the example of a transportation logistics company specializing in delivering high-value goods, for instance, artwork. Its main aim is to deliver pieces of art on time and in good condition. For this to happen, several challenges must be overcome. First, it is imperative always to know the exact location of each; the company needs to have a real-time view of situations inside and outside its perimeter. Second, the company needs to monitor the movement of the products from one place to another, especially during transit. These challenges can be addressed using IoT solutions that provide accurate indoor positioning, in-transit connectivity, and GNSS positioning. For example, an IoT solution could use Bluetooth beacons to track the location of each product within a warehouse or distribution center. In addition, cellular and Wi-Fi modules could supply connectivity while in transit, enabling real-time monitoring of the products' movement. Finally, GNSS positioning could track the products' location in transit, providing a comprehensive view of the situation. Previously, people relied on multiple solutions to achieve this, but the landscape is rapidly changing.
Pet tracking is a good example of a use case where accurate indoor and outdoor tracking is needed. Several modules working in sync can supply this double function. The magic number is three. You need three modules acting together to know your pet’s whereabouts inside the house or apartment or when it is outside, running freely without a leash. When the animal is indoors in the ‘home zone,’ the Wi-fi module will detect its movements. And whenever the pet is outside its home, the GNSS tracker and cellular technology come into play so you can always know whether it is getting too far away.
These use cases illustrate the challenge of coordinating three modules that need to work together seamlessly for an application. This is where ubxlib becomes essential.
From a software perspective, ubxlib is an open-source repository that offers portable C libraries exposing APIs to build applications based on u-blox products, including valuable examples for many use cases. This library facilitates enormously the work of software architects and developers aiming to maximize the technology in their hands. For instance, if you have chosen GNSS and/or MQTT as crucial technologies for your solution, ubxlib enables you to begin prototyping using provided code snippets. Specific examples include acting as an AoA (Angle-of-Arrival) tag, getting sensor data sent through MQTT, connecting through MQTT, connecting through a socket, or replacing a cable over Bluetooth LE (sps).
Alongside the source code which ubxlib provides, u-blox also offers hardware for a smooth application development start. The XPLR-IOT-1 hardware prototyping platform is equipped with several buttons, LEDs, buzzers, and sensors for quick use-case implementation. This powerful combination helps engineers prototype and validate their solutions using various u-blox modules, well-known microcontrollers, and RTOS SDKs.
Have we awakened your curiosity? Then follow these initial steps:
ubxlib is for IoT connectivity, what a recipe book is for the culinary world. So wait no longer. Learn your way through the digital library, find your recipes, and start tasting.