Cross Platform IoT: Developing solutions using Azure IoT on a Mac!
Not so long ago, a search on the words “Mac” and “Microsoft” would reveal results like rivalry, locked-in platform, competitors, etc. The story has dramatically changed in the last few years especially from a Microsoft perspective. Microsoft is embracing Open Source and Cross Platform and opening up gates for developers and end-users to benefit from the Microsoft platform not just on Windows but across any OS or platform.
In this blog series, I will cover some of the Microsoft Azure IoT Cross-platform tools that are available for developers to build IoT Solutions on several operating systems, most of them are Open Source licensed! My focus will specifically be on development and troubleshooting tools for Azure IoT Hub on a non-Windows platform. We will be covering the following tools:
- Azure CLI for IoT
- IoT Hub Explorer
- IoT Hub Diagnostic Utility
- Developing .NET Core apps on Visual Studio for MacOS (Preview)
When should you use these tools
Since most of these tools are cross-platform, they can and should become part of your development and troubleshooting toolkit when developing Azure IoT applications. A few use cases for these utilities include:
- Import/export devices as part of a workflow or script.
- These may be included as part of your CI/CD builds to verify if the environment is setup and working correctly.
- Troubleshooting a Dev / Test environments.
- Monitoring devices for events during solution development. This is pretty handy to test if a message event is coming through or a command is being passed without writing any code!
- And of course, building and deploying cross-platform applications on any OS platform.
Let’s get started
There are multiple pieces to the puzzle, let’s list them down:
- In Part 1, we will install the IoT Module for Azure CLI 2.0 and use the CLI to create a new Resource group and then create an IoT Hub instance in our Azure Subscription.
- Part 2, we will use IoT Hub Explorer to perform some common device operations on our created IoT Hub instance and create a device Identity that we can play with.
- Part 3, we discuss the IoT Diagnostic tool for troubleshooting IoT Hub.
- Finally, in Part 4 we will develop a .NET Core application and connect to our IoT Hub to publish messages and send commands. All of that using Visual Studio for Mac.
Note that in this series we will not connect to an actual device but only show an emulation. The purpose is to demonstrate how we can do rapid development using the provided cross-platform tools. If you are interested in connecting your device to Azure IoT, you can always look at the great samples available here.