Proposed Agenda for IoT Workshop

On April 18, 2016 the ThingLabs Tinkerers will be hosting a full-day IoT Workshop at the DevIntersection conference (register with discount code SEVEN to save $50).I am looking for feedback on the proposed agenda. Here is the workshop abstract and the proposed agenda is below:

This is a hands-on workshop. You must bring your own Windows 10 laptop with Visual Studio 2015 Community (or higher edition) installed.

The Internet of Things (IoT) is the latest in an ever growing realm of technology that modern developers have to know about. To get into the IoT you have to learn about small form-factor and low-energy devices that interact with the physical world, and you have to know the Cloud services that will interface with these devices, for both data ingestion and command and control. In this full-day workshop you will learn both sides of the IoT. You will begin by diving into the world of Things by building applications that run on the Raspberry Pi 2, running Windows 10 IoT Core – a small form-factor variant of the popular Windows 10 family. Once you have mastered the world of Windows 10 IoT Core, you will learn how to connect the Thing you built to Azure IoT Hubs – a new Azure service designed to support millions of devices sending millions of messages. You will build a data ingestion pipeline, including visualizations of your IoT data that enable you to gain insight into your solution, and a command capability that enables you to control your device remotely. By the end of the workshop you will have built a complete Windows 10 and Azure IoT solution – and you may keep the hardware kit to continue your adventure in IoT.

Let me know what you think (we will publish this workshop on ThingLabs.io so that anyone can go through it as a self-directed workshop).

  • Goals
    • The goals of this workshop are:
      • Educate developers on the IoT stack offered by Microsoft
      • Educate developers on the Universal Windows Platform (UWP)
      • Educate developers on the Azure services related to IoT
    • By the end of the workshop a participant will be able to:
      • Build an IoT device using the Raspberry Pi 2 (RPi2)
      • Build a UWP app for Windows IoT Core to run on the RPi2
      • Use Windows IoT Core and the RPi2 to both capture input and present output
      • Create and configure an Azure IoT Hub
      • Connect their UWP application running on the RPi2 to Azure IoT Hubs
      • Build a data pipeline that captures data coming into IoT Hub and stores it
      • Build a visualization of IoT data
      • Build a client application that can send a command to the IoT device via Azure
  • Getting Started (pre-workshop if possible)
    • Development machine setup
    • Installation of Visual Studio
  • Lecture: Welcome to the Internet of Things
    • IoT Patterns for D2C and C2D
    • Maker Hardware Landscape
    • Prototyping Hardware
    • Lab: Hello, Windows IoT
  • Lecture: Input/Output
    • GPIO
    • Pulse Width Modulation
    • SPI and I2C
    • Lab: Nightlight
  • Lab: Not Quite the Nest – Smart Environment Monitor
  • Lunch
  • Lecture: Introduction to Azure Services for the IoT
    • Device-to-Cloud (D2C) Messaging
    • Lab: Sending Device-to-Cloud Messages
    • IoT Data Pipelines
    • Lab: Storing and Displaying IoT Data
    • Coud-to-Device (C2D) Messaging
    • Lab: Sending Cloud-to-Device Messages
  • Wrap Up

Post your comments – I’d love to hear what you think.

New ThingLabs IoT Workshop Kits

It felt a bit like Christmas on St. Patricks’s Day! That is because the first batch of the new ThingLabs IoT Workshop Kits arrived today. We will have four (4) new IoT Workshop Kit configurations, in addition to the two (this and this) that we already have. This will allow us to create workshops for a variety of hardware and operating-systems, including Linux, Windows 10 IoT Core and Real-Time Operating Systems (RTOS).

Today we received the Intel Edison and BeagleBone Green kits based on the Grove sensors.

IoTKits

The ThingLabs Tinkerers are busy working on new workshops for these kits and more (see below). We have a full-day workshop on April 18, 2016 at the Walt Disney World Swan for the DevIntersection conference (register with discount code SEVEN to save $50).

 

Here are all of the kits we are building new workshops for…

 

Linux-based Micro-Processor Kits

IoT Workshop Kit: Intel Edison Edition

(1) Intel® Edison for Arduino

(1) Grove Indoor Environment Kit for Intel® Edison

IMG_6311

IoT Workshop Kit: BeagleBone Green Edition

(1) SeeedStudio BeagleBone Green

(1) Grove Starter Kit for SeeedStudio BeagleBone Green

IMG_6313.JPG

Windows 10-based Micro-Processor Kits

IoT Workshop Kit: Raspberry Pi 2 Edition

(1) GrovePi+ Starter Kit for Raspberry Pi

(1) Raspberry Pi 2 Model B w/ ARMv7 Quad Core 1GB RAM

(1) USB Wi-Fi Adapter

(1) Power Supply

(1) microSD Card

Check out the ‘Windows 10 IoT – Connected Nightlight Workshop‘ that uses a Raspberry Pi2 with a breadboard, LED and a photo-resistor instead of the GrovePi+ kit.

Micro-Controller Kits

IoT Workshop Kit: ESP8266 Edition

(1) Huzzah! Adafruit.io Internet of Things Feather ESP8266 – WiFi Starter Kit (soldered headers)

(1) USB to microUSB cable (6′)

(1) Breadboard

(10) Jumper Wires

IoT Workshop Kit: Arduino Uno Edition

(1) SparkFun RedBoard – Programmed with Arduino

(1) SparkFun Weather Shield w/ soldered headers

(1) SparkFun USB Mini-B Cable – 6 Foot

Checkout the ‘Node.js – Connected Weather Station‘ workshop for Arduino and Particle Photon

IoT Workshop Kit: Particle Photon Edition

(1) Particle Photon Kit

(1) SparkFun Photon Weather Shield

Checkout the ‘Node.js – Connected Weather Station‘ workshop for Arduino and Particle Photon

 

 

Talking About the Internet of Things

A few weeks ago I had the opportunity to spend a few minutes with my friend, Richard Campbell (of DotNetRocks) talking about the Internet of Things at the Channel 9 Studios. You can watch the video here (it is less than 10-minutes).

devInt_Show3

This show is part of a countdown show to DevIntersection2016 in Orlando, FL. My team and I will be running a ThingLabs IoT Workshop on Monday, April 18th (if you want to attend, register with discount code SEVEN to save $50 plus a Raspberry Pi 2 kit complete with lots of sensors, and some cool add-ons from the conference, such as a Microsoft Band 2, Surface 3 or XBox One depending on how many workshops you attend).

Here is the abstract:

This is a hands-on workshop. You must bring your own Windows 10 laptop with Visual Studio 2015 Community (or higher edition) installed.

The Internet of Things (IoT) is the latest in an ever growing realm of technology that modern developers have to know about. To get into the IoT you have to learn about small form-factor and low-energy devices that interact with the physical world, and you have to know the Cloud services that will interface with these devices, for both data ingestion and command and control. In this full-day workshop you will learn both sides of the IoT. You will begin by diving into the world of Things by building applications that run on the Raspberry Pi 2, running Windows 10 IoT Core – a small form-factor variant of the popular Windows 10 family. Once you have mastered the world of Windows 10 IoT Core, you will learn how to connect the Thing you built to Azure IoT Hubs – a new Azure service designed to support millions of devices sending millions of messages. You will build an data ingestion pipeline, including visualizations of your IoT data that enable you to gain insight into your solution, and a command capability that enables you to control your device remotely. By the end of the workshop you will have built a complete Windows and Azure IoT solution – and you may keep the hardware kit to continue your adventure in IoT.

The goals of this workshop are:

  • Educate developers on the IoT stack offerred by Microsoft
  • Educate developers on the Universal Windows Platform (UWP)
  • Educate developers on the Azure services related to IoT

By the end of the workshop a participant will be able to:

  • Build an IoT device using the Raspberry Pi 2 (RPi2)
  • Build a UWP app for Windows IoT Core to run on the RPi2
  • Use Windows IoT Core and the RPi2 to both capture input and present output
  • Create and configure an Azure IoT Hub
  • Connect their UWP application running on the RPi2 to Azure IoT Hubs
  • Build a data pipeline that captures data coming into IoT Hub and stores it
  • Build a visualization of IoT data
  • Build a client application that can send a command to the IoT device via Azure

See you in Florida!

ThingLabs.io IoT Hands-on Workshop – April 18, 2016 – Florida

Register now for the ThingLabs.io Hands-on Workshop at DEVintersection in Orlando, Florida.

Use discount code SEVEN

April 18, 206 – Walt Disney World Swan Resort 

The Internet of Things (IoT) is the latest in an ever growing realm of technology that modern developers have to know about. To get into the IoT you have to learn about small form-factor and low-energy devices that interact with the physical world, and you have to know the Cloud services that will interface with these devices, for both data ingestion and command and control. In this full-day workshop you will learn both sides of the IoT. You will begin by diving into the world of Things by building applications that run on the Raspberry Pi 2, running Windows 10 IoT Core – a small form-factor variant of the popular Windows 10 family. Once you have mastered the wold of Windows 10 IoT Core, you will learn how to connect the Thing you built to Azure IoT Hubs – a new Azure service designed to support millions of devices sending millions of messages. You will build an data ingestion pipeline, including visualizations of your IoT data that enable you to gain insight into your solution, and a command capability that enables you to control your device remotely. By the end of the workshop you will have built a complete Windows and Azure IoT solution – and you may keep the hardware kit to continue your adventure in IoT.

This is a hands-on workshop. You must bring your own Windows 10 laptop with Visual Studio 2015 Community (or higher edition) installed.

Building the Internet of Things with Doug Seven

c9-01Richard Campbell from DEVintersection chats with Doug Seven about his IoT workshops, engaging with developers to see just how small computers can be made now, and how you can create a network of ultra-small devices to work together to provide a huge amount of data about the world around you. Using development tools, languages and platforms you know today, you too can get building the Internet of Things! Doug will be leading workshops at DEVintersection in Amsterdam Oct 14-16 and also in Las Vegas at the MGM Grand Oct 26-29. Sign up today!

Using Particle Photon with Johnny Five and VoodooSpark

I am elbow deep preparing an updated IoT workshop for three conferences in the next two months:

WeatherShieldFor these workshops I’ve decided to do something different – mostly driven by the fact that I gave away all 300 Arduino Yun kits I had (based on the SparkFun Inventors Kit) and one of my colleagues donated 180 Particle Photon development kits (and SparkFun Weather Shields) to me.

Particle already has some great getting started documentation and Paul DeCarlo already has a great tutorial on using the Weather Shield with Web Hooks on Hackster.io. I wanted to do something different to show how to build interesting IoT solutions, and leverage Microsoft Azure services where it makes sense.

I decided that my best angle is to build a series of labs that teach you how to use the Particle Photon with the Johnny Five framework (which we use in the existing Arduino labs on ThingLabs.io). The difference here is that, unlike the Arduino Yun which has a Linux distro onboard, the Photon has a small ARM M3 and a Broadcom Wi-Fi SOC – but no Linux distro. That means that unlike the Arduino labs I can’t build labs around creating Node.js apps that will eventually run in the onboard Linux environment (because there isn’t one).

Instead I looked around my house….WeMo. That is a great example of how the Photon works. Individual devices connected directly to a cloud service. SmartThings. Phillips Hue. Hmm. These are different. They use a hub-and-spoke model, with the hub acting as a field gateway between the spoke devices and the cloud service. The Photon is a Wi-Fi enabled board – why can’t it enable the spoke devices on my local Wi-Fi network and connect to a hub…perhaps a Raspberry Pi 2 or an Arduino Yun, which acts as the field gateway.

It turns out it can.PhotonRPi

I turned to the VoodooSpark firmware and the Particle-IO plugin for Johnny Five. VoodooSpark is open source firmware for the Particle Core and Photon that enables TCP communication with the device over a local Wi-Fi network instead of through the Particle Cloud. That means that with the VoodooSpark firmware you can build a local network with devices that you can communicate with. The way you accomplish that is with Johnny Five, an open source framework for hardware devices like Arduino, Raspberry Pi, Intel Edison and yes, the Particle Photon (enabled with the Particle-IO plugin).  With these bits of open source deliciousness I can configure the Photon to communicate over local Wi-Fi to whatever hub device I want, running a Node.js app. Right now that is my Windows 10 laptop, but soon it will be a Raspberry Pi 2 or an Arduino Yun (I haven’t decided yet). The hub device can communicate with multiple spoke devices (Photons or others) and act as the go-between to the Azure services. In the example shown here I simply configure two Johnny Five board objects based on a Particle object (or a Spark object as shown here – I am updating this to the Particle-IO code – Spark-IO is the old code from before Particle was Particle) that defines my Particle Cloud access token and the device ID (so the hub can call the service to get the Photon’s IP address).

2Photons

The labs currently use Nitrogen as the IoT device registry and pub-sub backend shim in front of Azure Event Hubs. The Nitrogen code to send a message from the Node app looks a bit like this:

        // Define the callback function for the photoresistor reading
        // The freq value used when the photoresistor was defined
        // determines how often this is invoked, thus controlling
        // the frequency of Nitrogen messages.
        photoresistor.on('data', function() {
            // Capture the ambient light level from the photoresistor
            var lightLevel = this.value;
            // Create a Nitrogen message
            var message = new nitrogen.Message({
                type: '_lightLevel',
                body: {
                    ambientLight: lightLevel
                }
            });
            
            // Log the light level value for debugging    
            session.log.info('Sending ambientLight: ' + lightLevel);
            // Send the message
            message.send(session);
        });

I am cranking away on the new labs – they will debut on ThingLabs.io around the same time as the TECHintersection conference in a couple weeks. This lab series will culminate (hopefully – I haven’t built this yet) in a smart home solution using a Raspberry Pi 2 as the hub and one or more Photons as spoke devices for things like ambient light and temperature, lighting control, open/close blinds, garage door monitoring, etc.

If you want to spy on me you can watch the code evolve here.

Another IoT Workshop Scheduled

If you saw this post you know that the last IoT Workshop my team and I hosted was a blast. We are getting ready to add some new labs to ThingLabs.io in preparation for another workshop event on Monday, September 14th. If you missed the last one, you should definitely come to this one – and it’s part of a great new event (disclaimer – I have been helping with the IoT content planning).

The new event is TECHintersection and it is being put together by the founders of DEVintersection, DotNetRocks, and one of the masterminds behind large scale events including Microsoft TechEd, //build and AWS re:Invent. The event has a shared focus on three topic areas that are tightly intertwined – the Internet of Things, Architecture and Security. Its looking like it is going to be a great few days spent in the city that gave birth to TED Talks – Monterey, CA.

For the IoT Workshop (we are calling this one IoT Firestarter) we are planning a full day, with lots of hands-on time. We will likely be using a new board, which will result in an entirely new set of labs. In this workshop we will go from building your first hardware project to ingesting telemetry into Azure and creating data visualizations with PowerBI (of course we will still do some command/control stuff – and maybe even bring a couple robots…who knows).

Throughout the conference there will be great sessions, including technical sessions from the Windows IoT and Azure IoT product teams, a few sessions from my team on how we have build IoT solutions in the real-world (including connected cars, constructions site and more), and a couple companies who have built IoT start-ups will be there to share their story, including Josh Supalla from Particle.io and a keynote by Adam Benzion, the co-founder of Hackster.io. You can get the full session list here.

I hope to see you there!