Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Creating a Connected Foosball Table with
Arduino, Raspberry Pi, & Salesforce!
Jeff Kimble Deloitte Digital Studio Salesfor...
•
An Idea… and the people who brought it into reality
Jeff Kimble
Deloitte Digital Studio Salesforce Lead (Solution Archit...
Project Genesis
Approach
How We Chose Arduino and Raspberry Pi
System Architecture
Connecting it all to Salesforce
Transla...
The Genesis of Project: Foozlander
Never a marketing scheme
Curious people being curious
• Didn’t know HOW, but knew we could
• Continued (and continues) to ...
Managed like a “regular” project
• Developed user stories
• JIRA: “As a foosball player, I should see the score.”
• Broke ...
Still a learning experience
• Burned out some devices
• Needed stronger documentation and wiring schematics
• Spare parts ...
Translating into Tech
From idea to inception
•
An Idea… and the people who brought it into reality
Lonnie Lee Comer
Deloitte Digital Studio Salesforce Senior (Technica...
Never Let Them See You Sweat!
Arduino
Single-task orientation
“Least capable”
Raspberry Pi
WiFi!
Linux!
Can handle many ta...
Building the (Virtual) Bridge to Salesforce
C (Arduino)
• Detect IR sensor beam break via
voltage drop
• Publishes Sensor ...
Building the (Virtual) Bridge to Salesforce
Python (Raspberry Pi)
• Calls out via REST
• Simple Salesforce Library
• Consu...
Boils Down to Three Lines of Code…
1: Import library
2: Create connection with SFDC
3: Call Web Service
Raspberry Pi Code ...
Strongest Skillset
• “We obviously got this.” – Victor “The Animal” Abraham
• Less obvious lesson: “an expert carpenter wi...
Streamline sensor data
• Sensor call is only two data points: Sensor Name, Sensor Value
• Example: Goal is Scored
Sensor N...
Next-Level Insanity
Sometimes it’s entirely appropriate to kill a fly with a sledge hammer
Novel Findings
Old table had statistically significant bias
Sun triggered false positives (environmental factors)
<<Insert...
Based on Glicko2
Uses levels of deviation
Scoring floor of 350
“Starting” score of 1500
Player Ranking
In Summary
Infrastructure
• Keep sensors and connected devices as simple as possible
• Account for growth, even if you don’t think it...
Thank you
Upcoming SlideShare
Loading in …5
×

Creating a Connected Foosball Table with Arduino, Raspberry Pi, and Salesforce

654 views

Published on

Innovations in technology and Salesforce now allow individuals to make almost any object "smart" or solve any business problem when placed in capable hands. The Salesforce Studio at Deloitte Digital wanted to make their traditional foosball table "smart enough" to track player statistics and data, ultimately creating a ranking and bracketing algorithm capable of pairing like-skilled players. Join us to see how we've combined Internet of Things technologies, such as Arduino and Raspberry Pi, with the Force.com Streaming API and web services to create automatic game scoring and data logging, and present it in a near real-time, bootstrap-enabled, HTML5 scoring page. The game doesn't stop with game play. Users can interact and report on player data and statistics through Wave and out-of-the-box Salesforce!

Published in: Technology
  • Login to see the comments

  • Be the first to like this

Creating a Connected Foosball Table with Arduino, Raspberry Pi, and Salesforce

  1. 1. Creating a Connected Foosball Table with Arduino, Raspberry Pi, & Salesforce! Jeff Kimble Deloitte Digital Studio Salesforce Lead (Solution Architect) Lonnie Lee Comer Deloitte Digital Studio Salesforce Senior (Technical Architect)
  2. 2. • An Idea… and the people who brought it into reality Jeff Kimble Deloitte Digital Studio Salesforce Lead (Solution Architect) Follow me on Twitter: @Jenkatron Jeff Kimble works with top talent and senior leadership in the Deloitte Salesforce Studio in Denver, CO to create cutting edge and innovative solutions in a best-in- breed environment. He has helped build, design, architect, and lead projects across an array of verticals. Jeff’s work with the State of Colorado at the Dept. of Transportation Division of Aeronautics won the state national acclaim. He has also worked on or architected myriad other systems for numerous other states including other Colorado departments, the State of TX, and the State of MI. Jeff has worked as a Salesforce consultant for the past four years and an architect for the previous two. Before working in the Deloitte Studio, he consulted for other leading Salesforce-specific consultancies including Vertiba and NTT Centerstance. He holds many Salesforce certifications including Administrator, Advanced Administrator, Developer, Sales Cloud Consultant, and Service Cloud Consultant and is a green belt in the Salesforce Wave Analytics Cloud. Jeff grew up just outside Cleveland, OH before joining the Army and serving on the U.S. Army Honor Guard at Arlington National Cemetery. Following his service, he attended Harvard University with a concentration in International Relations before finally landing in Denver.
  3. 3. Project Genesis Approach How We Chose Arduino and Raspberry Pi System Architecture Connecting it all to Salesforce Translating Into Real-World Business Problems Q&A Welcome!
  4. 4. The Genesis of Project: Foozlander
  5. 5. Never a marketing scheme Curious people being curious • Didn’t know HOW, but knew we could • Continued (and continues) to evolve “Wouldn’t It Be Cool if…”
  6. 6. Managed like a “regular” project • Developed user stories • JIRA: “As a foosball player, I should see the score.” • Broke them down into sprints, enhancements, and backlog • Used stories to start giving us direction and researching Break it Down!
  7. 7. Still a learning experience • Burned out some devices • Needed stronger documentation and wiring schematics • Spare parts are good parts! Other Major Lessons: • Large “immaterial” cost to physical failure • Not like coding where one can revert • Many parts have weeks of lead time But Still a Little “Wild West…”
  8. 8. Translating into Tech From idea to inception
  9. 9. • An Idea… and the people who brought it into reality Lonnie Lee Comer Deloitte Digital Studio Salesforce Senior (Technical Architect) Follow me on Twitter: @lonnieleecomer Lonnie Lee Comer is a Sr. Technical Architect in the Deloitte Digital Denver Studio. Lonnie has been in the IT industry for 19 years as a developer and architect. He has worked with the Salesforce.com platform for over 9 years and is dedicated to moving business into the cloud and beyond. Lonnie is very passionate about connected devices and using them to empower businesses to automate and enhance existing processes. Lonnie enjoys spending time with his great dane Storm and his blue heeler Lu Bear. Rock climbing, playing music, and snowboarding are other activities he enjoys when not wiring a foosball table to Salesforce.
  10. 10. Never Let Them See You Sweat! Arduino Single-task orientation “Least capable” Raspberry Pi WiFi! Linux! Can handle many tasks Still kinda slow… Know your limits and play to your strengths IR and RFID Sensors
  11. 11. Building the (Virtual) Bridge to Salesforce C (Arduino) • Detect IR sensor beam break via voltage drop • Publishes Sensor Data via General Purpose Input Output (GPIO) Know your limits and play to your strengths
  12. 12. Building the (Virtual) Bridge to Salesforce Python (Raspberry Pi) • Calls out via REST • Simple Salesforce Library • Consumes GPIO for Arduino • NFC Library for RFID Know your limits and play to your strengths
  13. 13. Boils Down to Three Lines of Code… 1: Import library 2: Create connection with SFDC 3: Call Web Service Raspberry Pi Code Written in Python 1: Import library ## Import simple_salesforce library from simple_salesforce import Salesforce 2: Create connection with SFDC ## Setup the SFDC Connection sf = Salesforce(username=uname, password=pwd, security_token=tkn,Sandbox=True) 3: Call Web Service ##sf.Goal__c.create({'Name':'GoalTeam1','Foosball_Match__c':matchId,'Team__c':team1Id}) sf.Sensor_Data__c.create({'Table_Id__c':tableId,'Sensor_Id__c':’Black’,'Sensor_Value__c':'1'})
  14. 14. Strongest Skillset • “We obviously got this.” – Victor “The Animal” Abraham • Less obvious lesson: “an expert carpenter with a decent hammer can build a better boat than a rookie carpenter with best hammer money can buy” More computing power at scale • Heavy lifting offloaded • Adding sensors and more calls out has less impact on hardware setup Turns out we know a few SFDC developers… …So Make Salesforce Do It!
  15. 15. Streamline sensor data • Sensor call is only two data points: Sensor Name, Sensor Value • Example: Goal is Scored Sensor Name: BlackGoal SensorValue: 1 • Can be anything! (Name: DeliveryProdLineFault & Value: 1; Name: SpinDetector & Value: 1) Weigh Function Against Complexity • Streaming API = “realtime scoring” • Single daily batch call simpler when applicable Always “Think Big” when developing system architecture Stay Three Steps Ahead of the Other Guy!
  16. 16. Next-Level Insanity Sometimes it’s entirely appropriate to kill a fly with a sledge hammer
  17. 17. Novel Findings Old table had statistically significant bias Sun triggered false positives (environmental factors) <<Insert graphs from Wave>> Visualizing Player Data using Wave Analytics Cloud
  18. 18. Based on Glicko2 Uses levels of deviation Scoring floor of 350 “Starting” score of 1500 Player Ranking
  19. 19. In Summary
  20. 20. Infrastructure • Keep sensors and connected devices as simple as possible • Account for growth, even if you don’t think it will happen Play to Your Strengths • Use your skills to break down new concepts into manageable pieces • Offload heavy lifting to SFDC Think Bigger • Basic understanding opens understanding for a vast array of connected devices • Never stop questioning, you’ll be surprised what you find! In Summary…
  21. 21. Thank you

×