Skip to content

Azure IoT Project from Start to Finish: Blog 1 – The Project


Over the last year I’ve been working with Azure IoT and I’ve watched as Microsoft has really established itself as a major player in the IoT world. Any article you read or podcast you listen to on the topic of IoT platforms will not only mention Azure alongside the major players, but will indeed count them as one of the best choices.

Though I’ve been working with the technology for some time, it’s been in the role of a product manager for a B2B solution rather than as a developer so I haven’t had a good chance to get deep in the weeds on my own. This series of blogs will document my journey through creating an Azure IoT solution from start to finish in the hopes that it will help others who endeavor to do the same. This blog post will set the stage, but I’m going to approach the project in a few phases, writing a blog for each phase.

  1. Create a simulated solution, starting with a pre-configured solution
  2. Add the physical IoT device
  3. Flesh out the logic an UI of the solution


The Project: Smart Shelf

I wanted to create something that could be used in my home. There are certain household items that are a total drag to run out of. Toilet paper and coffee come to mind. Despite our best intentions, my family find ourselves running out of these things from time to time and, while I’ll spare you the details, it’s never fun.

To solve this issue, I want to create a “smart shelf” that will remind us when we need to purchase more of whatever I’m stacking on it. Bear in mind, I recognize that this is not an original idea. Hotels have been using similar devices for ages to charge you exorbitant prices when you remove the M&Ms from the mini fridge, and it’s something we’re seeing more and more as the retail world embraces IoT. But it’s a simple device that I can build myself and should serve as a good project to design and build something from soup to nuts. I’m envisioning something like this.


At the highest level, the solution will require:

  • Weight sensors under the platform that can send weight data at set intervals, or when triggered by a change.
  • The ability to set up the device for a new item by entering the weight of a single item (one roll of toilet paper in this case), and how low the supply can get before triggering an alert.
  • Ability to configure your alert information. Still not sure how far I’ll take this part – whether it will simply be an email or text, or whether I’ll do something more sophisticated, for example finding the best deal on toilet paper on the web and sending a link and fun things like that.


The Logical Design

At this point, we’re ready to start thinking about the logical components that are required to build this solution, so we can finally start digging into the Azure IoT Suite. Sweet!

In terms of the device, obviously we’ll need a platform of some sort and a weight sensor. We’re essentially building a specialized scale.  You can certainly build your own, but I was able to find a food scale that won’t automatically turn itself off, and will do the conversion of weight to number of items for you.

Then we’ll need a wifi enabled processor to send the weight data. I’m using the Adafruit Feather HUZZAH ESP8266.

Once we’ve got all that, we need to send that data to our Azure IoT application for processing, storage and notifications. Here’s where things get fun.

There are a lot of capabilities and services in Azure and Azure IoT and you won’t always need all of them. So it’s helpful to think about the high-level things you’ll need your solution to do, and then select the pieces you’ll need. For an IoT solution like this, we’ll want to:

  1. Connect to and register our IoT device
  2. Receive, analyze and act on data being sent by the device
  3. Integrate that data and those actions into an application of some sort

For my solution, I’ll be using the:

  •  IoT Hub to connect the device and manage the communication.
  • Stream Analytics to analyze the data coming from the scale and decide what the appropriate action is, and
  • Web Apps to handle the logic of sending out alerts and any UI components of the solution


In the next blog, I will walk through creating a simulated solution, starting with a pre-configured solution. Stay tuned!



From → Uncategorized

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: