IoT technologies have become a natural part of our life. And therefore the number of IoT protocols has grown exponentially. Device manufacturers (e.g. wearables, sensors, or temperature / light / environment controllers) use their own protocols for communication and cloud enablement. The cloud infrastructure can also use custom protocols of a higher level to receive device state updates and management information.
Some platforms use low-level protocols (e.g. COAP) to interact with devices and MQTT to communicate with a central hub. Others use their own standards, built upon HTTP or WebSockets. Central hubs in turn can use a variety of protocols and methods for marshalling data. And imagine the mashup of all those protocols to connect to external services.
Today IoT is expanding it’s borders and creeping into our daily lives. Devices are placed everywhere, various size from tiny things to monstrous automatic machinery. The internal device architecture and design form the constraints on the device behavior. Device protocol, operational cycle, and time are often limited by batteries, the underlying hardware, and existing libraries. The variety of protocols and message types means a typical solution to unite them involves implementing bridge-adapters that are capable of transforming data into a common format.
Bridges are often seen as a pipe accepting messages and passing them to the next collector or adapter-bridge. The central business logic resides in the middle. Central logic responsible for accepting and handling all the messages. The replies are sent back, routed through the channels back to the device and client. A typical solution will require several type of adapters to be deployed. With an increasing number of bridges, fault tolerance requirements should be kept. At this point, cluster maintenance and monitoring becomes important task.