Microsoft UK just wrapped up their Data Culture event series which provided full days worth of content covering the Microsoft Data Platform, Business Intelligence and Analytics features through a variety of tracks.
Robert Hogg, Black Marble’s MD, along with Paul Foster from Microsoft DX ran the IoT track which looked in detail at what IoT is and how Microsoft are providing features through Microsoft Azure to power the internet of things.
I was brought along to the events to help out with the hands-on-lab sessions which gave developers an in-depth look at Azure Event Hubs, Stream Analytics and how you can connect wireless sensors to devices such as the Raspberry Pi and have those communicate with the Azure services.
As a quick overview, Event Hubs is an ingestion service hosted in the cloud that provides telemetry ingress at large scales with low latency. This means that the Event Hub can handle large quantities of input publishers as well as the consumers for the hubs at the other end.
Stream Analytics is a cloud service providing low latency, scalable complex processing of large quantities of data. The data provided to the Stream Analytics services can come from multiple inputs and one of those is the Event Hub.
These features are soon to be integrated into a single entity available through the Microsoft Azure cloud platform called the Azure IoT Suite which you can find out more from the links further on in this post.
As an example of how the two features above communicate together, you could use the services to detect fraud in real-time using an Event Hub as your main entry point for data which processes that through a query in Stream Analytics for aggregation or alerting and then sending the results to an output sort to gain insight, possibly using Power BI.
Where the data comes from however is where your ‘things’ come into play. Gathering data from your sensors or other data capture inputs and sending them to your Event Hubs is the first step to getting connected.
The whole end-to-end solution shows how you make an ‘internet of things’ and gather insightful information, not data, that you can use to improve on or trigger automatic changes in your systems.
If you’re interested in finding out about Internet of Things, Event Hubs and Stream Analytics, here are few good resources from the past couple of months to get you started:
Internet of Things – Microsoft Tech Days Online 2015
Gaining Real-Time Insight from Sensors, Applications and the Internet of Things – Microsoft Ignite
Real-Time Analytics at Scale for Internet of Things – Microsoft Ignite
Windows 10 and IoT
While at Build, Microsoft announced the release of the Windows 10 IoT Core for Raspberry Pi which enables your Pi to become a Windows 10 PC running the basic core functionality available from the OS. This means that you can run Windows 10 UWP apps straight on your device from Visual Studio.
If you’re interested in getting yourself started with IoT development with Windows 10 and the Raspberry Pi, download the preview OS here and run through the steps to get yourself set up!
Once you’re running the OS on the Pi, you have two methods to deploy your UWP AppX files to your device. You can do this through the Web UI by navigating to [devicename].local/AppXManager.htm or you can remote debug through Visual Studio. If you’re opting for the second option, you’ll need to enable remote debugging on the Pi as follows from an admin PowerShell window:
Enter-PsSession -ComputerName [devicename] -Credential [devicename]\administrator
When the dialog pops up to authenticate, the password for the device will be, by default, p@ssw0rd but you can change this later.
When connected, you’ll want to run the following command:
schtasks /run /tn StartMsvsmon
This will start the service which allows you to remote debug on your Raspberry Pi through Visual Studio with the “Use authentication” checkbox unticked as authentication is not required.
Now you can get started with deploying your own UWP apps, with or without a UI. If you’ve got a display connected, the experience of running a Windows app on a device like the Pi will have you in awe.
Happy developing!