Developer’s Bird’s Eyeview On IoT Ecosystem
Internet of Things is a network of physical objects which may include vehicles, buildings, devices and other items embedded with software, sensors, electronics and network connectivity. These embedded equipment allow objects to collect and exchange data. This implementation is not at all an easy task and for many reasons it includes the complex nature of different components of IoT’s. To understand the gravity of the complication involved we all have to understand the components of IoT which make the IoT ecosystem work.
Basically, IoT is made up of elements which can be categorized into three parts:
- Hardware
- Software
- Cloud
In IoT, hardware working is like decreasing the size of devices and moving into a system which does not require a battery. Once the data from the sensors are collected, this information needs to be filtered and then sent to the end user. The user can be individual as a consumer or commercial or industrial. Once the information is provided it can be easily visually represented on mobile devices. Common elements to be found in hardware are low energy sensors, communication services – gateways, modems, routers, touch screens and battery support/power.
Along with the hardware, now the software is taking some spotlight. A software is an application program interface. And a software development kit lets you build IoT solutions. The software allows enterprises to see real-time metrics and data pre and post-cloud analysis.
Nonetheless is Cloud. Cloud solutions allow for complex and large processes to be completed away from the device. The data gathered is transmitted to a cloud-based service where information is coming from IoT device and is aggregated with other cloud-based data for providing useful information for the end user.
For generating a general flow of data across the IoT platform we have:
- Devices which includes computing cards and sensors
- Communications gateways
- IoT communications cloud
- Back-end applications
1- Devices
IoT device has sensors. Optionally they also have a controller which can be run by computing card which affects some changes, for example, turning off the device to which it is attached. These computing cards have CPU and a wireless network or LAN card which run a version of Linux or even a something which is even smaller like FreeRTOS. Computing cards have a web server. Web server enables connected users to perform administrative, which enables connected users to perform administrative tasks and an ssh shell (SSH (Secure Shell) is a software package that enables secure system administration and file transfers over insecure networks, such as the Internet) which allows them to log in and program it.
Devices are programmable with the manufacturer’s APIs and the custom code is written by the user. Programmers use regular programming languages also like Python. And then the IoT cloud vendor has APIs. Sensors comprise of the camera, light level monitor, magnetometer, motion sensor, gyroscope, humidity, temperature, air quality, flow, etc. Such device sensors are low-cost devices which can be plugged into a computing card such as Intel Edison, Bosch XDK or Raspberry Pi. Some devices like Z-Wave are standalone and connect to the network using short-distance radio protocols.
2- Gateways
The gateway converts serial to Ethernet protocols which are commonly seen in programmable logic controllers (PLCs). Gateways also help in converting low bandwidth IoT protocols to Ethernet. This ensures that signals can travel across the local network and the internet.
3- IoT Cloud
There are several components in IoT cloud as it not only handles communications with IoT devices, it also performs the desired maintenance for the devices. This can be understood that it can designate a device as “offline” when it needs to be replaced. IoT cloud also runs apps developed by developers to respond to the events coming from the IoT devices. The business applications can be run on the IoT vendor’s cloud, the customer’s public or private cloud or both.
Data gathered from IoT devices can be processed by applications commonly referred as ‘fog computing’. FogComputing applications are designed to take action on the data locally.
4- Dashboard
IoT cloud also has a dashboard where users by using software or mobile application can monitor devices.
5- Communications
So let us see how does all the data get from the devices to the IoT communications cloud? IoT uses HTTP and MQ. HTTP is a standard protocol which is used by world wide web. MQ which is short for ‘message queue’ is a messaging protocol used to send data in a way that nothing gets lost. HTTP defines what actions must the servers and browsers take in response to various commands they receive and how messages are formatted and transmitted. MQ handles the flow of data.
IoT network also comprises of physical device components which are wired networks, Bluetooth, Wi-Fi, routers (gateways), ZigBee, Z-Wave and more. Along with the physical component, the IoT also include cellular communications by using a machine-to-machine cellular network or regular wireless carrier. The cloud can take care of preparing the SIM cards in IoT devices themselves and it also communicates well with customer’s network.
6- Event Processing
An IoT device runs on applications which need some sort of custom code or rules engine for creating alerts based on the data. This can be understood with an example like an alert would be sent to the dashboard and a technician if on an industrial machine vibration goes outside the programmed norms. Such device can also be programmed to create a maintenance work order in Enterprise Resource Planning preventive maintenance system.
7- Analytics
IoT data and information is stored and collected in large databases for real-time and offline analytics. The aim is the to find a correlation between variables, spots trends, make observations which users can use to adjust processes. This database information can be analyzed using statistical and machine learning tools in analytics packages or compiled manually into spreadsheets.
8- Identity Management
Identity management refers to controlling who has an access to what devices, computers, and applications in IoT cloud. Identity management holds great relevance due to security risks involved and is often required by many industries as mandated regulation.
Internet of Things (IoT) ecosystem is an ever-increasing complex web that’s the next wave of innovation which will just about humanize every object in our life. Technologies make the IoT implementation faster and easier, and the quality of life is expected to improve unless we don’t mix our priorities some weird way!
Don’t miss to grab some more “IoT” knowledge:
IoT Fuelling Enterprise Mobility
7 IoT Trends Of 2016 That Will Also Trend In 2017
Source: Algoworks' blog