Smart is a household word for Internet of Things and it implies the interconnectivity between various devices and users. This leads us to infrastructure of any IoT solution — hardware, firmware, and software parts. While hardware and its associated firmware is vastly diverse, there are a few powerful IoT service providers such as Microsoft, Amazon, and IBM.
Indeed, there is also quite a number of small and middle-sized custom solutions for IoT, but the majority still uses one of the above platforms as their IoT development basis. And that’s logical — why reinvent the wheel if these IoT-as-a-Service solutions are reliable and backed by digital giants.
The question is how to choose between major service providers to satisfy the demands of a particular project best. That is, frankly, determining if the service has the features and capabilities needed. This time, let’s take a close look at Microsoft Azure IoT Suite.
1. MS Azure IoT at a Glance
Microsoft is rightfully considered as one of the major IoT service market players. It’s Azure IoT Suite helps to develop various custom IoT products and easily evaluate their final cost. The deployment of any architecture is also fast and simple.
Microsoft Azure IoT services include:
Hub Device Provisioning
Time Series Insights
Machine Learning Service
Machine Learning Studio
You can integrate these services to most operating systems and devices; collect and analyze torrents of data and then use it for real-time predictive analytics. Sounds impressive, doesn’t it?
To see for ourselves if that’s really the case, let’s examine the services one by one.
2. IoT Hub
Any IoT solution has central communication node. With Microsoft Azure IoT platform, that’s IoT Hub. It provides two-way device-to-device communication— telemetry between all available devices and Azure platform. Using advanced hub capabilities, you can create complex IoT solutions at scale. For example, complex software for managing industrial machinery, monitoring premises in offices, and maintaining smart homes.
You can monitor your connected network, track various events, and receive alarms in case of any issues. To securely transfer data, Azure IoT Hub uses SAS token-based authentication of two basic standards-based types:
- For secure authentication —Individual X.509 certificate
- For simple enrollment — X.509 CA authentication
Besides, inbuilt routing functions of Azure IoT provide flexible messaging adjustment.
2.1 Azure IoT device SDK supports:
- Linux, Windows, and real-time operating systems
- C, C#, Java, Python, Node.js
- HTTPS, AMQP, AMQP over WebSockets, MQTT, MQTT over WebSockets protocols
- For devices that don’t support these protocols, you can configure the hub to work with custom protocols using Edge and Azure IoT protocol gateway.
2.2 Combining IoT Hub with Other MS Azure Services
You can use IoT Hub as a basis for various project architectures and:
- Get fast responses on critical events using Azure Event Grid
- Automate business processes with Azure Logic Apps
- Add ML and AI models using Azure Machine Learning
- Stream transferring data from connected devices and compute logical analysis in real time using Azure Stream Analytics
3. IoT Edge
Use cloud-based AI service from Azure to fully manage your cross-platform projects. The main point is that devices are always on regardless if cloud is enabled or not. Azure IoT device management automatically synchronizes with latest state of devices when they are connected to the cloud thus providing seamless functioning of any related solution.
The MS Azure IoT Edge consists of:
- IoT Edge Modules — Containers that run Azure and 3rd-party services, custom code. Deploying those on the connected devices allows to run them locally.
- IoT Edge Runtime — Controls the deployed modules at every device.
- Cloud-based interface —UI for remote monitoring and management of devices.
Indeed, when monitoring and data collection run locally, handling analytics partially on the edge is really useful. This feature allows reacting on incoming data as well as making relevant decisions faster even with cloud disabled. Besides, the data transfers cost can be significantly reduced since data filtering occurs locally.
4. IoT Central
Azure IoT Central Software-as-a-Service helps to build and manage any kind of IoT-based projects. At its core, any Azure IoT solution consist of:
- A program that receives telemetry from and operates the devices.
- A certain number of devices connected to the program on which a particular code runs.
Azure IoT Central helps create a new application (program) quickly. You can easily customize application to your requirements directly in browser.
4.1 MS IoT Central Roles
This service shares the operational authorizations between the following user roles:
Specifies what types of devices to connect. Sets up the program for Operators.
Runs the associated program.
Performs administrative tasks such as controlling users and their access level.
Creates code for running connected devices.
Using this hierarchy, a lot of mundane tasks can be simplified. For example, as a Builder, you can create templates for connecting devices to your program and reuse it for adding new similar devices.
4.2 Azure IoT Solution Accelerators
These accelerators imply a set of ready-to-deploy solutions for general scenarios such as remote monitoring, connection arrangements, and maintenance of devices. The deployment of solution accelerators encompasses all necessary services of a cloud infrastructure along with any related program code.
4.3 Remote Monitoring Accelerator
Useful for collecting telemetry from, and setting up management of, remote devices such as smart home climate control sensors and industrial sensors at assembly lines.
Using dashboard, you can track measurements from connected devices, set up new edge points, and update devices firmware.
4.4 Connected Factory Accelerator
Collecting and managing remote readings from industrial assets with OPC Unified Architecture interface via informative dashboard. The assets can include assembly stations and test areas on a factory production line.
4.5 Predictive Maintenance Accelerator
Forecasting and preventing failures of remote devices using machine learning algorithms. You can apply this accelerator on solutions to operate various important moving mechanisms such as aircraft engines.
The Predictive Maintenance dashboard displays analytics based on the information received from the predicting system.
4.6 Device Simulation Accelerator
Simulators. This accelerator is great at imitating the devices by creating realistic telemetry. It’s a great service to mitigate real-life risks in real life by checking and adjusting the behavior of other accelerators along with custom IoT solutions.
You can use a web application for modeling various systems.
The most awesome thing is that the source code of all solution accelerators is open and available on GitHub. You can download, set up and integrate them to your project’s requirements.
Read Also - How Much Does It Cost To Create IoT Solution?
5. Azure IoT Hub Device Provisioning
This supporting service provides remote access to the necessary IoT Hub without user interaction. Using this complementary service, you can securely connect and set up the devices in IoT Hub at scale.
As with all other Microsoft Azure IoT platform services, the Device Provisioning supports:
- Various operating systems and platforms
- HTTPS, AMQP, AMQP via WebSockets, MQTT, MQTT via WebSockets protocols for device connection
- HTTPS connections for service operations
There are multiple scenarios available such as:
Connect IoT Hub information using zero touch provisioning (ZTP) that requires no factory hardcoding
Load the devices to balance across multiple hubs
Use sales transaction data to connect devices to their owner’s IoT solution
Connect devices to a specific project depending on scenario
Connect a device to the lowest latency hub
Reprovision due to changes in the device
When not using X.509 authentication certificates, roll the keys used by the device to connect to the hub
Below you can find a scheme of how Azure IoT Hub Device Provisioning can work:
Explore step-by-step scheme of Azure IoT Hub Device Provisioning performance:
- In the Azure portal, the manufacturer adds the device to the enrollment list for registration.
- The factory’s provisioning set receives and passes the necessary identification info about device to the service.
- The device’s identity is validated using registration ID and key against the enrollment list with either standard X.509 verification or nonce challenge (Trusted Platform Module).
- The service registers the device to the hub and fills in its desired twin state.
- Provisioning service receives the device ID from and sends connection information to the hub.
- Not the device can send data to the associated hub.
- Upon connection, the device receives the desired state from its twin.
If you want to Connecting Raspberry PI via MS Azure IoT then read our step-by-step guide - Connecting Raspberry PI via Azure IoT: Step-By-Step Tutorial