The IoT Gateway Software SDK and Customisable hardware
1. Introduction – School of thought
A classic Embedded/Electronic device is just a standalone device, but today the device needs to be classified as classic or connected. Millions of such smart intranet & internet connected devices are currently available in the industry, the technology transformation is moving at a high rate from classic to connected. So, if this is the case, a common protocol and communication standard is required for these devices to share data among each other and be able to communicate to the cloud or from/to an intelligent network. Interoperability and easy method for exchange of information among connected devices is of utmost importance for the growth of Enterprise/Industrial IoT. However, the device vulnerabilities are also there on the other side of the story and needs to be addressed with no compromise. Having said that, there would be an immediate requirement for a standard at each level, say – connectivity type, data formatting, supporting protocols, deployments, management & maintenance of devices: Over the Air updates, remote debug & diagnostics, etc are likely to arise owing to the fact that IIoT is not just a network of internet-connected machines, but of machines, humans, and so on – and this standard should become universal – but seems highly unlikely due to a myriad of devices, multiple protocols and many standards.
Unfortunately, there is no standard framework that connects Up-Down, Left-Right and South-North entities within the IoT Gateway device to accommodate industry needs and standards. Well, it may take some time due to its complex structure, a variety of devices & machines involved etc,. We at Semiconsoul Technologies attempted to solve these issues.
It has been five plus years we invested our time to understand the dynamics of a connected device, from simple sensors to a million dollar industrial elements, tens of messages to tons of messages, typical commercial platforms to complex enterprise/industrial solutions. And Semiconsoul came up with Common Communication and Control Framework, we call it C3FTM
2. Need for IoT Gateway SW SDK
A traditional gateway is a “network-node” that connects two networks using different protocols together. While in an IoT spectrum the role of a gateway is much beyond compared to that of “Network-node”.
The most important component is a software component within the gateway, which is an unsung hero in the whole IoT(Industrial, Enterprise or Consumer) spectrum.
Any IoT Gateway or bridge should have an application to bridge cloud platforms (upstream communication) and the sensors/peripherals around the gateway(downstream communication).
The idea is to bring all the essential components involved in the IoT gateway software landscape under one framework. The gateway shall be able to communicate with downstream sensors, with the upstream cloud servers. The gateway should be able to handle control operations within the gateway and also should be able to delegate to nearby nodes. And also to address market demand. It is important to have
- A comprehensive framework to bring all gateway requirements in one place.
- To achieve competitive advantages and time-to-market.
- Flexible development and debugging methods.
- Highly configrable options to take control of gateway attributes.
- Timely reporting of business interests and health attributes
- Ease of maintenance and troubleshooting.
- Over the air updates for self and nearby nodes.
- Flexible to adapt communication protocols and connectivity adaptors.
2.1. Technology and Language Support
We explored different languages to build the framework finally, we decided to go with C++ due to the below reasons
- It is a middle-level language which communicates very close to the hardware layer and yet very simple to code when compared to other low-level languages.
- A direct derivative of C, it is everything C is and more. The added abilities like data abstraction, classes, objects, etc empower C++ to handle complex tasks such as devices that serve multiple functions or handling multiple sensors, yet offering a great performance comparable to C.
- C++ offers better performance and memory efficiency as compared to Java.
- C++ creates a more compact and faster runtime code when compared to python.
2.2. Gateway SW SDK in the context of IoT Gateway
The architecture of an IoT Gateway is much more complex than a simple gateway due to below reasons
- The gateway should be able to handle a huge number and variety of devices in the field.
- The gateway should be able to connect seamlessly to the different protocols that these devices/sensors can communicate and translate them to a protocol that can be connected to the internet.
- The gateway should be able to maintain, control and do some pre-processing of the data before it can send the data from the devices/sensors to the cloud. This enhances the performance of network utilization.
- Also, the gateway should be able to support future disruptive technologies via simple OTA updates instead of re-designing the entire gateway to support such technologies.
IoT Gateway SW SDK is a one-stop solution for the above reasons to build a comprehensive and flexible IoT gateway.
2.3. IoT Standards, GW Software and Industry
Have seen in one of the articles, a gentleman described as below –
In recent months there has been an ongoing analogy comparing the confusing plethora of proposed standards for the Internet of Things (IoT) to The Tower of Babel from the Book of Genesis. –Anonymous (one of the Linkedin articles).
There it raises a question about “defining standard for an IoT industry?”. Considering the complexity involved in IoT and its industrial and enterprise applications, the software on the gateway should be capable of handling a variety of devices, different industrial communication(MODBUS, PROFIBUS, EtherCAT etc) and networking protocols, supporting various connectivity devices (Ethernet, WiFi or Cellular( – 2G ,3G, LTE, NBIoT) modems) to access the internet.
Looking at its complex structure, it may take a decent enough time to fit these standards into one-single-rule-book.
2.4. IoT Standards, GW Hardware and Industry
How can a standard IoT gateway exist in a market where there are no standards set for IoT yet? It seems, the so called Standard-IoT-Gateway is a market manifested word and not a manufactured device. If the standard refers to the strength of the casing and make? Yes, there are strong gateways w.r.t hard-casing, desktop like configuration & peripherals – at the end it is a compact, fan-less computer with detached screen and an attached cellular modem. Not sure why one should go for these hardwares is may be because of brand? After sale service? Lack of clarity on business requirements? Skeptical about new hardware Design, Development? Maybe it’s an individual business choice, but otherwise start questioning.
- Why should one pay for the piece of hardware that is part of gateway but never used in its lifetime?
- How much business logic really uses its configuration, resources and capabilities to the possible extent?
- How many sensors to be handled by a gateway in a given time frame?
- What would be the volume of message packet ingress/egress?
- Does the gateway need to be involved in any data processing on the edge?
- Does the gateway need to be involved in any decision making?
- Should this gateway be responsible for OTA updates for the gateway itself and nearby nodes?
2.4.1. Need for customized Hardware?
Having said all the above, there are two notions in the market about choice of a gateway/hardware (1) Go with a standard vendor/gateway or in other words don’t go for customized (2) Design a custom gateway inline with business goals and customer demand. Neither of these notions can be discarded just like that. Both make sense if one has a clear understanding of the required technical capabilities of a gateway hardware for the business context and purpose.
Customizing a hardware or designing a custom gateway and/or sensors would become inevitable when the business scales and volume increases. Let me dig a little deeper. Every IoT solution is associated with a web application and cloud platform. And most of these components are reusable(Configure-to-order). In-fact the hardware also can be designed to be modular and reusable. On the other hand, the marketing folks would definitely encounter a variety of requirements when they speak of solutions for Industry-4.0. It is obvious that they have to deal with all sorts of devices, machines and data telemetry protocols. Given this situation, is it not a good idea to take advantage of the already-developed technology and reusable components? And not to be handicapped by challenges? Well, It needs a decent investment on Technology Research and Development. Of Course, continuous research and development is the backbone for any sustainable business to align with the technology innovations and to be on top of emergent and disruptive technologies.
3. Gateway Device Management
One should look at Mobile Device Management (MDM) and IoT-Gateway Device Management as different aspects in terms of – a variety of connected devices, number of IO requests on each device, the number of messages to be pushed to the cloud platform, business focus, Security, peripheral scape, message/peripheral scale and many. The spectrum of the IoT gateway applications ranges from simple sensors to complex machines and many. So, IoT Gateway/Device Management is far exceeding that of MDM. C3FTM Gateway Device Management supports a wide range of features.
- Remote Diagnostics & Recovery Management
- Device Health Management – Monitory and Recovery
- Policy management
- Over The Air updates – self and surrounding nodes
- Continuous log analysis – log, upload, analyze and report.
- Configuration management
4. Market Persona
The IoT gateway market has been growing at a fast pace in recent years. According to a global study by Technavio in 2017, the industrial IoT gateway market alone will grow to around $1.4 billion by 2021. The wider picture being that without IoT gateways, the economic impact of the IoT industry may not be fully realized. Consulting firm McKinsey puts that impact as being between $3.9 trillion to $11.1 trillion a year by 2025 making it, an opportunity that shouldn’t be undermined by using unsuitable tools. According to the Technavio report, the main reasons for growth in this market are:
- A rising need to achieve competitive advantages
- New technical advancements and capabilities in industrial IoT gateways
- An increased amount of data generation due to industrial IoT use cases.
(…a lot to do, will be back with more !)