Interstate Batteries envisioned a cloud-based system that would identify all of the batteries in stores, know which ones got sold, and be able to identify how long each battery had been on the shelf.
They hired several different companies to try out different possible solutions. One company tried RFID tags, another tried image recognition, and yet another attempted to integrate with each retailer’s point-of-sale (POS) system.
All of these approaches failed for a variety of reasons. The image recognition approach, for example, was unsuccessful because the batteries themselves were too dark and too similar-looking for image recognition to be successful. The stores that sold the batteries also had inconsistent lighting, which Interstate Batteries couldn’t control.
Integration with POS systems, meanwhile, didn’t work because the stores used so many different varieties of POS systems (and some stores didn’t use them at all) that developing an integration solution for all of them was neither feasible nor cost-effective.
Very proposed a solution that attached a Bluetooth tag to each battery that would communicate with a hub in each retail location. The hub would then transmit data about each battery to Interstate’s cloud-based solution, populating dashboards with all of the relevant data about the batteries at the store.
Interstate originally thought they would have the battery itself power the Bluetooth tag, but they were worried about it running down the battery even more. On top of that, the wide variety of battery types/shapes made this solution difficult. They decided that if Very could develop a battery-powered tag with a battery life of six months, that would meet their needs. In the end, Very developed a tag with an inexpensive coin cell battery with a battery life of five years.
On top of the hardware development, Very’s developers integrated with Interstate Batteries’ API to feed the information into their own dashboards. Very also created a mobile-friendly website to assign a location and battery to each tag.
Our first key piece of hardware was the signal emitting device (SED), which is a small Bluetooth beacon that is physically attached to each inventory item (battery). To ensure that the design of the SED met the requirements of the project (the beacon needed to stay firmly attached until a technician removed it prior to installing the battery in a vehicle), we conducted several tests to develop our prototype, including:
The final design was a small, red device with a visually descriptive label aimed at showing users what to do with this “thing” attached to their battery. Attachment to the battery involved a small, unobtrusive “retainer” that was affixed to a battery with permanent adhesive and allowed the SED to “lock” into place. The SED firmware was built in C.
Our second piece of hardware was the hub that would be responsible for transmitting data from the Bluetooth beacon to Interstate Batteries’ cloud-based solution. For this, we used a BeagleBone-Black-Wireless-based device that scans for the SEDs and reports their presence to the cloud. The core firmware for the hub was developed in Elixir, and we wrote the power controller firmware in C.
For the back end, we leveraged NervesHub for firmware management and sent device data to an AWS Serverless infrastructure. Continuous integration was performed by CircleCI because it is our preferred CI tool across all of our projects, but the rest of the stack would work well with any CI service.
On the AWS side, the tools and services we used were:
We used React to build a single page application (SPA) that employees at Interstate Batteries could use to assign hubs to locations, and assign SEDs to batteries. Store locations and battery types were pulled from an Interstate Batteries database and presented to the user in order to ensure data parity between this inventory system and the rest of Interstate Batteries’ infrastructure. The application was also designed to pair with a barcode scanner for easy data entry of SED and hub serial numbers. This is especially critical for SEDs because they need to be rapidly paired to batteries (both physically and virtually) in a warehouse setting.
"I’d recommend Very in a heartbeat to anyone seeking a cutting-edge IoT development team. The level of skill, flexibility, and dedication they brought to the project was unparalleled, and I felt completely engaged throughout the process."
With this new system, drivers can use much smaller, more fuel-efficient trucks and drive shorter routes. Interstate Batteries is buying a fleet of new trucks that are specifically made to carry a large selection of batteries in smaller quantities, requiring less gas and much less waste.