X

.NET

Beer IoT: Using Stream Analytics to save data from IoT Hub to SQL database

When cooling beer we want to store history of temperatures for two reasons. First, it gives us valuable history data for next cooling sessions. As a second thing we can ask measurements when we temporarily lost connection with IoT Hub. In this posting we make some analyzis and then build up database for our beer cooling solution.

Beer IoT: Reporting measurements to Azure IoT Hub

As we have now fully functioning thermal solution running on Windows 10 IoT Core it’s time to focus to other components of our beer freezing solution. Our solution measures and calculates metrics of cooling beer but it doesn’t report this data anywhere. In this blog post we will set up Azure IoT Hub for our solution so it starts reporting measurements to Microsoft Azure.

Beer IoT: Estimating beer cooling time

In my last beer IoT post we measured out cooling rate of beer. In this post we try to estimate how long it takes for beer to start freezing. It’s actually simple calculation and we add it to our beer IoT background service before we focus on data reporting and persisting questions.

Beer IoT: Making cooling rate calculation testable

My previous beer IoT post introduced how to measure cooling rate of beer. As I introduced the first calculation there I implemented it in code the way it just works and gets calculations done. Now it’s time to focus on the implementation and make some small improvements that clean up code and improve technical design.

Beer IoT: Measuring cooling rate

As thermal sensors are connected and we have code to read temperatures it’s time to get serious and start real work on supporting the cooling process of eisbock. We start with measuring temperatures, calculating cooling rate and estimating how long it takes for beer to freeze. This post focuses on cooling rate.

Beer IoT: Moving to ITemperatureClient interface

My previous blog post “Measuring temperature with Windows 10 IoT Core and Raspberry Pi” introduced you my simple solution for measuring temperatures. In this blog post we go step further and make some modifications to solution architecture so we don’t have to keep sensors connected all the time and as a result we can also emulate temperatures and situations that are not easy to produce in home or office.

Beer IoT: Measuring temperature with Windows 10 IoT Core and Raspberry Pi

I have RaspberryPi 2 with Windows 10 IoT Core and I plan to use it for some brewing activities. In this blog post I introduce how to measure temperature with RaspberryPi using DS18B20 thermal sensors. This post is also example about how easy it is to get started with your IoT stuff using Microsoft tooling.

Generating CSV-files on .NET

I have project where I need to output some reports as CSV-files. I found a good library called CsvHelper from NuGet and it works perfect for me. After some playing with it I was able to generate CSV-files that were shown correctly in Excel. Here is some sample code and also extensions that make it easier to work with DataTables.

Null propagating operator in C#

C# 6.0 introduces language feature called null propagation. It’s about avoiding all this if-else mess in most sanity checks that avoid NullReferenceException.Of course, null checks can be found also from other parts of code that doesn’t necessarily deal with sanity checks. Let’s see how new null propagation feature help us write cleaner code.

Generalizing storage access for Windows Phone and WinRT apps

When building application that works both on WinRT and Window Phone you use Portable Class Libraries (PCL) for shared classes. As there are many application specific things that are not same on different platforms or that are not supported by PCL then you have to make some architectural decisions when creating shared functionalities. In this posting I will focus on persisting data for offline use.