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.
Original article - Microsoft Azure IoT Suite: Benefits and Features
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.
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:
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.
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.
## Using Azure IoT device SDK
The 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.
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
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.
## 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.
## MS IoT Central Roles
This service shares the operational authorizations between the following user roles:
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.
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.
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.
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.
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.
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?
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:
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
- In the Azure portal, the manufacturer adds the device to the enrollment list for
- 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
This series of posts document a high-level process to use when planning a modern web application, from project organization, collaboration considerations and tooling choices during development, all the way through deployment and performance strategies.