How we connected a golf grip to the cloud

Slides:



Advertisements
Similar presentations
Successfully migrate existing databases to Azure SQL Database
Advertisements

Secure Hyperconnectivity with TeamViewer and Windows technologies
The story of an IoT solution
Cloud Security IS Application-Centric Security
Use any Amazon S3 application with Azure Blob Storage
6/5/2018 1:30 PM THR1029 Spend less time managing data and more time with customers: Quick tour of Outlook Customer Manager Welly Lee
Azure Cloud Shell Magic of Modern Command-line Management
Azure SDKs and Tools for You
Do more with Microsoft Word and Office 365
Optimizing Microsoft OneDrive for the enterprise
Performing a Seamless Migration in Azure SQL DB
What a Real, Functioning DevOps Team Looks Like
Microsoft Ignite /18/2018 9:49 PM THR2226
Azure Machine Learning Algorithm Accuracy Enhancement, Tips and Tricks
Location – the next frontier in analytics
7/22/2018 9:21 PM BRK3270 Building a Better Data Solution: Microsoft SQL Server and Azure Data Services Joey D’Antoni Principal Consultant Denny Cherry.
SQL Server on Linux on All-Flash Arrays
8/6/ :17 AM THR2214 Hybrid Cloud Activated A customer case study optimizing on-premises & Azure performance and cost Mor Cohen-Tal Senior Product.
Workflow Orchestration with Adobe I/O
Customize Office 365 Search and create result sources
How we got a traditional bank collaborating across boundaries
Find, try and get line-of-business apps on Microsoft AppSource
User Group Best Practices
Build advanced PowerApps that work offline!
Azure Security in four steps
Automate all things! Microsoft Azure continuous deployment
9/14/ :46 AM BRK3293 How the Portland Trail Blazers Use Personalization and Acxiom Data to Target Customers Chris Hoder Program Manager, AI + Research.
Agile Planning with Visual Studio Team Services (VSTS)
Servicing Windows 10 in the Real World
9/22/2018 3:49 AM BRK2247 Learn from MVPs: Panel discussion on all things SharePoint and OneDrive © Microsoft Corporation. All rights reserved. MICROSOFT.
Confidence at speed: Visual Studio 2017 and your CI pipeline
Azure PowerShell Aaron Roney Senior Program Manager Cormac McCarthy
Port your AWS Knowledge to Azure
11/15/ :59 AM THR2294 Building great looking experiences with Microsoft Graph and Office UI Fabric Ben Summers Office Marketing David Lavenda Harmon.ie.
Azure SQL Database: A Guided Tour
11/22/2018 1:43 PM THR3005 How to provide business insight from your data using Azure Analysis Services Peter Myers Bitwise Solutions © Microsoft Corporation.
Continuous Delivery with Visual Studio Team Services
Azure Advisor: Optimization in the best way
Mobile Center and VSTS:​ Better together for your Mobile DevOps
11/27/2018 5:08 PM THR3057 Using a PowerShell release pipeline for a real-world service provider delivery in Microsoft Azure Niklas Åkerlund Lead Architect.
Microsoft products for non-profits
Automating security for better, continuous compliance in the cloud
Introduction to ASP.NET Core 1.0
Five cool things you can do with Windows PowerShell on Office 365
Microsoft To-Do Preview
Yammer for IT Tom Kretzmer Solutions Developer, Westinghouse THR1016
Microsoft Exchange: Through the eyes of MVPs (Panel discussion)
Overview: Dynamics 365 for Project Service Automation
Virtual Reality with Azure and Unity
Keep up with Office 365 evolution in the real world
Understand your Azure cloud assets dependencies with BMC Discovery
Surviving identity management in a hybrid world
Sami Laiho AMA - Ask Me Anything
Breaking Down the Value of A Yammer Post: 20 Things to Do
Cool Microsoft Edge Tips and Tricks
When Bad Things Happen to Good Applications
Getting the most out of Azure resources with Azure Advisor
Microsoft Cognitive Services with Power BI
“Hey Mom, I’ll Fix Your Computer”
4/21/2019 7:09 AM THR2098 Unlock New Opportunities with Nintex Hawkeye Process Intelligence and Workflow Analytics Sr. Product.
4/28/2019 3:30 AM THR1061 Learn how Dynamics 365, Office 365 and related applications work together to transform the workplace Donna Edwards Solution Architect.
Consolidate, manage, backup, and secure your cloud content
Designing Bots that Fit Your Organization
Ask the Experts: Windows 10 deployment and servicing
Passwordless Service Accounts
Azure Networking inside and out
Digital Transformation: Putting the Jigsaw Together
WCF and .NET Framework Microservices in Containers
Diagnostics and troubleshooting in Azure App Service Support Center
Optimizing your content for search and discovery
Presentation transcript:

How we connected a golf grip to the cloud 6/4/2018 5:27 PM THR2163 How we connected a golf grip to the cloud Davide Mauri Director of SW Engineering @ Sensoria © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Who Am I? Microsoft Data Platform MVP since 2006 Working with SQL Server from 6.5, on BI from 2003 Specialized in Data Solution Architecture, Database Design, Performance Tuning, High-Performance Data Warehousing, BI, Big Data Very strong developer background Loves this community! President of UGISS (Italian SQL Server UG) for 11 Years AppDev VG Leader since 2017 Regular Speaker @ SQL Server events Director SW & Cloud @ Sensoria: http://www.sensoriafitness.com/ E-mail: dm@sensoriainc.com-Twitter: @mauridb Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx

What Do We Do? Sensors Injected into IoT Garments Wearable Solutions Hardware/Firmware: Sensoria CORE Software/Platform/SDK/Cloud

Sensoria in the news

Why Are We Doing This? IoT for the Humans: “Internet Of Me” Quantify human activity Improve human performance Reduce risk of injury Golf is one of the most data-rich sport *everything counts* to make a good shot Angle, Speed, Impact, Pressure… And much more!

Instrumenting a Golf Grip It’s one of the most important thing to learn Measure how pressure is exerted on the grip is very interesting And even more try correlate the shot outcome with the recorded pressure pattern

Instrumenting a Golf Grip Sensoria Core + 8 Pressure Sensors Sensoria Core Pressure Sensor

Instrumenting a Golf Grip Sensors stream at 64Hz Each sensor has a specific calibration Data is sent to a receiver app via Bluetooth 4.0 LE Application shows real-time data

On-Premises: Data Collection Windows UWP Application Get data streamed from Sensoria Core Shows it in real time Pack it so that they can be send to Azure every second 32Hz/64Hz data cannot be streamed “as is”. Costs will be to high Data is sent real-time (if network permits) to Azure Must handle intermittent connection to Bluetooth and Internet. GUI must stay responsive

On-Premises: Data Collection Via the Sensoria SDK Sensoria Core sends streaming data Data is received in a dedicated thread Last received value is used to update GUI Received data is stored in concurrent queues ConcurrentQueue<T> Class https://msdn.microsoft.com/en-us/library/dd267265(v=vs.110).aspx

On-Premises: Data Delivery Two queues help to retain all gathered data and to handle slow internet connections Every second 64 sensors values are removed from the Receive Queue, packed into one JSON document and put in the Send Queue Every second a packed document is taken from the Send Queue and sent to Azure

On-Premises: Data Delivery Sensoria Core Data 8 Sensors 2 bytes each 64 samplings per second + additional data (Golf Club, DateTime, etc.) Received Data queue Send Data queue RealTime Every Sec Every Sec Azure

Solution Architecture Lambda Architecture http://lambda-architecture.net/

Cloud: Ingestion Event Hub takes care of data ingestion IoT could be used if you also need to send data back to the device Or if you need MQTT support Useful resource to decide which one to use: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-compare-event-hubs

Cloud: Stream Processing Processing is done using Stream Analytics Data is split in four streams with slightly different payload (in order to minimize size, by avoiding duplication) START, SWING, END EVAL EVAL contains evaluation data Evaluation is done manually by the golfer/caddie

Cloud: Serving Data is saved to a Azure SQL Database A PowerBI dashboard has been created to analyze all session at once

Cloud: Serving Data is also available to the UWP app to “Replay” the shoot

Cloud: Machine Learning Work in progress: analyze sensors data to check if a “best grip” pattern may exist Include additional external data to improve algorithm Goal: Give the golfer real-time feedback on its grip (via earbuds) VERY useful for training Performance improvement feedback in real-time on the golf course Gamification

Why Azure SQL: BEST VALUE! For the POC SQL Azure has the best feature/costs ratio, delivering great performance (sort of “battery included” solution) In-Memory features are perfect for fast data ingestion Columnstore is perfect for analytics All data was there so no need to add additional complexity to orchestrate data movements between different azure services

Future Options Other options evaluated and taken into consideration for production phase: Apache Storm Handle complex streams DocumentDB / CosmosDB quickly save raw JSON data, no matter the shape Azure SQL DW easy and faster usage of consolidated and cleaned data Historical analysis/comparison Raw Data stored in Azure Data Lake Future analysis of raw data (data science!)

Conclusions http://www.wired.co.uk/article/microsoft-data-driven-golf http://www.golfchannel.com/video/tech-spotlight-smart-grip-slope-range-finder-triton-driver/

6/4/2018 5:27 PM Thanks! © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Please evaluate this session Tech Ready 15 6/4/2018 Please evaluate this session From your Please expand notes window at bottom of slide and read. Then Delete this text box. PC or tablet: visit MyIgnite https://myignite.microsoft.com/evaluations Phone: download and use the Microsoft Ignite mobile app https://aka.ms/ignite.mobileapp Your input is important! © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

6/4/2018 5:27 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.