PowerBI showing telemetry of past ten minutes, always!

PowerBI in the browser is an easy and fast reporting service which is a great addition to Azure IoT. In just minutes you can build charts and dashboards.

I demonstrated this in part 3 of this series of blogs about implementing IoT in Azure.

But I was missing the ‘sliding behaviour’, the charts I created showed all telemetry. And with all I mean from the very first telemetry passed to the latest one.

In this blog, I will show you how to tweak the dashboard a little bit to get that real-time behaviour of showing only the data of the past hour, day or 10 minutes.

Continue reading “PowerBI showing telemetry of past ten minutes, always!”

Closing the Windows IoT Core feedback loop using Azure Functions

Windows IoT Core is my preferred solution for the proof of concepts I build. The IoT stack is both easy and powerful and it’s a good choice to build real world solutions on too.

Getting telemetry in the Cloud using Microsoft Azure IoT Hub is easy also. And in my previous blog, I showed that adding live charts for BI only takes a couple of minutes.

There is one other thing that is very typical to IoT Hub. And that is sending commands back to devices. I use Azure Functions for that purpose.

In this blog, I will show you how to make use of this new, cheap and handy feature in Azure.

Update: Azure Functions is still in preview. I fixed some blocking issues in this blog due to current changes in this Azure resource (and this is a good thing).

Continue reading “Closing the Windows IoT Core feedback loop using Azure Functions”

Ping done easy (by yourself – coders only)

I just connected a headless Raspberry Pi to a wifi adapter but I did not know which IP Address was given. I need that address to make contact with PuTTY.

So I wanted to figure out the IP Address. As a programmer, what should I do? Surf the internet for some nifty tool? Of should I write some code? I have chosen the latter.

So now I ping each port with:

internal class Program
{
    private static void Main(string[] args)
    {
        for (int i = 90; i < 254; i++)
        {
            Console.Write("192.168.0." + i + ": ");
            Console.WriteLine(Ping("192.168.0." + i));
        }
    }
 
    public static bool Ping(string nameOrAddress)
    {
        Ping ping = new Ping();
        try
        {
            var response = ping.Send(nameOrAddress);
            var pinged = (response.Status == IPStatus.Success);
 
            return pinged;
        }
        catch (PingException)
        {
            return false;
        }
    }
}

So start it and take a cup of coffee…

And check the addresses:

ping01

This is simple to use, have fun with it!