SlideShare a Scribd company logo
1 of 21
Download to read offline
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)
•
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.
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!
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 evolve
“Wouldn’t It Be Cool if…”
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!
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…”
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 (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.
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
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
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
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'})
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!
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!
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 graphs from Wave>>
Visualizing Player Data using Wave Analytics Cloud
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 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…
Thank you

More Related Content

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

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
Devopsdays
 
Atlogys Recruitment Presentation
Atlogys Recruitment PresentationAtlogys Recruitment Presentation
Atlogys Recruitment Presentation
Pooja Das
 

Similar to Creating a Connected Foosball Table with Arduino, Raspberry Pi, and Salesforce (20)

AI Technology Overview and Career Advice
AI Technology Overview and Career AdviceAI Technology Overview and Career Advice
AI Technology Overview and Career Advice
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final Frontier
 
Elements of Connected Products
Elements of Connected ProductsElements of Connected Products
Elements of Connected Products
 
Banking on Innovation and DevOps
Banking on Innovation and DevOpsBanking on Innovation and DevOps
Banking on Innovation and DevOps
 
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
 
Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11
 
MLOps for living: Infrastructure-as-Code on AWS
MLOps for living: Infrastructure-as-Code on AWSMLOps for living: Infrastructure-as-Code on AWS
MLOps for living: Infrastructure-as-Code on AWS
 
Large Scale Data Management
Large Scale Data ManagementLarge Scale Data Management
Large Scale Data Management
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Atlogys Recruitment Presentation
Atlogys Recruitment PresentationAtlogys Recruitment Presentation
Atlogys Recruitment Presentation
 
DevSecOps with Microsoft Tech
DevSecOps with Microsoft TechDevSecOps with Microsoft Tech
DevSecOps with Microsoft Tech
 
The software evolution hasn't happened yet
The software evolution hasn't happened yetThe software evolution hasn't happened yet
The software evolution hasn't happened yet
 
The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerThe iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developer
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as Code
 
FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)
 
DevOps and the Future of InfoSec
DevOps and the Future of InfoSecDevOps and the Future of InfoSec
DevOps and the Future of InfoSec
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Hacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreHacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT Core
 

More from Salesforce Developers

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

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

  • 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. • 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. 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. The Genesis of Project: Foozlander
  • 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. 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. 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. Translating into Tech From idea to inception
  • 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. 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. 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. 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. 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. 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. 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. Next-Level Insanity Sometimes it’s entirely appropriate to kill a fly with a sledge hammer
  • 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. Based on Glicko2 Uses levels of deviation Scoring floor of 350 “Starting” score of 1500 Player Ranking
  • 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…