The Internet of Things (IoT) is the network of physical objects or “things” embedded with electronics, software, sensors, and network connectivity, which enables these objects to collect and exchange data. 

IoT allows objects to be sensed and controlled remotely across existing network infrastructure, creating opportunities for more direct integration between the physical world and computer-based systems, and resulting in improved efficiency, accuracy and economic benefit. 

Internet of Things – the network of physical objects with sensors and actuators, software and network connectivity that enable these objects to gather and transmit data and fulfil users’ tasks. 

“Things,” in the IoT sense, can refer to a wide variety of devices such as heart monitoring implants, bio-chip transponders on farm animals, electric clams in coastal waters, automobiles with built-in sensors, DNA analysis devices for environmental/food/pathogen monitoring or field operation devices that assist fire-fighters in search and rescue operations.

These devices collect useful data with the help of various existing technologies and then autonomously flow the data between other devices. 

The Internet of Things is transforming our physical world into a complex and dynamic system of connected devices on an unprecedented scale. 

Advances in technology are making possible a more widespread adoption of IoT, from pill-shaped micro-cameras that can pinpoint thousands of images with in the body, to smart sensors that can assess crop conditions on a farm, to the smart home devices that are becoming increasingly popular. But what are the building blocks of IoT and it’s architecture.? 

Basic elements of IoT architecture

Our approach to IoT architecture is reflected in the IoT architecture diagram which shows the building blocks of an IoT system and how they are connected to collect, store and process data.

  • Things. A “thing” is an object equipped with sensors that gather data whichwill be transferred over a network and actuators that allow things toact (forexample, to switch on or off the light, to open or close a door, to increaseordecrease engine rotation speed and more). This concept includes fridges, streetlamps, buildings, vehicles, production machinery, rehabilitation equipment andeverything else imaginable. Sensors are not in all cases physically attachedtothe things: sensors may need to monitor, for example, what happens intheclosest environment to a thing.
  • Gateways. Data goes from things to the cloud and vice versa throughthegateways. A gateway provides connectivity between things and the cloudpartof the IoT solution, enables data prepossessing and filtering before movingit tothe cloud (to reduce the volume of data for detailed processing andstoring)and transmits control commands going from the cloud to things. Things thenexecute commands using their actuators. 
  • Cloud gateway facilitates data compression and secure data transmissionbetween field gateways and cloud IoT servers. It also ensures compatibilitywithvarious protocols and communicates with field gateways using differentprotocols depending on what protocol is supported by gateways. 
  • Streaming data processor ensures effective transition of input data toadatalake and control applications. No data can be occasionally lost or corrupted. 
  • Data lake. A data lake is used for storing the data generated by connecteddevices in its natural format. Big data comes in “batches” or in “streams”. When the data is needed for meaningful insights it’s extracted froma datalakeand loaded to a big data warehouse. 
  • Big data warehouse. Filtered and preprocessed data needed for meaningful insights is extracted from a data lake to a big data warehouse. Abigdatawarehouse contains only cleaned, structured and matched data (compared to data lake which contains all sorts of data generated by sensors). Also, datawarehouse stores context information about things and sensors (for example, where sensors are installed) and the commands control applications sendtothings. 
  • Data analytics. Data analysts can use data from the big data warehousetofindtrends and gain actionable insights. When analyzed (and in many cases–visualized in schemes, diagrams, infographics) big data show, for example, the performance of devices, help identify inefficiencies and work out thewaystoimprove an IoT system (make it more reliable, more customer-oriented). Also, the correlations and patterns found manually can further contribute tocreatingalgorithms for control applications. 
  • Machine learning and the model’s ML generates. With machine learning, there is an opportunity to create more precise and more efficient models for control applications. Models are regularly updated (for example, once in a week or once in a month) based on the historical data accumulated in a big data warehouse. When the applicability and efficiency of new models are tested and approved by data analysts, new models are used by control applications. 

Control applications send automatic commands and alerts to actuators, for example: 

When sensors show that the soil is dry, watering systems get an automatic command to water plants. 

Sensors help monitor the state of industrial equipment, and in case of apr failure situation, an IoT system generates and sends automatic notifications to field engineers. 

The commands sent by control apps to actuators can be also additionally stored in a big data warehouse. This may help investigate problematic cases (for example, a control app sends commands, but they are not performed by actuators – then connectivity, gateways and actuators need to be checked). On the other side, storing commands from control apps may contribute to security, as an IoT system can identify that some commands are too strange or come into big amounts which may evidence security breaches (as well as other problems which need investigation and corrective measures). 

Control applications can be either rule-based or machine-learning based. In the first case, control apps work according to the rules stated by specialists. In the second case, control apps are using models which are regularly updated(once a week, once in a month depending on the specifics of an IoT system) with the historical data stored in a big data warehouse. 

Although control apps ensure better automation of an IoT system, there should be always an option for users to influence the behaviour of such applications (for example, in cases of emergency or when it turns out that an IoT system is badly tuned to perform certain actions). 

User applications are a software component of an IoT system that enables the connection of users to an IoT system and give the options to monitor and control their smart things (while they are connected to a network of similar things, for example, homes or cars and controlled by a central system). With a mobile or web app, users can monitor the state of their things, send commands to control applications, set the options of automatic behaviour (automatic notifications and actions when certain data comes from sensors). 

  • Device management 

To ensure sufficient functioning of IoT devices, it’s far not enough to install them and let things go their way. There are some procedures required to manage the performance of connected devices (facilitate the interaction between devices, ensure secure data transmission and more):

Device identification to establish the identity of the device to be sure that its a genuine device with trusted software transmitting reliable data. 

  • Configuration and control to tune devices according to the purposes of an IoT system. Some parameters need to be written once a device is installed(for example, unique device ID). Other settings might need updates (for example, the time between sending messages with data). 
  • Monitoring and diagnostics to ensure the smooth and secure performance of every device in a network and reduce the risk of breakdowns. 
  • Software updates and maintenance to add functionality, fix bugs, address security vulnerabilities. 
  • User management 

Alongside device management, it’s important to provide control over the users having access to an IoT system. 

User management involves identifying users, their roles, access levels and ownership in a system. It includes such options as adding and removing users, managing user settings, controlling access of various users to certain information, as well as the permission to perform certain operations within a system, controlling and recording user activities and more. 

  • Security monitoring

Security is one of the top concerns in the internet of things. Connectedthingsproduce huge volumes of data, which need to be securely transmitted and protected from cyber-criminals. Another side is that the things connected to the Internet can be entry points for villains. What is more, cyber-criminals can get the access to the “brain” of the whole IoT system and take control of it. 

To prevent such problems, it makes sense to log and analyze the commands sent by control applications to things, monitor the actions of users and store all these data in the cloud. 

IOT Interface:

IOT Business Application:

IOT Framework Model:

IoT architecture example – Intelligent lighting 

Let’s see how our IoT architecture elements work together by the example of smart yard lighting as a part of a smart home – a bright illustration of how an IoT solution simultaneously contributes to user convenience and energy efficiency. There are various ways a smart lighting system can function, and we’ll cover basic options.

Basic components 

Sensors take data from the environment (for example, daylight, sounds, people’s movements). Lamps are equipped with actuators to switch the light on and off. A data lake stores raw data coming fromsensors. Abigdatawarehouse contains the extracted info smart home dwellers’ behaviour invarious days of the week, energy costs and more. 

Manual monitoring and manual control 

Users control smart lighting systems with a mobile app featuring the mapof theyard. With the app, users can see which lights are on and off andsendcommands to the control applications that further transmit themtolampactuators. Such an app can also show which lamps are about to be out of order. 

Data analytics 

Data analytics also helps in assessing the effectiveness of the IoT system and revealing problems in the way the system works. For example, if auserswitches off the light right after a system automatically switches it on and vice versa, there might be gaps in the algorithms, and it’s necessary to address themas soon as possible. 

Automatic control’s options and pitfalls

The sensor monitors natural light sends the data about the light to the cloud. When the daylight is not enough (according to the previously stated threshold), the control apps send automatic commands to the actuators to switch on the lamps. The rest of the time the lamps are switched off. 

However, a lighting system can be “baffled” by street illumination, lamps from neighboring yards and any other sources. Extraneous light captured by sensors can make the smart system conclude that it’s enough to light, and lighting should be switched off. Thus, it makes sense to give the smart system a better understanding of the factors that influence lighting and accumulate these data in the cloud. 

When sensors monitor motions and sounds, it’s not enough just to switch on the light when movements or sounds are identified in the yard or switch all the lamps off in the silence. Movements and sounds can be produced, for example, by pets, and cloud applications should distinguish between human voices and movements and those of pets. The same is about the noises coming from the street and neighboring houses and other sounds. To address this issue, its possible to store the examples of various sounds in the cloud and compare them with the sounds coming from the sensors. 

Machine learning 

Intelligent lighting can apply models generated by machine learning, for example, to recognize the patterns of smart home owners’ behaviour (leavinghome at 8 am, coming back at 7 pm) and accordingly adjust the timewhenlights are switched on and off (for example, switch the lamps on 5minutesbefore they will be needed). 

Analyzing users’ behaviour in long-time perspective, a smart systemcandevelopadvanced behavior. For example, when sensors don’t identify typically

movements and voices of home inhabitants, a smart systemcan “suppose”thatsmart home dwellers are on a holiday and adjust the behavior: for example, occasionally switch on the lights to give the impression that the houseis notempty (for security reasons), but do not keep the lights on all thetimetoreduce energy consumption. 

User management options 

To ensure efficient user management, the smart lighting systemcanbedesigned for several users with role distribution: for example, owner, inhabitants, guests. In this case, the user with the title “owner” will havefull control over the system (including changing the patterns of smart lightbehavior and monitoring the status of the yard lamps) and priorities ingivingcommands (when several users give contradicting commands, anowner’scommand will be the one control apps execute), while other users will haveaccess to a limited number of the system’s functions. “Inhabitants” will beenabled to switch on and off the lamps with no opportunity tochangesettings. “Guests” will be able to switch on and off the light in some parts of thehouse and have no access to controlling the lights, for example, near thegarage. 

Apart from role distribution, it’s essential to consider ownership (as soonasone system can control over 100 thousand of households, and it’s important that a dweller of a smart home manages the lighting in his yard, and not theone of a neighbor).

IOT Home Automation Used Case:

References: