Building Enterprise IoT Projects Iteratively - Vui Nguyen

20
Building Enterprise IoT Projects Iteratively By: Vui Nguyen Intel Soware Innovator www.sunfishempire.com @sunfishgurl

Transcript of Building Enterprise IoT Projects Iteratively - Vui Nguyen

Building Enterprise IoT Projects Iteratively

By: Vui NguyenIntel Software Innovatorwww.sunfishempire.com

@sunfishgurl

Talk Overview

How to start doing IoT

How to grow

Use Case Example: Save the Water Pipes

Very hackathon-centric, but some of the principles can be applied to commercial applications as well

Always ask: who is my customer and what is the immediate need? Where and when it’s possible: how can I design this so there’s room to grow while still meeting the immediate need and deadline?

Won’t go too deep technically, describe the process of improvement

In the Beginning

April 2016, the “Blue Team” enters the Intel IoT Roadshow in Denver

We win first place with our freezing water pipe detection and prevention system

Detects when water in a pipe is about to freeze

When temp gets into “red” zone, stepper motor opens a valve to release water

When temp gets into “yellow” or safe zone, stepper motor closes the valve

Video

http://bit.ly/SaveWaterPipesAlpha

Technologies Used

Intel Edison board

Intel XDK: IoT Edition

Javascript-based IDE to build IoT applications

Intel libraries: Javascript wrapped Arduino

Grove shield and Grove sensors

What Was Missing?

Notice there is no pipe, water temp sensor is placed directly into bucket to simulate “freezing water temp in pipe”

Water temp sensor is taken out of the bucket and placed between our fingers to “warm up the water temperature”

Another trick: water temp sensor measures voltage, not temperature. We had to adjust our algorithms to get the results that we want

What Was Missing? (cont.)

All sensor data displayed to console and LCD

There is no website, mobile app, any software other than JavaScript-wrapped Arduino code (Intel hardware libraries)

Used sample sensor code within the IDE to get started

Why Did We Win?

Strength and simplicity of our idea

we focused on 1 problem and demonstrated its solution well

Strong hardware and sensor demo

We told a compelling story during our presentation

We tried not to do too much at once - only had 2 days to work on project start to finish & first time working with Edison board and Intel IDE and technologies

The point of hackathons is to show a concept is possible, NOT to build a market-ready product. We saw some teams fail because they lose sight of this

China US Young Maker Competition

Fresh from our success at the Roadshow, we entered the China-US Young Maker Competition on hackster.io, also sponsored by Intel

A couple of weeks after the Roadshow, we got back to work

We only had a handful of weekends to work together as a team

Submission deadline: mid-June 2016

Video Submission

bit.ly/SaveWaterPipes

What Was Added

Used an Intel sample application to get started:

https://software.intel.com/en-us/creating-an-application-to-communicate-using-web-sockets

Challenge: how to get the data “out” from the IDE console and into a useful application

Asked: what did we want our “useful application” to do?

Local web server hosted on Intel Edison board used to communicate between sensors and display results on website

System Diagram

How we worked together

Version Control: Git and Bitbucket

Project Management: Trello

Schedule in person team meetings and used communication tools as needed: Hipchat

I filled the role of software lead and architect

Selected and largely modified the Intel sample application for the foundation of our project

As team lead, ensured that we completed our project in time for submission by the deadline

Selected To Go To China

Mid-August 2016, the “Blue Team” went to Beijing China to compete in final rounds of competition

Project EnhancementsSimulate monitoring water pipes for multi-unit system instead of single unit

Solenoids replace stepper motors to power valves

Relay Shield added to power multiple solenoid valves

Project EnhancementsWebsite has additional page to show status of all units in real time, plus existing page to show status of single unit in real time

Requires refactoring of JavaScript code in back end (used JS objects)

Competition Results

Successful in implementing improvements to system

Placed 11th out of 64 teams overall

Great experience!

To learn more:

https://sunfishempire.wordpress.com/2016/08/27/save-the-water-pipes-project-wins-excellence-award-in-iot-china-contest/

Conclusions

We didn’t get to where we are today overnight, we did it in steps. You should too!

Phase 1: Start with controlling sensors and displaying sensor data to console

Phase 2: Use sample application to start building real software application that displays data outside of IDE

Phase 3: Refactor code as needed to scale system

Conclusions Part II

DO Start Small, and add one feature at a time

DON’T Think you must begin with an Enterprise-level IoT system right off the bat

DO Use version control, project management, etc., as soon as feasible

DON’T Stay in “Hack-a-Thon Mode” forever!

DO Keep project requirements and scope in mind

DON’T Spend time you don’t have on features you don’t need

Thanks! Questions?

Vui Nguyen, Intel Software Innovator

IoT Software Engineer

www.sunfishempire.com

@sunfishgurl