The only thing standing between IoT Hub and Functions are Consumers groups

Traditionally, when telemetry arrived at an Azure IoT Hub, it was a rule of thumb to pass it to a Stream Analytics job. But when routing was introduced in the IoT Hub, it became possible to push the telemetry directly into an EventHub or a Service Bus too.

I still favor the many possibilities of the Stream Analytics job, working with temporal and geospatial data eg. is so much easier that way.

But I can configure a lot of other, new Azure resources after the Event Hub or the Service Bus.

For example, IoT Hub routing to an Event Hub makes it possible to pass telemetry to Azure Functions (using the EventHubTrigger). This opens a whole new world of Azure opportunities using only an EventHub in this case! But it can be done even simpler…

Continue reading “The only thing standing between IoT Hub and Functions are Consumers groups”

Test the protocol availability of your Azure IoT Hub

Yesterday I discovered this little gem on Github. This NodeJS tool is advertised as:

“This tool is provided to help diagnose issues with a device connecting to Azure IoT Hubs.”

What it basically does, is calling your IoT Hub and trying to make a connection using Ping, AMQP, AMQP-WS, HTTPS and MQTT. It just checks the availability.

This is the outcome of a typical call:

I can think of calling your service once or more times every day, to check the availability.

What do I have to do for this to get it running?

Continue reading “Test the protocol availability of your Azure IoT Hub”

How to run Azure IoT Suite a few days more (before running out of Azure credits)

Microsoft provides a great IoT platform on Microsoft Azure. And next to the resources (IoTHub, StreamAnalytics, etc.) available on Azure, Microsoft also offers a great introduction named Azure IoT Suite. and they are very serious about it!

To be clear, The IoT Suites are not complete solutions to be used as-is or even to be sold as-is. They have to be handled as a reference architecture… Use them to get started, use them to demonstrate the capabilities of the Azure IoT platform or use them as a piece of discussion for your future solution. Microsoft even helps you by providing the inner logic as open source. So you can extend it yourself. And they even show some examples on how to extend these suites.

At this moment, there are three preconfigured solutions:

  1. Remote Monitoring
  2. Predictive Maintenance
  3. Connected Factory

These are all three great solutions. There are simulated devices and you can add your own devices too. For example, the Connected Factory can connect to real devices using the OPC technology.

Note: For now, Predictive Maintenance and Connected Factory are out of scope for this article.

But there is one issue: it’s ‘expensive’. For example, this is what’s generated for the Remote Monitoring example:

  • 1 Azure Active Directory application
  • 1 IoT Hub (S2 – Standard tier)
  • 1 DocumentDB Account (S1)
  • 2 Event Hubs (Basic throughput unit)
  • 1 Storage account (Standard-GRS)
  • 3 Stream Analytics jobs (1 streaming unit per job)
  • 1 Azure App Service Web App for Website (P1 – Premium: 2 small)
  • 1 Azure App Service Web App for Web jobs (S1 – Standard: 2 small) running 25 simulated devices by default

Here are some examples. The S2 IoT Hub itself costs 421 euros. The two App Service Plans behind the web services consume 250 euros together. And there are three Stream Analytics jobs, each will cost 75 euros.

So if you demonstrate or test this IoT Suite, you can burn your MSDN account in a couple of days. Is it possible to change this?

So here is a collection of easy changes you can do yourself on this particular Predictive maintenance IoT Suite.

The IoT Hub can run as good on an S1 and it costs only 42 euros. That’s a cost reduction of 350+ euros or more than ten euros per day. With the steps below, you can reduce the total costs to fifteen euros or so per day…

Continue reading “How to run Azure IoT Suite a few days more (before running out of Azure credits)”

Azure portal on steroids or, Bash shell in your browser

Last week, during the Build 2017 event lots of announcements were made. Of course, there were big announcements like Azure Cosmos DB. But there was also this small announcement which, in my eyes, will change the way we manage Azure fundamentally.

Right in the keynote, the Azure Cloud Shell was announced and it was available right away.

The last couple of weeks, I have written multiple blogs about the Azure CLI. This is a great tool but running it on your PC locally and connecting it to your Azure subscription was not that easy. Now it’s right there in your browser! Just click on this icon:

Let’s look how we can make use of this feature and why it’s Azure on steroids!

Continue reading “Azure portal on steroids or, Bash shell in your browser”

Azure CLI made easy. Using a shell

In a previous blog, I introduced you to the Azure Command Line Interface. This is a powerful tool for generating and controlling Azure resources.

This CLI has only one weak spot, the sheer limitless amount of features and settings. You have to remember a lot!

But with the introduction of the new Azure CLI shell, most of that pain is taken away.

Let’s check this out.

Continue reading “Azure CLI made easy. Using a shell”

Turn your Raspberry Pi into a Personal Assistant using Cortana

Microsoft is constantly updating its latest version of Windows, version 10. For me, as a developer, it’s a wonderful operating system to program for. The UWP apps I build, run on both PC’s, laptops, Windows Surface Hub (up to 84 inches), The Xbox One and even on a Raspberry Pi. Yes, Windows 10 is running on a 35 dollar device.

But before you run to the store to replace your PC, I have to tell you it’s running the core of Windows 10, actually. There is no shell (no menu, no start bar etc.).

So this means you can run one visual (headed) UWP application and multiple background applications. And yes, you will love it!

This is a great interface for kiosk-like devices. And with the latest update (build 15063), it’s easy to add Cortana support.

Cortana is the speech service, available in Windows 10. If you know Siri or Alexa, then you know Cortana. Just ask her a question and she will try to answer it. The answer will be provided by speech or supported by browsers or other visual help.

Let’s take a look on how to enable Cortana on a Raspberry Pi.

Continue reading “Turn your Raspberry Pi into a Personal Assistant using Cortana”

Working with the IoT Hub using Azure Command Line Interface (CLI 2.0)

In my previous blog, I introduced you to the Azure Command Line Interface (CLI). We ended with creating a resource group just to show how easy it is to create it using nothing more than the command line.

From there, large parts of Azure are available using the CLI, including the IoT Platform.

In this blog, we dive deeper into the world of CLI and we will see how easy it is to manage devices. The tag line is ‘Connect, monitor, and control millions of IoT assets’. Let’s start with just one…

So let’s proceed where we left at the previous blog, let’s create an IoT Hub inside the newly created resource group.

Continue reading “Working with the IoT Hub using Azure Command Line Interface (CLI 2.0)”