In this article, we will be discussing the differences between AWS IoT and AZURE IoT. We first need to understand the functionality to compare their pros and cons.
PROS
AWS IoT | AZURE IoT |
A variety of analytics, connectivity, and IoT software development services. | Easy to navigate development and deployment interfaces. |
Reliable infrastructure for easy scalability. | Great for .NET projects. |
Wide range of SDK platforms to help with mobile and server-side IoT solutions. | Access to Azure functions for edge tasks. |
Access to key cloud privileges such as storage and computing. | Dedicated service for digital twins. |
Wide hardware compatibility | Many handy tools when using windows for IoT. |
CONS
AWS IoT | AZURE IoT |
Some IoT services are expensive in the long run if not optimized before. | Fewer IoT offerings. |
Harder to set up for first-timers. | More Hardware Compatibility restrictions. |
Less mature for AI capabilities. |
OVERVIEW (technical)
Topic | AWS IoT | AZURE IoT |
Protocols | HTTPS, MQTT | HTTPS, MQTT, AMQP, custom ones using protocol gateway |
SDK | C, Node.JS, Java, Python, iOS. | .NET, Java, Python, Node.JS, C, UWP |
Security | TLS(mutual authentication) | TLS (server-authentication only) |
Authentication | X.509 client authentication, IAM service, Cognito Service. | X.509 device certificate, Token base (SAS) per device. |
Communication | Command based(State), telemetry | Command based, telemetry |
Pricing | Per number of messages (To/From) device traffic. | Per IoT unit hub combined with the number of devices and messages per day. |
When we compare the overall result, we can say that AWS IoT does have a lot to offer, but the price offered at Azure IoT has a better deal. In Azure IoT, there is Azure IoT HUB and Azure IoT Central.
AZURE IoT HUB:
- This is a central hub for bidirectional communication between IoT applications and managed devices. IoT Hub is the foundational Platform as a service (Paas) offering device communication, management, and connectivity.
- It is used for an application that does the monitoring of thousands of sensors generating millions of data points daily that facilitates bi-directional communication with millions of IoT devices.
AZURE IoT CENTRAL:
- IoT central is also a service for communication between IoT apps and the device it manages. The difference between IoT Hub and IoT central is that it reduces the challenges of implementing IoT development, operations, and management. IoT Central is a fully manages Software as a Service solution (Saas). This is made for beginners to get acquainted with the IoT landscape.
Getting started with Azure IoT:
There is a detailed explanation to get started with the ESP32 microcontroller and interfacing it with the Azure IoT central. This link will direct you to the official Microsoft documentation, which is subject to change in the future.
Before we implement the protocol/communication on our ESP32 to publish data onto our Azure IoT Central, we need to install the Azure-SDK-C library in manage libraries under the tools tab or directly download it from the link provided above. Later, install it by placing it in the Arduino libraries.
After installing the library, go to examples under the file tab and search for Arduino-SDK-for-c and go to the Azure_IoT_Central for ESP32 and follow the link provided above to get the authentication token and security code. Once we Implement this code we will be able to see the following result.
If we are to customize the project concerning our sensor of interest, there are multiple tab options to edit the variables and code accordingly. It is a time-intensive process and requires changes in the whole program. If you’re interested in implementing your code, debug the program and edit the changes made according to your needs.