The customer turned to Altoros to build a mobile application for setting up and maintaining weather monitoring devices right in the field. As a result:
- Configuration of weather stations sold by the customer takes less time and can be performed via an iOS/Android mobile phone or a tablet.
- While syncing configuration changes in real time, the solution accelerated data transfer via the Bluetooth protocol by 4x.
- The Altoros team enabled the customer to shorten time to market, reduce costs, and focus on its core products.
Located in San Francisco, the customer produces devices and software for weather monitoring, fleet management, vehicle diagnostics, and marine/boating use. Hundreds of its products are utilized by meteorologists, farmers, boaters, educators, truck drivers, and industry professionals around the world.
When installing the customer’s weather stations in the field, a technician needs to set up gateways, nodes, and sensors. The company wanted to develop a solution that would simplify the process of on-site installation, configuration, maintenance, and debugging of sensor systems via mobile devices.
During the project, the team had to address the following challenges:
- Real-time data synchronization. Efficient data exchange between all modules was needed. The goal included displaying any configuration changes in real-time across all mobile devices connected to the stations.
- Speeding up Bluetooth connection. For sending configuration data wirelessly, the team relied on the Bluetooth Low Energy technology. At the same time, the speed of updating device firmware should not be a bottleneck for field installation. Therefore, customization of the protocol was required to accelerate the process as much as possible.
- Energy saving. As some of the customer’s weather stations are powered by solar cells, the maximum energy efficiency was critical. Although Bluetooth Low Energy reduced energy consumption, optimization of interaction between stations and mobile devices was still needed.
To enable real-time data synchronization, Altoros integrated Firebase—a backend-as-a-service solution—chosen by the customer. The platform supported the offline mode by queueing all configuration changes and uploading them immediately after reconnection. In addition, it enabled simultaneous access of several technicians, allowing them to make configuration changes from multiple devices.
The basic data exchange model using Bluetooth involves confirmations for each request—to make sure that information is recorded properly. Although this approach ensures data integrity, it slows down the process. The developers at Altoros performed a number of field tests, calculating the optimal time for sending requests that guaranteed successful “writes” without confirmation responses. In addition, the Altoros team combined requests in batches to reduce the number of data transfer requests. As a result, the speed of data exchange via Bluetooth was increased by 4x.
The engineers at Altoros built a custom framework on top of Bluetooth Low Energy to support a specific communication protocol adopted by customer’s devices. It made them work faster, saving both time and energy during data transfer.
Partnership with Altoros enabled the customer to focus on the development of its key products, reducing time to market and cutting down on expenses.
Now, the company’s weather stations can be configured in a few simple steps via any iOS or Android mobile device. This improved customer adoption of the core products (i.e., weather stations), eliminating the need to use any specific handheld devices and reducing the time needed for field installation.
In addition, the mobile application developed by Altoros has enabled technicians to respond to any changes and malfunctions immediately.
After the app's successful launch in the US, the customer is planning the localization of the app for European and Asian markets.
Amazon S3, Jetty
Frameworks and tools
AFNeworking, Firebase, Core Bluetooth, Google SDK, Crashlytics, UI Automation, Robotium, Android Debug Bridge, Google Play Services, Core Location
Databases / ORM Frameworks
SQLite, Firebase, Core Data