Microsoft's IoT Virtual Bootcamp
Microsoft was famously slow to embrace "the cloud" to the detriment of many integration and reseller partners. The company seems determined to make up for that by jumping with both feet into the Internet of Things, propelled by multiple Azure Cloud services.
As evidence one need only look at all the educational resources Microsoft's providing. Start with the IoT in Action Webinar Series page and you'll find multiple specialized IoT webinars as well as IoT in Action Solution Builder Conference information (the next one is in Houston on April 16, 2019). The registration page shows 11 on-demand webinars at present, as well as three Business Transformation webinars scheduled for the second week of May, 2019.
To get a more general background on IoT fundamentals, we focused on Microsoft's on-demand IoT Virtual Bootcamp. In the end, it gave us something expected (Microsoft sales pitches) and something unexpected: IoT support services with a width and breadth that surprised us in their maturity.
One key slogan several presenters used was, "IoT is a business revolution enabled by a technology revolution." If you accept that, and you should, then Microsoft can provide considerable help as you explore the world of services powered by IoT.
First up, Ruston Panabaker, vice president, IoT partner devices & solutions for Microsoft, introduced the tools and services to be used during the sessions. Defining the foundations like Intelligent Cloud and Intelligent Edge, Panabaker explained where various Azure services operated and how they all fit together. IoT has moved, he said, from the hype cycle to the practical cycle. A long list of companies large and not quite so large filled one slide. Accenture, Infosys, Schneider Electric, ActionPoint, Dell EMC, Intel, Docker, Red Hat, Arrow, and Avnet are just a few of the partners involved.
Siddharth Khattar, director of engineering, Arrow Electronics, took over from there. He outlined how Arrow and Microsoft work together to help IoT developers "From Sensor to Sunset." Over 1,000 Azure IoT devices have already been certified by Microsoft, many developed with Arrow products and built on Azure building blocks.
Khattar outlined Arrow's "Design, Implement, Manufacture, and Deploy" range of services and gave some estimates of the IoT market opportunity (big now and growing). There's a special Microsoft IoT Solutions landing page that offers a wide range of resources. The rest of Day One focused on various Azure IoT services and labs with the MXCHIP IoT DevKit purchased from Arrow.
Microsoft then laid out its IoT services to be used during the bootcamp. These include both PaaS and SaaS Azure offerings. Azure IoT Solution Accelerators, preconfigured solutions for common IoT scenarios such as remote monitoring and predictive maintenance, fall under PaaS. Azure IoT Central, its fully managed IoT SaaS offering with "no cloud solution expertise required," falls under SaaS. Modules include Azure IoT Hub, Stream Analytics, Time Series Insights, Machine Learning, Logic Maps, and more.
Azure IoT Hub is the cloud gateway between IoT devices and the back-end services that turn device output into usable information. It supports secure, bidirectional communications with billions of devices sending trillions of messages. If you develop an IoT product and link through the Azure IoT Hub, Microsoft will do the heavy lifting for communications, management, and support at enterprise scale.
Azure IoT Edge extends cloud intelligence and analytics down to the IoT device. This option works best if the IoT device data needs to be modified in some way, such as sending an average reading every hour rather than an actual reading every minute. It also adds a buffer if communication to the back end is slow or unreliable. The same programs you develop to run in the cloud can run on edge devices.
Getting to work on the MXCHIP IoT DevKit requires some preparations. We added USB drivers to connect our laptop to our MXCHIP board and configured the board's Wi-Fi so we could update its firmware.
You'll need access to Visual Studio Code with the Azure IoT Device Workbench extension so you can download and install the Arduino IDE. You can sign up for trial versions of the Visual Studio software if you're not using that software suite. Once logged in, the workbench examples are already coded and ready for you to download to the board.
The first project was to use Azure Cognitive Services to translate words from one language to another through the voice interface of the MXCHIP hardware. Although the speech buffer is so small we could only translate one word at a time, the fact that the answer came down from a cognitive cloud translator on Azure in about two seconds was impressive. A chip with an LED display shows the translated word on the MXCHIP board.
Once introduced to the various IoT solution pieces from Arrow and Microsoft and how they work together thanks to Azure cloud services, bootcampers move on to content about real, commercial services, starting with on overview of Azure Sphere and how it can secure and manage IoT devices.
One of those devices can now be Windows 10 IoT software running on a Raspberry Pi. Two flavors are available at present, Win10 IoT Core and Win10 IoT Enterprise. Check out http://www.windowsondevices.com/ for all the details. Besides Raspberry Pi Module 3, devices with chips from AMD, Intel, and Qualcomm are supported. Both OSs come with 10-year support. It was a little surprising to see a version of Windows running on the tiny and low-powered Raspberry Pi system.
With such hardware available, IoT Edge devices that provide processing become feasible. The example provided used machine learning (ML) via the Python programming language to teach a visual system to differentiate between Mustangs and Corvettes. After a relatively small sample base, the system could decide with 85 percent certainty if a car was closer to a Mustang or a Corvette.
Another ML example worked to tag apples versus bananas. Only 15 photos were needed to train the software thanks to help from the Azure Cognitive Services software. Using a sample docker container for Image Classification using OpenCV (computer vision), the demo did image capture and classification in near real time, without having to use TensorFlow software or GPUs. If speed is important in the application, adding those two features does improve performance considerably.
The summary for the second part of the virtual bootcamp stressed Microsoft's slogan of "Microsoft is simplifying IoT." Working with hardware from suppliers like Arrow, Microsoft ISVs can now create IoT devices to perform an amazing range of business services while leveraging Azure for the back-end processing, management, and security. Panabaker summed up the virtual bootcamp by admitting that IoT can be complex, but it's a great opportunity for many resellers.