A couple months ago Microsoft announced the availability of the new Azure IoT Developer Kit Board. This is a board that has integrated sensors, buttons, OLED screen and a few other features. This board makes it even easier to get started developing Azure IoT based solutions without the need to solder, connect wires, or even really have any low level electronics knowledge. Recently, Microsoft started shipping out the first set of Azure IoT Developer Kit Preview version boards for application requests that were submitted over the last couple months. While it’s been stated there’s limited quantity, it’s unclear how many of these Preview version boards will be made available. Read More
Building out an IoT (Internet of Things) solution can be a difficult problem to solve. It sounds easy at first, you just connect a bunch of devices, sensors and such to the cloud. You write software to run on the IoT hardware and in the cloud, then connect the two to gather data / telemetry, communicate, and interoperate. Sounds easy, right? Well, it’s actually not as simple as it sounds. There are many things that can be difficult to implement correctly. The biggest problem area is Security, as it is in most other systems types as well. Then you can device management, cloud vs edge analytics, and many other aspects to a full IoT solution.
Traditionally you would need to build all this out yourself, however, with offerings from Microsoft there are a few options available for building out IoT solutions. The Azure IoT Suite offers PaaS (Platform as a Service) capabilities that are flexible for any scenario, while the newer Microsoft IoT Central is offering more managed SaaS (Software as a Service) capabilities to further assist in easing development, deployment and management.
PaaS IoT with Azure IoT Suite
There are many Microsoft Azure cloud services that can be used to build out an IoT solution. In order to more easily choose which services, Microsoft has created a marketing umbrella called the “Azure IoT Suite” that includes the following core services:
- Azure IoT Hub provides 2-way device messaging to the cloud with full device management and security integration among other IoT features.
- Azure Notification Hubs enables the ability to implement mobile push notification easily within the cloud that supports all major mobile platforms from iOS to Android and Windows.
- Azure Machine Learning provides the ability to build powerful cloud-based predictive analytics tools using pre-built machine learning algorithms that greatly lower the barrier to embracing machine learning for your solutions.
- PowerBI allows for rich visuals to be displayed providing easier analysis and reporting on your data.
- Azure Stream Analytics is a Real-Time event stream processing pipeline in the cloud thats built for high scale and ease of integration.
In addition to the listed services, you could really use any other Azure service that fits your particular solution. For example you may integrate Azure Storage, Azure CosmosDB, Azure Functions, among many others to build out the full capabilities of your own IoT solutions. It’s really up to you to choose what Azure services fit your scenario best and build out the best solution for your needs.
The Azure IoT Suite is based on using Azure PaaS (Platform as a Service) offerings to build out your solutions in a manner where you don’t need to manage any of the underlying Virtual Machine, Operating System updates / patches, and so on. These underlying VM in the PaaS services are fully managed for you within Microsoft Azure. This allows you to focus on your solution, your business, and your data; essentials you only focus on what matters to your core business in building out your IoT solutions.
SaaS IoT with Microsoft IoT Central
With the announcement of Microsoft IoT Central, Microsoft is entering into an area of offering a SaaS (Software as a Service) offering for building out and managing IoT (Internet of Things) solutions. This mean that not only do you benefit from the managed VMs and other aspects of the Azure IoT Suite PaaS offering, but you will also benefit from a great level of abstraction and managed services built / designed specifically for IoT form the ground up.
I speculate that Microsoft IoT Central is in fact running on top of Azure IoT Suite at it’s core; this is the pattern Microsoft operates with when adding higher levels of abstract in the Azure cloud. Similarly, Azure Functions provides serverless compute and execution of method of code in the cloud, and is built as an abstraction layer on top of the Azure Web Jobs PaaS feature of Azure App Service.
The further abstraction of Microsoft IoT Central creates a SaaS (Software as a Service) offering from Microsoft for more easily implementing and managing IoT solutions using a SaaS model. This is great for organizations that do not have much cloud solution and device expertise. It also helps those organizations build IoT solutions that offer more predictable pricing without the necessity to completely build the entire IoT solution themselves.
Choosing PaaS or SaaS for Your IoT Solution
Choosing PaaS (Platform as a Service) or SaaS (Software as a Service) is a choice that’s similar to the options of hosting a traditional application using either IaaS or PaaS. It’s really a comparable analogy. When deciding which of them to choose, here are some highlights of each option that you can use to help decide between a SaaS-based IoT solution or a PaaS-based IoT solution:
SaaS-based IoT Solution
- Fully managed solution
- Less flexibility – you will need to use the pre-built or builtin features to build out your IoT solution
- More features builtin – You don’t have to build everything yourself, as there are more features builtin that you can “automatically” take advantage of
- Lower barrier to entry
PaaS-based IoT Solution
- Fully customizable solution
- More flexible – you can implement pretty much any IoT solution you need
- Implement more yourself – With more flexibility, comes an increased responsibility to implement more of the various features of your IoT solutions yourself
- More expertise required
Looking at the previous highlights of PaaS vs SaaS based IoT solutions, it really does appear that SaaS is the better option. This really may be the case. Coming back to the IaaS vs PaaS analogy for hosting application, you want to start with the more managed service and then go more customizable if you need the flexibility. The same thing goes for IoT solutions as well. You’ll want to evaluate the SaaS based services that Microsoft IoT Central offer you before starting to build out your IoT solution. If SaaS offers you everything, then the more managed system will likely be best for you to use. However, if there is anything you require than SaaS (via Microsoft IoT Central) doesn’t support, and you really truly do require that feature in your solution, then you’ll likely want to go the PaaS route with Azure IoT Suite to build your own custom implementation.
I hope the outline provided in this article helps you decide whether SaaS-based or PaaS-based framework and services are the most appropriate choice for your organizations next IoT solution.
Windows 10 IoT Core is Microsoft’s version of the Windows 10 operating system being built to run Internet of Things (IoT) devices. There are a few hardware IoT devices that Windows 10 IoT Core supports and can run on. One of these devices is the Raspberry Pi; specifically the Raspberry Pi 2 and Raspberry Pi 3. This article lists out the steps necessary to load Windows 10 IoT Core onto a MicroSD Card that can be inserted into a Raspberry Pi to run Windows 10 IoT Core as the operating system.
Flash Windows 10 IoT Core to MicroSD Card
In order to boot Windows 10 IoT Core from a Raspberry Pi, you must first flash the Windows 10 IoT Core operating system to an SD Card that can be used to boot the Raspberry Pi from. To do this you need to use a Windows PC and the IoT Dashboard utility.
Step 1: Using a Windows PC, download and install the Windows 10 IoT Core Dashboard.
Step 2: Insert your Micro SD Card into your PC.
Note: Before you start, you’ll want to make sure you have an MicroSD Card that is supported by Windows 10 IoT Core. It’s important to be aware that NOT all MicroSD Cards are supported, with the primary restriction that they are at minimum a Class 10 SD Card.
Step 3: Run the IoT Dashboard app, and click on the “Set up a new device” button.
Step 4: Select the “Raspberry Pi 2 & 3” device type, and fill in the necessary configuration values, then accept the software license terms and click the “Download and install” button.
Something to note on the Wi-Fi Network Connection setting is that it will pull from the Wifi Profiles on your local PC. This means that you will be able to easily configure your device to connect to the same Wifi network your Windows PC is connected to once it boots up from the SD Card. You won’t need to plugin a display, keyboard, or mouse in order to configure anything, so long as you select the correct Wifi network.
Step 5: When prompted to erase the SD Card, you need to click Continue. Just make sure you are aware that this will essentially format the SD Card before copying the Windows 10 IoT Core image, so you will lose any data that’s existing on the SD Card.
Step 6: The tool will continue by downloading the latest release of Windows 10 IoT Core. This ensures that you always have the latest version that you’re flashing.
Step 7: After the download completes, the dism.exe command-line tool will then automatically kick off to flash the downloaded Windows 10 IoT Core image to the SD Card.
Step 8: Once the flashing is completed, the IoT Dashboard will show a message stating that “Your SD card is ready.”
Step 9: You can now safely remove the SD Card from your PC and plug it into the Raspberry Pi and power it on.
Connect to the Windows 10 Device Portal
One of the features of Windows 10 IoT Core that makes it easier to manage, especially with headless devices, is the Windows Device Portal. This is a web interface that is hosted on the Windows 10 IoT Core device by default. This interface allows you to perform some remote monitoring, configuration, and deployment options for Windows 10 IoT Core.
Step 1: Once you’ve booted up a device with Windows 10 IoT Core you can then use the “My devices” option of the IoT Dashboard to easily discover what Windows 10 IoT Core devices are connected to the network that your PC is connected to. To view some details about the specific device, you can double-click on the device in the list.
Step 10: On the info for the specific Windows 10 IoT Core device, you can click on the “Open Windows Device Portal in browser” link to open up a new browser window navigating to the Windows Device Portal for that device.
Step 11: When the browser opens up and connects to the Windows Device Portal, it’ll prompt you to login. The Username you need to use will be Administrator, and the Password will be the password you configured when you flashed Windows 10 IoT Core to the SD Card.
Step 12: Once authenticated, you will be logged in and able to access the Windows Device Portal.
Overall the tools from Microsoft, including the IoT Dashboard, are extremely easy to use. You don’t need to use any command-line tools or open any configuration files to install Windows 10 IoT Core to an SD Card. You can then simply insert the SD Card into your device and boot it up to get it running.
There have been a number of Azure IoT Starter Kits available for some time now. I’ve written about the Starter Kits in the past. Some of these like the Raspberry Pi Azure IoT Starter Kit from Adafruit require you to wire up sensors and things, while the GrovePi+ is similar to a Lego Mindstorm but for prototyping Internet of Things devices. It seems that Microsoft is finally consolidating onto a specific “Azure IoT Developer Kit”, and they’ve already made early previews available upon application. This new Azure IoT “DevKit” is a single board packed with sensors, buttons, OLED screen, and more! Plus, it’s Arduino compatible! Read More
Many software systems can become fairly complex with many different interconnected and communicating components. Internet of Things (IoT) solutions can especially become complex. Instead of individual tiers for each piece of the software system, an IoT solution can be composed of thousands or even millions of IoT hardware devices in addition to the backend tiers for processing data, predicting analytics, reporting, business intelligence, and on, and on. Internet of Things solutions are becoming some of the most complex solutions on the planet.
The newly announced Microsoft IoT Central is a Software as a Service (SaaS) solution in the Microsoft Azure cloud that will help build, use, and maintain Internet of Things solutions. It provides an easier way to create connected products, and takes away much of the work necessary to build IoT solutions. Microsoft IoT Central reduces the complexity of IoT, thus enabling businesses to better utilize IoT to propel their business forward in the newly emerging age of IoT. Read More
Many developers are interesting in building Internet of Things solutions; whether it’s as a side project or something for Enterprise use. With all the Consumer and Industrial IoT products out today and being worked on, it’s certainly an interesting space to work in. However, it can be a bit challenging, and possibly daunting, for developers to get started with building IoT solutions with Microsoft Azure. As a result, many developers have had to do research in many areas and figure out their own learning path. Today, as part of the Build 2017 conference, Microsoft has announced the availability of a number of technical trainings available from Microsoft and other third-parties.
As a means of simplifying your journey to learning how to develop Internet of Things solutions with the Microsoft Azure cloud, the technical training announced provide structured paths to follow. This structured Azure IoT training will guide you through navigating all the different Azure IoT Suite services (Azure IoT Hub, Azure Stream Analytics, Azure Service Bus, Event Hubs, Azure Functions, Cosmos DB / DocumentDB, Azure Machine Learning and more) in the affect of how to design and build full IoT solutions. You no longer need to piece together documentation articles in order to learn how to build IoT solutions with Azure. Read More
The all new Microsoft Azure IoT Edge brings down the power and capabilities of Azure IoT down to run natively on individual Internet of Things devices. This will enable scenarios that require much lower latencies to be built with real-time analytics and intelligence on running on the IoT devices (at the edge). Also, the devices supported include a broad range of IoT hardware which includes much more than just Raspberry Pi with the inclusion of lower powered devices as well.
Azure IoT Edge enabled you to build Hybrid IoT Solutions the bridge the gap and merge the Cloud IoT and local, device IoT capabilities into a single cohesive mesh. This allows you to easily orchestrate IoT cloud services in Azure to run on your IoT devices at the edge. This allows you to get the best of both Cloud and On-Premises worlds in your IoT solutions providing intelligence and analysis on the edge closer to your devices with up to 20x reduction in decision latency!
Here are some of the benefits and advantages of using Azure IoT Edge:
- Run artificial intelligence at the edge
- Perform edge analytics
- Deploy IoT solutions from cloud to edge
- Manage devices centrally from the cloud
- Operate with offline and intermittent connectivity
- Enable real-time decisions
- Connect new and legacy devices
- Reduce bandwidth costs
The Azure IoT Edge was just announced today at Build 2017, and promises to be a truly great advancement in building IoT solutions. Microsoft even showed a really great demonstration of implementing it in Industrial IoT that resulted in 20x reduction in decision latency and emergency response in a factory.
Azure IoT Edge looks really awesome, and I look forward to learning more about it!
The Grove IoT Commercial Gateway Kit from Seeed is the result of a partnership between Microsoft and Intel to create a starter kit for rapidly prototyping commercial IoT gateways. This kit finally makes it easy to setup and create Azure IoT Gateways with the Gateway SDK on a physical device. And, it’s powered by an Intel NUC and Wind River Linux. Read More
There are a number of Microsoft Certified for IoT Starter Kits available. These are tailors mostly to prototyping solutions, as they come with a number of sensors and things necessary to get started building. However, if you know what platforms you want to target, or are looking for a number of platforms to choose from, then you’ll want to look through the catalog of Microsoft Certified for IoT devices.
Rather than just having a documentation page or PDF that lists out what all the Certified for IoT Devices are, Microsoft has created a catalog website that’s easily searchable and filterable. Using the official Azure Certified for IoT device catalog can really help you find the perfect IoT hardware for your next IoT project; especially industrial or commercial projects.
The Azure Certified for IoT device catalog is located at: https://catalog.azureiotsuite.com
Are you looking to get something for a friend or family member who’s into making their own hardware devices, or want to get started but don’t know where to start? Here’s a list of some of the coolest IoT and Hardware Maker products that would make great gifts for your favorite geek!
The following list contains items of varying prices, and is sorted with the lowest priced items first.
Arduino Uno – $16
This is the Arduino Uno board only. While the Arduino Starter Kit (listed below) includes the board and many other thing necessary to get started, this board alone is fairly cheap. You can buy an additional board to add to the Starter Kit, or just buy the board as a gift for someone who already has some of the other components.
Raspberry Pi Zero Starter Kit – $29.99 USD
The Raspberry Pi Zero Starter Kit from CanaKit contains a Raspberry PI Zero computer board, and all the other necessities required to play and get it running!
The starter kit contains the following items:
- Raspberry Pi Zero board
- 8 GB MicroSD Card – pre-loaded with NOOBS
- mini-HDMI adapter
- 1A micro-USB PowerSupply
- USB OTG cable
This starter kit contains all the hardware necessary to get started playing with the Raspberry Pi Zero! The only things that don’t come with the kit that you need to add is a TV or PC monitor with a Keyboard and Mouse.
Circuit Playground from Adafruit – $29.99 USD
The Circuit Playground from Adafruit is an all-in-one board with integrated sensors and LEDs. It’s a neat platform to practice getting started with programming on a real hardware device, without the need to solder or assemble anything!
Here’s some of the things built into the Circuit Playground board:
- 10x mini NeoPixels, each can display any color
- 2x push buttons
- 1x slide switch
- Motion sensor
- Temperature sensor
- Light sensor
- Sound sensor
- Mini speaker
- 8x alligator-clip friendly input/output pins
The Circuit Playground from Adafruit is Arduino IDE compatible, and connects to a computer using a Micro-USB cable so it can be programmed. Plus, all the features of this little board are packed into a size that’s about as wide as 2x US Quarters!
Raspberry Pi 3 Model B – $35
This is the Raspberry Pi 3 Model B board only. This tiny little computer was built to help teach computer engineering in schools, and it packs a ton of functionality into a tiny package. It’s built on a quad-core 1.2Ghz ARM processor, 1 GB RAM, and has a few other features built onto the board that can boot from an SD Card and run the Linux / Raspbian operating system, as well as the new Microsoft Windows 10 IoT Core.
This little board can be used to play Minecraft, surf the web, learn programming, plus many, many other things! It’s really a full computer that only costs $35! Plus, it’s only a little larger than the size of a credit card!
Here are some of the features built into this amazing, little computer:
- 1.2 Ghz 64-bit quad-core ARMv8 CPU
- 1 GB RAM
- 802.11n Wifi
- Bluetooth 4.1 + Bluetooth Low Energy
- 4 USB ports
- 1 Ethernet port – 10/100Mbps
- 40 GPIO pins
- Full HDMI port
- Combined 3.5mm audio jack + composite video
- MicroSD card slot
SparkFun Thing ESP8266 IoT Dev Kit – $39.95
The SparkFun Thing Microsoft Azure IoT Starter Kit includes a SparkFun Thing board, with integrated Wifi, and a few other components perfect for getting started building IoT projects. The SparkFun thing board is Arduino compatible, so the Arduino IDE can be used for programming.
Here’s some of what comes with the SparkFun Things IoT Starter Kit:
- SparkFun ESP8266 Thing Dev Board, w/ integrated Wifi
- Humidity + Temperature Sensor
- Mini Photocell
- 20 pack of LEDs
- MicroUSB cable
- Jumper Wires
- Resistors – 10K and 330 Ohm
Raspberry Pi 7″ Touchscreen Display – $67.99
The Official Raspberry Pi 7″ Touchscreen Display is the perfect addition to any Raspberry Pi 2 or 3 board. It features a full color LCD display with 800 x 480 resolution, plus full, capacitive touchscreen support!
The touchscreen display connects directly to the Raspberry Pi and includes everything you need to connect it up and use it!
This does NOT come with a Raspberry Pi board, that will need to be purchases separately.
Arduino Starter Kit – $70 USD
The official Arduino Starter Kit comes with all the parts and instructions to build 15 projects. It includes the instructions in a 170 page book, plus all the necessary parts for all the projects in the book. This kit is full of everything needed to get started building projects with the Arduino platform.
Here’s a short list of some of the items included in this kit:
- Arduino Projects Book (170 pages)
- Arduino Uno board
- Alphanumeric LCD
- Tilt sensor
- Temperature sensor
- Push buttons
- LEDs (multiple colors)
- and more
Raspberry Pi 3 Complete Starter Kit – $74.99 USD
The Raspberry Pi 3 Complete Starter Kit from CanaKit includes all the hardware necessary to be able to start using the Raspberry Pi 3 and get it running. This kit includes the latest Raspberry Pi 3 board along with a few other essentials that you’ll need.
Here’s a list of the items included in this kit:
- Raspberry Pi 3 Model B board
- Integrated Wifi and Bluetooth connectivity
- 32 GB MicroSD card (Class 10) pre-loaded with NOOBS
- 2.5A USB Power Supply
- Raspberry Pi Case
- HDMI cable
- 2x heat sinks
- GPIO quick reference card
Microsoft IoT Pack for Raspberry Pi 3 – $114.95
The Microsoft IoT Pack for Raspberry Pi is an IoT builder kit that comes with everything needed to start building IoT solutions with real hardware. This kit includes a Raspberry Pi 3 (the latest version with integrated Wifi and Bluetooth connectivity), a few sensors, LEDs, microSD card, and power adapter.
This kit includes the following items:
- Raspberry Pi 3 board
- Raspberry Pi Case
- Full Size Breadboard
- Male/Male Jumper Wires
- Female/Male Jumper Wires
- 5V 2A Switching Power Supply w/ MicroUSB Cable
- Adafruit BME280 Temperature, Barometric Pressure & Humidity Sensor
- TCS34725 RGB Color Sensor
- MCP3008 – 8 Channel 10-bit Analog-to-Digital Converter Chip
- Ethernet Cable
- 16GB MicroSD card with pre-loaded NOOBS
- Tactile switches
This kit comes with EVERYTHING needed to start building IoT projects. The breadboard can be used to connect things up without the need for soldering, or a solder iron could be used to permanently connect things after prototyping.
Microsoft IoT Grove Kit for Raspberry Pi – $154.99
The Microsoft IoT Grove Kit for Raspberry Pi contains the easy to use Grove system for building IoT. The foundation of the Grove system is the GrovePi+ board that allows you to easily connect Grove Modules for rapid prototyping without requiring any soldering or building of custom hardware components. This kit lowers the hardware barrier. This is the perfect platform for prototyping, and for makers who are new to hardware.
The Microsoft IoT Grove Kit for Raspberry Pi includes:
- 5 inch HDMI Display with USB Touchscreen
- Relay module
- Temp + Humidity Sensor module
- Ultrasonic Ranger module
- LED Bar v2 module
- Rotary angle sensor(P) module
- Buzzer module
- Sound sensor module
- Light sensor module
- Button module
- LCD RGB Backlight module
- Cables for connecting everything
This kit DOES NOT include the Raspberry Pi board. If one is needed, then you could buy just the Raspberry Pi 3 board, or a better option would be to just get the Raspberry Pi 3 Complete Starter Kit in addition to this kit to have absolutely everything needed to prototype and build custom IoT solutions.
Additional Items for Raspberry Pi
If you’re getting one of the above Raspberry Pi items, then you may want to include an extra to be sure to have EVERYTHING necessary to get building and playing without the need for a trip to the store after opening that awesome IoT / Maker gift. Here’s a short list of a few items that work really nicely with the Raspberry Pi to help complete the package:
I hope you, and your friends and family have a great holiday season. And best of luck to finding the perfect Maker / IoT gift for your favorite Geek!