The market for internet of things (IoT) devices is on an exponential growth curve. From our home heating and cooling systems to industrial automation devices, IoT provides an efficient path for command, control, communications and intelligence (C3I). With ever-shrinking windows of opportunity, time to market is a major deciding factor when selecting an IoT solution, and selecting an end-to-end provider is often the fastest road to market. As their customer base grows, product and application companies soon find that the cost of selecting an end-to-end provider becomes expensive and seek to bring the technology in-house.
The Advantage of End-to-End IoT Solution Providers
End-to-end IoT solution providers offer a Wi-Fi module and back-end (a.k.a. cloud) services that allow communication with the module. The price for the module may be “all inclusive,” which means providers offer future remote software updates to their Wi-Fi module for a fixed price. Organizations such as Microsoft and Ayla provide such solutions with their Azure Sphere and Ayla IoT development kits.
Not having to go through the pain of designing and implementing the module, communication protocol software and doing only minor back-end integration means you are ahead of the game. However, your product is now tightly coupled to the module and service provider, which is a good thing for time to market but not such a good thing for high volume. How do you break loose?
IoT Migration — Breaking Your Product Loose
One consideration companies often miss when racing to market is how they will decouple themselves from external dependencies and become more vertically integrated. As an intelligent leader, you recognize the pitfalls of being tied to a single provider, so you architect your back-end solutions with an abstraction layer to their communication pathway and make note of the web services and user interfaces you will need to develop as well. Because you may have applications tied to mobile devices, you have also added an abstraction layer there as well. This is all fine and good, but how do you get rid of the proprietary Wi-Fi module and its proprietary communication protocol? Additionally, how can you justify hiring staff to do the significant amount of initial development knowing you plan to get rid of them once you go into maintenance and new feature mode?
Contract engineering firms provide temporary development resources and engineers experienced in the field of IoT and back-end services. The engineering staff at these organizations has worked with multiple IoT product manufacturers, so they know the pitfalls and nuances of the Wi-Fi modules and can provide proprietary or nonproprietary communications protocols to communicate with your back-end services. In many cases, there are form, fit and function replacements for the modules with the proprietary protocol. Consequently, if the module is available, the engineers augmenting your team can develop the additional software required to make the module operate in the same manner as the original on your current printed circuit board (PCB).
Back-end service development may involve porting the original traffic between the proprietary services and your replacement services. With expertise in major cloud platforms, such as Amazon Web Services, Microsoft Azure and Google Cloud, the architecture team can provide a cost-optimized path for migration to your new back-end services.
How Your IoT Solutions Company Drives Improvements
Not all wireless modules are the same, but IoT development shops often have experience in validating the operation of a given module within a customer’s operational environment. They integrate either your preferred vendor’s module, a different module you have selected or one of their choosing with an off-the-shelf single board computer (SBC) and have the assembled unit placed in the same proximity within the operating environment and begin sampling data.
A list of sampling data would include:
- the time of the measurement.
- the network access point connected to.
- the frequency being used.
- the power level of the signal.
- a list of other access points within the vicinity that may cause interference.
Additionally, your IoT development company can provide data on the round-trip path through the back-end provider selected. This time series is then plotted, and the results are used to verify the reliability of the data path and thus the probability of success for the given connected device.
Forward-thinking contract development companies ensure that the back-end solution is scalable as well as reliable. With dynamically scalable architecture, application monitoring, expertise in serverless web services (e.g., AWS Lambda) and an eye on security from the beginning of the project, the systems are kept online with minimal round-trip delay times to the IoT device. To ensure the reliability of the product, architects perform a Failure Mode and Effects Analysis (FMEA) and devise mitigations for foreseen issues. Quality assurance (QA) engineers use this, as well as a Fault Tree Analysis (FTA), as a template to design fault injection tests to verify the reliability.
IoT Device Development Caveats to Watch For
No external project is complete without the transfer of the system and software knowledge from the contract organization to the client. In the best case, your contract shop will provide architectural, software and theory of operation documentation, as well as installation and maintenance documentation. Additionally, the on-site incorporation of the contracted developers allows for the priceless experience of assisting permanent staff with monitoring and correcting system issues that arise during operation.
While end-to-end IoT solution providers provide a fast path to shipping a product, the path to high-traffic growth leads to the vertical integration of the IoT communication module, communication path and back-end services — a move that requires an increase in development staff during the development phase. At Cardinal Peak, we provide the required expertise and development resources to minimize the pain and expedite the process. Discover how we can help you develop devices that thrive in today’s networked ecosystems.